Advertisement
Guest User

Untitled

a guest
Sep 24th, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.84 KB | None | 0 0
  1. package easydo.ithebk.listener;
  2.  
  3. import android.content.Context;
  4. import android.support.annotation.NonNull;
  5.  
  6. import com.google.firebase.remoteconfig.FirebaseRemoteConfig;
  7.  
  8. import easydo.ithebk.BuildConfig;
  9. import easydo.ithebk.util.Utility;
  10.  
  11. /**
  12. * Created by bharath on 8/5/17.
  13. */
  14.  
  15. public class ForceUpdateChecker {
  16.  
  17. private static final String TAG = ForceUpdateChecker.class.getSimpleName();
  18. public static final String KEY_UPDATE_REQUIRED = "force_update_required";
  19. public static final String KEY_APP_VERSION_CODE = "google_play_app_version_code";
  20. public static final String KEY_PLAY_WHATS_NEW_TEXT = "play_whats_new_text";
  21.  
  22. private OnUpdateNeededListener onUpdateNeededListener;
  23. private Context context;
  24.  
  25. public interface OnUpdateNeededListener {
  26. void onUpdateNeeded(String updateUrl);
  27. }
  28.  
  29. public static Builder with(@NonNull Context context) {
  30. return new Builder(context);
  31. }
  32.  
  33. public ForceUpdateChecker(@NonNull Context context,
  34. OnUpdateNeededListener onUpdateNeededListener) {
  35. this.context = context;
  36. this.onUpdateNeededListener = onUpdateNeededListener;
  37. }
  38.  
  39. public void check() {
  40. final FirebaseRemoteConfig remoteConfig = FirebaseRemoteConfig.getInstance();
  41. if (remoteConfig.getBoolean(KEY_UPDATE_REQUIRED)) {
  42. String playStoreVersionConfig = remoteConfig.getString(KEY_APP_VERSION_CODE);
  43. int appVersion = BuildConfig.VERSION_CODE;
  44. String whatsNew = remoteConfig.getString(KEY_PLAY_WHATS_NEW_TEXT);;
  45. int playStoreVersion;
  46. try {
  47. playStoreVersion = Integer.parseInt(playStoreVersionConfig);
  48. }
  49. catch (NumberFormatException e){
  50. playStoreVersion = 0;
  51. }
  52. Utility.printLn("playStoreVersion version:" + playStoreVersion);
  53. Utility.printLn("App version:" + appVersion);
  54. if (playStoreVersion!=0&&playStoreVersion>appVersion
  55. && onUpdateNeededListener != null) {
  56. onUpdateNeededListener.onUpdateNeeded(whatsNew);
  57. }
  58. }
  59.  
  60. }
  61.  
  62.  
  63. public static class Builder {
  64.  
  65. private Context context;
  66. private OnUpdateNeededListener onUpdateNeededListener;
  67.  
  68. public Builder(Context context) {
  69. this.context = context;
  70. }
  71.  
  72. public Builder onUpdateNeeded(OnUpdateNeededListener onUpdateNeededListener) {
  73. this.onUpdateNeededListener = onUpdateNeededListener;
  74. return this;
  75. }
  76.  
  77. public ForceUpdateChecker build() {
  78. return new ForceUpdateChecker(context, onUpdateNeededListener);
  79. }
  80.  
  81. public ForceUpdateChecker check() {
  82. ForceUpdateChecker forceUpdateChecker = build();
  83. forceUpdateChecker.check();
  84.  
  85. return forceUpdateChecker;
  86. }
  87. }
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement