瀏覽代碼

Merge branch 'develop' of https://github.com/swict/LifePlusAndroid into develop

hyodong.min 7 年之前
父節點
當前提交
f3c0876a3e

+ 15 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/model/LifeplusPreferences.java

@@ -30,6 +30,7 @@ public class LifeplusPreferences {
   public final static String PUSH_ENABLED = "push_enabled";
   public final static String PUSH_MARKETING_ENABLED = "push_marketing_enabled";
   public final static String LOCATION_SERVICE_ENABLED = "location_service_enabled";
+  public final static String COUNT_FOR_REVIEW = "count_for_review";
 
 
   /**
@@ -173,7 +174,7 @@ public class LifeplusPreferences {
     preferences.put(PUSH_ENABLED, isEnabled);
   }
 
-  public boolean isPushEnabeld() {
+  public boolean isPushEnabled() {
     return preferences.get(PUSH_ENABLED, false);
   }
 
@@ -186,7 +187,7 @@ public class LifeplusPreferences {
     preferences.put(PUSH_MARKETING_ENABLED, isEnabled);
   }
 
-  public boolean isPushMarketingEnabeld() {
+  public boolean isPushMarketingEnabled() {
     return preferences.get(PUSH_MARKETING_ENABLED, false);
   }
 
@@ -202,4 +203,16 @@ public class LifeplusPreferences {
   public boolean isLocationServiceEnabled() {
     return preferences.get(LOCATION_SERVICE_ENABLED, false);
   }
+
+  /**
+   * 리뷰 다이얼로그 표시용 카운트
+   *
+   * @param count
+   */
+  public void setCountForReview(int count) {
+    preferences.put(COUNT_FOR_REVIEW, count);
+  }
+  public int getCountForReview() {
+    return preferences.get(COUNT_FOR_REVIEW, 0);
+  }
 }

+ 5 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/model/SuperModel.java

@@ -81,8 +81,13 @@ public final class SuperModel {
     setUserName("");
     setUserEmail("");
     setToken("");
+
     getPreferences().setEncryptedPin("");
     getPreferences().setAutoUnlock(true);
+    getPreferences().setCountForReview(0);
+    getPreferences().setPushEnabled(false);
+    getPreferences().setPushMarketingEnabled(false);
+    getPreferences().setLocationServiceEnabled(false);
 
     memberStatus = 0;
   }

+ 4 - 3
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/contents/ContentsFragment.java

@@ -3,6 +3,7 @@
  */
 package kr.co.zumo.app.lifeplus.view.screen.contents;
 
+import android.content.ActivityNotFoundException;
 import android.content.Intent;
 import android.net.Uri;
 import android.os.Bundle;
@@ -15,10 +16,10 @@ import android.webkit.WebView;
 import android.webkit.WebViewClient;
 
 import kr.co.zumo.app.R;
-import kr.co.zumo.app.lifeplus.application.App;
 import kr.co.zumo.app.lifeplus.bean.ContentsBean;
 import kr.co.zumo.app.lifeplus.helper.ActionBarHelper;
 import kr.co.zumo.app.lifeplus.helper.DeliveryHelper;
+import kr.co.zumo.app.lifeplus.util.AppUtil;
 import kr.co.zumo.app.lifeplus.view.screen.FragmentBase;
 
 /**
@@ -94,10 +95,10 @@ public class ContentsFragment extends FragmentBase<ContentsPresenter> implements
 
   @Override
   public void goGooglePlay() {
-    String appPackageName = App.getInstance().getPackageName();
+    String appPackageName = AppUtil.getPackageName();
     try {
       startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName)));
-    } catch (android.content.ActivityNotFoundException anfe) {
+    } catch (ActivityNotFoundException e) {
       startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + appPackageName)));
     }
   }

+ 9 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/contents/ContentsModel.java

@@ -4,6 +4,7 @@
 package kr.co.zumo.app.lifeplus.view.screen.contents;
 
 import kr.co.zumo.app.lifeplus.model.Model;
+import kr.co.zumo.app.lifeplus.model.SuperModel;
 
 /**
  * ContentsModel
@@ -40,4 +41,12 @@ public class ContentsModel extends Model {
   protected void pauseInternal() {
 
   }
+
+  public int getCountForReview() {
+    return SuperModel.getInstance().getPreferences().getCountForReview();
+  }
+
+  public void setCountForReview(int count) {
+    SuperModel.getInstance().getPreferences().setCountForReview(count);
+  }
 }

+ 33 - 22
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/contents/ContentsPresenter.java

@@ -33,7 +33,10 @@ public class ContentsPresenter extends Presenter<ContentsModel, IContentsView> {
 
   @Override
   protected void destroyInternal() {
-
+    if (null != reviewDialog) {
+      reviewDialog.dispose();
+      reviewDialog = null;
+    }
   }
 
   @Override
@@ -74,26 +77,34 @@ public class ContentsPresenter extends Presenter<ContentsModel, IContentsView> {
 
   @Override
   public void onScreenReady() {
-    reviewDialog = new DialogBuilder<AppReviewDialog, ICustomDialogListener>(DialogID.APP_REVIEW)
-      .listener(new ICustomDialogListener<AppReviewDialog>() {
-        @Override
-        public void onDialogResult(AppReviewDialog dialog, Event event) {
-          switch (event.getEventId()) {
-            case Event.ADD:
-              view.goGooglePlay();
-              break;
-            default:
-              break;
-          }
-        }
-
-        @Override
-        public void onDialogCanceled(AppReviewDialog dialog) {
-            dialog.dispose();
-        }
-      })
-      .attribute((IAttribute<AppReviewDialog>) dialog -> {
-      })
-      .show();
+    int count = model.getCountForReview();
+    if (count < 100) {
+      ++count;
+      model.setCountForReview(count);
+      if (count == 3) {
+        model.setCountForReview(100);
+        reviewDialog = new DialogBuilder<AppReviewDialog, ICustomDialogListener>(DialogID.APP_REVIEW)
+          .listener(new ICustomDialogListener<AppReviewDialog>() {
+            @Override
+            public void onDialogResult(AppReviewDialog dialog, Event event) {
+              switch (event.getEventId()) {
+                case Event.ADD:
+                  view.goGooglePlay();
+                  break;
+                default:
+                  break;
+              }
+            }
+
+            @Override
+            public void onDialogCanceled(AppReviewDialog dialog) {
+              dialog.dispose();
+            }
+          })
+          .attribute((IAttribute<AppReviewDialog>) dialog -> {
+          })
+          .show();
+      }
+    }
   }
 }

+ 1 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/faq/FAQWriteModel.java

@@ -200,7 +200,7 @@ public class FAQWriteModel extends Model {
    * @return
    */
   public boolean isPushEnabled() {
-    return SuperModel.getInstance().getPreferences().isPushEnabeld();
+    return SuperModel.getInstance().getPreferences().isPushEnabled();
   }
 
   public void setPushEnabled(boolean isEnabled) {

+ 2 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/setting/SettingModel.java

@@ -259,7 +259,7 @@ public class SettingModel extends Model {
    * @return
    */
   public boolean isPushEnabled() {
-    return SuperModel.getInstance().getPreferences().isPushEnabeld();
+    return SuperModel.getInstance().getPreferences().isPushEnabled();
   }
 
   public void setPushEnabled(boolean isEnabled) {
@@ -306,7 +306,7 @@ public class SettingModel extends Model {
    * @return
    */
   public boolean isPushMarketingEnabled() {
-    return SuperModel.getInstance().getPreferences().isPushMarketingEnabeld();
+    return SuperModel.getInstance().getPreferences().isPushMarketingEnabled();
   }
 
   public void setPushMarketingEnabled(boolean isEnabled) {