Forráskód Böngészése

[공통][Common] refactoring

hyodong.min 6 éve
szülő
commit
0a8a412860

+ 0 - 1
app/src/dev/java/kr/co/zumo/app/lifeplus/view/screen/splash/SplashFragment.java

@@ -182,7 +182,6 @@ public class SplashFragment extends SplashDebugFragment {
   @Deprecated
   private void clearData() {
     SuperModel.getInstance().getPreferences().setZumoUserNo("");
-    SuperModel.getInstance().getPreferences().setZumoUserUpdateCompleted(false);
     SuperModel.getInstance().clearMemberData();
 
     // helpers...

+ 7 - 30
app/src/main/java/kr/co/zumo/app/lifeplus/model/LifeplusPreferences.java

@@ -20,20 +20,17 @@ import kr.co.zumo.app.lifeplus.util.StringUtil;
 public class LifeplusPreferences {
   private BaseSharedPreferences preferences;
 
-//    final static String ENCRYPTION_USER_NO = "encryption_user_no";    // 앱 업데이트/신규 체크에 사용.
-    final static String ZUMO_USER_NO = "user_number";    // 앱 업데이트/신규 체크에 사용.
-  private final static String ZUMO_USER_UPDATE_COMPLETED = "zumo_user_update_completed";
+  //    final static String ENCRYPTION_USER_NO = "encryption_user_no";    // 앱 업데이트/신규 체크에 사용.
+  private final static String ZUMO_USER_NO = "user_number";    // 앱 업데이트/신규 체크에 사용.
   private final static String ZUMO_USER_NO_UPDATE = "zumo_user_no_update";
   private final static String USER_NO = "user_no"; //"user_id"; // zumo 1.0 에서 사용하는 키를 그대로 이용한다.
   private final static String ON_BOARDING_DONE = "on_boarding_done";
   private final static String PERMISSION_INFO_DONE = "permission_info_done";
   private final static String DEVICE_UUID = "device_uuid";
   private final static String ENCRYPTED_PIN = "encrypted_pin";
- // private final static String PUSH_EVENT_ENABLED = "push_marketing_enabled";
   private final static String PUSH_EVENT_SERVICE_ENABLED = "push_enabled";
   private final static String POLICY_EVENT_ENABLED = "push_marketing_enabled";
   private final static String LOCATION_SERVICE_ENABLED = "location_service_enabled";
-  //  private final static String COUNT_FOR_REVIEW_STRING = "count_for_review_string";
   private final static String DEBUG_TARGET = "debug_target";
   private final static String TUTORIAL_LISTICLE_DONE = "tutorial_listicle_done";
   private final static String TUTORIAL_BUCKET_LIST_DETAIL_DONE = "tutorial_bucket_list_detail_done";
@@ -78,18 +75,10 @@ public class LifeplusPreferences {
   }
 
   /**
-   * 이전 앱 (Zumo) 에서 업데이트(전환 가입) 완료 했음
+   * 가능하다면 주모의 userNo 를 가져온다.
    */
-  public void setZumoUserUpdateCompleted(boolean isCompleted) {
-    preferences.put(ZUMO_USER_UPDATE_COMPLETED, isCompleted);
-  }
-
-  public boolean isZumoUserUpdateCompleted() {
-    return preferences.get(ZUMO_USER_UPDATE_COMPLETED, false);
-  }
-
-  public void getZumoUserNoOnce() {
-    if(StringUtil.isFull(getZumoUserNo()) && preferences.get(ZUMO_USER_NO_UPDATE, false) == false) {
+  public void fetchUserNoOfZumo() {
+    if (StringUtil.isFull(getZumoUserNo()) && preferences.get(ZUMO_USER_NO_UPDATE, false) == false) {
       setUserNo(getZumoUserNo());
     }
     preferences.put(ZUMO_USER_NO_UPDATE, true);
@@ -201,29 +190,18 @@ public class LifeplusPreferences {
     return preferences.get(LOCATION_SERVICE_ENABLED, false);
   }
 
-  /**
-   * 리뷰 다이얼로그 표시용 카운트
-   *
-   * @param dates 180929|180930|181001
-   */
-//  public void setCountForReview(String dates) {
-//    preferences.put(COUNT_FOR_REVIEW_STRING, dates);
-//  }
-
-//  public String getCountForReview() {
-//    return preferences.get(COUNT_FOR_REVIEW_STRING, "");
-//  }
-
   /**
    * 디버그 서버 타겟 지정
    * - 개발 서버/ 운영 서버를 선택
    *
    * @param target
    */
+  @Deprecated
   public void setDebugTarget(String target) {
     preferences.put(DEBUG_TARGET, target);
   }
 
+  @Deprecated
   public String getDebugTarget(String defaultString) {
     if (null == defaultString) {
       defaultString = "";
@@ -350,7 +328,6 @@ public class LifeplusPreferences {
    * - 일부 설정은 리셋되지 않는다.
    */
   public void reset() {
-//    setCountForReview("");
     setPushEventAndServiceEnabled(false);
     setPolicyMarketingEnabled(false);
     setLocationServiceEnabled(false);

+ 2 - 21
app/src/main/java/kr/co/zumo/app/lifeplus/model/Model.java

@@ -76,7 +76,7 @@ public abstract class Model extends ViewModel implements ILifeCycle, IHelperProv
    * 네트워크의 연결 상태를 감시한다.
    * 변동이 있을 때 presenter 로 알려준다.
    */
-  protected void watchNetwork() {
+  private void watchNetwork() {
     Log.w("APP# Model | watchNetwork", "| " + this.getClass().getSimpleName() + " - Start network watching............");
     networkDisposable =
       new NetworkWatcher().watch(App.getInstance().getContext())
@@ -166,26 +166,7 @@ public abstract class Model extends ViewModel implements ILifeCycle, IHelperProv
    */
   public boolean isUpdateUser() {
     LifeplusPreferences preferences = getPreferences();
-    return StringUtil.isFull(preferences.getZumoUserNo()) && preferences.isZumoUserUpdateCompleted() == false;
-  }
-
-  /**
-   * 멤버/게스트 확인
-   * - 블럭/휴면 계정도 비회원으로 처리됨.
-   *
-   * @return
-   */
-  public boolean isActiveMember() {
-    return SuperModel.getInstance().isActiveMember();
-  }
-
-  /**
-   * 회원 가입했는지 확인
-   *
-   * @return
-   */
-  public boolean isJoined() {
-    return SuperModel.getInstance().isJoined();
+    return StringUtil.isFull(preferences.getZumoUserNo());
   }
 
   /**

+ 18 - 22
app/src/main/java/kr/co/zumo/app/lifeplus/model/SuperModel.java

@@ -3,10 +3,8 @@
  */
 package kr.co.zumo.app.lifeplus.model;
 
-import android.preference.PreferenceManager;
 import android.util.Log;
 
-import kr.co.zumo.app.lifeplus.application.App;
 import kr.co.zumo.app.lifeplus.util.StringUtil;
 
 /**
@@ -36,16 +34,8 @@ public final class SuperModel {
 
   private boolean isAppInitialized = false;
 
-  public boolean isAppInitialized() {
-    return isAppInitialized;
-  }
-
   private boolean hasPreferences = false;
 
-  public boolean hasPreferences() {
-    return hasPreferences;
-  }
-
   private String deviceUuid;
   private String userNo;
   private String userName;
@@ -69,6 +59,24 @@ public final class SuperModel {
     Log.d("APP# SuperModel | init", "|" + "-------------------------------- init");
   }
 
+  /**
+   * 앱 구동 중임을 확인
+   *
+   * @return
+   */
+  public boolean isAppInitialized() {
+    return isAppInitialized;
+  }
+
+  /**
+   * 프리퍼런스 설정 확인
+   *
+   * @return
+   */
+  public boolean hasPreferences() {
+    return hasPreferences;
+  }
+
   /**
    * 프리퍼런스 지정
    *
@@ -120,9 +128,6 @@ public final class SuperModel {
    * @return LifeplusPreferences 객체
    */
   public LifeplusPreferences getPreferences() {
-    if(null == preferences) {
-      setPreferences(new LifeplusPreferences(new BaseSharedPreferences(PreferenceManager.getDefaultSharedPreferences(App.getInstance().getContext()))));
-    }
     return preferences;
   }
 
@@ -212,15 +217,6 @@ public final class SuperModel {
     preferences.setUserEmail(userEmail);
   }
 
-  /**
-   * 회원 가입했는지 확인
-   *
-   * @return
-   */
-  public boolean isJoined() {
-    return StringUtil.isFull(getUserNo());
-  }
-
 
   /**
    * 활성 상태의 회원인지 판단.

+ 7 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/model/SuperModelInit.java

@@ -8,6 +8,7 @@ import android.preference.PreferenceManager;
 
 import kr.co.zumo.app.lifeplus.config.NetworkConfigProvider;
 import kr.co.zumo.app.lifeplus.util.AppUtil;
+import kr.co.zumo.app.lifeplus.util.StringUtil;
 
 /**
  * SuperModelInit
@@ -39,7 +40,13 @@ public class SuperModelInit {
   public static void instant(Context context) {
     if (SuperModel.getInstance().hasPreferences() == false) {
       SuperModel.getInstance().setPreferences(new LifeplusPreferences(new BaseSharedPreferences(PreferenceManager.getDefaultSharedPreferences(context))));
+    }
+
+    if (StringUtil.isEmpty(SuperModel.getInstance().getDeviceId())) {
       SuperModel.getInstance().setDeviceId(AppUtil.getDeviceId(context));
+    }
+
+    if (null == NetworkConfigProvider.getNetworkConfig()) {
       NetworkConfigProvider.init();
     }
   }

+ 2 - 3
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/splash/SplashDebugPresenter.java

@@ -68,9 +68,8 @@ public class SplashDebugPresenter extends ScreenStarterPresenter<SplashModel, IS
   @Override
   protected void startInternalOnce() {
     // 주모 유저넘버 업데이트
-    if(SuperModel.getInstance() != null && SuperModel.getInstance().getPreferences() != null) {
-      SuperModel.getInstance().getPreferences().getZumoUserNoOnce();
-    }
+    SuperModelInit.instant(App.getInstance().getContext());
+    SuperModel.getInstance().getPreferences().fetchUserNoOfZumo();
 
     // 최초 실행 기준 1회 사용자에게 관련 권한 내용 고지
     // 권한 내용 고지 완료 후 퍼미션 확인 프로세스 진행

+ 0 - 6
app/src/test/java/kr/co/zumo/app/lifeplus/view/presenter/AllMenuEventDelegateTest.java

@@ -79,7 +79,6 @@ public class AllMenuEventDelegateTest {
   public void onMenuEvent2() throws Exception {
 
     // 회원 버킷 리스트
-    when(model.isJoined()).thenReturn(true);
 
     // 현재 화면: 베스트 버킷
     when(model.getScreenId()).thenReturn(ScreenID.BUCKET_BEST);
@@ -100,7 +99,6 @@ public class AllMenuEventDelegateTest {
   public void onMenuEvent3() throws Exception {
 
     // 회원 버킷 리스트
-    when(model.isJoined()).thenReturn(true);
 
     // 현재 화면: main
     when(model.getScreenId()).thenReturn(ScreenID.MAIN);
@@ -128,7 +126,6 @@ public class AllMenuEventDelegateTest {
   public void onMenuEvent4() throws Exception {
 
     // 회원 버킷 리스트
-    when(model.isJoined()).thenReturn(true);
 
     // 현재 화면: main
     when(model.getScreenId()).thenReturn(ScreenID.MAIN);
@@ -156,7 +153,6 @@ public class AllMenuEventDelegateTest {
   public void onMenuEvent5() throws Exception {
 
     // 회원 버킷 리스트
-    when(model.isJoined()).thenReturn(true);
 
     // 현재 화면: MY_BUCKET_LIST
     when(model.getScreenId()).thenReturn(ScreenID.MY_BUCKET_LIST);
@@ -178,7 +174,6 @@ public class AllMenuEventDelegateTest {
   public void onMenuEvent8() throws Exception {
 
     // 회원 북마크
-    when(model.isJoined()).thenReturn(true);
 
     // 현재 화면: 메인
     when(model.getScreenId()).thenReturn(ScreenID.MAIN);
@@ -200,7 +195,6 @@ public class AllMenuEventDelegateTest {
   public void onMenuEvent9() throws Exception {
 
     // 회원 북마크
-    when(model.isJoined()).thenReturn(true);
 
     // 현재 화면: 메인
     when(model.getScreenId()).thenReturn(ScreenID.MAIN);