Browse Source

[주모][New] 로그아웃 처리

hyodong.min 6 years ago
parent
commit
9a742b22a3

+ 1 - 3
app/src/dev/java/kr/co/zumo/app/lifeplus/view/screen/main/MainFragment.java

@@ -22,11 +22,9 @@ import kr.co.zumo.app.lifeplus.bean.api.RequestBean;
 import kr.co.zumo.app.lifeplus.config.DebugConfig;
 import kr.co.zumo.app.lifeplus.model.SuperModel;
 import kr.co.zumo.app.lifeplus.model.module.APIError;
-import kr.co.zumo.app.lifeplus.model.module.APIGuestModule;
 import kr.co.zumo.app.lifeplus.model.module.APILoginStatusMapper;
 import kr.co.zumo.app.lifeplus.model.module.APIMemberSelectModule;
 import kr.co.zumo.app.lifeplus.model.module.APIModuleListener;
-import kr.co.zumo.app.lifeplus.model.module.APIModuleSimpleListener;
 import kr.co.zumo.app.lifeplus.util.AppUtil;
 import kr.co.zumo.app.lifeplus.util.StringUtil;
 import kr.co.zumo.app.lifeplus.view.command.ExitCommand;
@@ -168,7 +166,7 @@ public class MainFragment extends MainDebugFragment implements IMainView {
 
     renderDebug();
 
-    new APIGuestModule().call(new RequestBean(), new APIModuleSimpleListener<>());
+    AppInitializer.logout();
   }
 
   @Deprecated

+ 16 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/activity/AppInitializer.java

@@ -88,4 +88,20 @@ public class AppInitializer {
 
     Log.d("APP# AppInitializer | disposeHelpers", "|" + " ******************************************************************** disposed *");
   }
+
+  /**
+   * logout
+   */
+  public static void logout() {
+
+    // model renew
+    SuperModel.getInstance().renewMemberData();
+
+    // to guest setting
+    ContentsFlagHelper.getInstance().dispose();
+    ContentsFlagHelper.getInstance().load().subscribe();
+
+    // member info
+    MemberInfoModelHelper.getInstance().dispose();
+  }
 }

+ 0 - 6
app/src/main/java/kr/co/zumo/app/lifeplus/activity/ScreenStarter.java

@@ -14,9 +14,7 @@ import kr.co.zumo.app.lifeplus.bean.api.RequestBean;
 import kr.co.zumo.app.lifeplus.model.LifeplusPreferences;
 import kr.co.zumo.app.lifeplus.model.SuperModel;
 import kr.co.zumo.app.lifeplus.model.module.APIError;
-import kr.co.zumo.app.lifeplus.model.module.APIGuestModule;
 import kr.co.zumo.app.lifeplus.model.module.APIModuleListener;
-import kr.co.zumo.app.lifeplus.model.module.APIModuleSimpleListener;
 import kr.co.zumo.app.lifeplus.model.module.APIPopupLoadModule;
 import kr.co.zumo.app.lifeplus.supervisor.ActivityDeliveryHelper;
 import kr.co.zumo.app.lifeplus.util.StringUtil;
@@ -95,11 +93,7 @@ public class ScreenStarter {
   }
 
   private void doGuestAction() {
-
-    // 로컬에서 좋아요 등 정보를 가져오기 위해서 로딩 실행
-    disposable = new APIGuestModule().call(new RequestBean(), new APIModuleSimpleListener<>());
     gotoScreen(SCREEN_SIGN_UP);
-
   }
 
   private void loadPopupInfo() {

+ 0 - 36
app/src/main/java/kr/co/zumo/app/lifeplus/model/module/APIGuestModule.java

@@ -1,36 +0,0 @@
-/*
- * COPYRIGHT (c) 2018 All rights reserved by HANWHA LIFE.
- */
-package kr.co.zumo.app.lifeplus.model.module;
-
-import android.util.Log;
-
-import io.reactivex.Single;
-import kr.co.zumo.app.lifeplus.bean.api.LifeplusAPIBean;
-import kr.co.zumo.app.lifeplus.bean.api.RequestBean;
-import kr.co.zumo.app.lifeplus.supervisor.ContentsFlagHelper;
-
-/**
- * APIGuestModule
- * - 회원 탈퇴 등의 이유로 비회원 설정을 위한 모듈
- * <pre>
- * </pre>
- *
- * @author 민효동
- * @version 1.0
- * @history 민효동   [2018. 10. 12.]   [최초 작성]
- * @since 2018. 10. 12.
- */
-public class APIGuestModule extends LifeplusAPIModule<RequestBean, LifeplusAPIBean> {
-  @Override
-  protected Single<LifeplusAPIBean> getAPI(RequestBean requestBean) {
-    // logout
-    Log.d("APP# APIGuestModule | getAPI", "|" + " ________________________________ to guest");
-
-    // to guest setting
-    ContentsFlagHelper.getInstance().dispose();
-    ContentsFlagHelper.getInstance().load().subscribe();
-
-    return Single.fromCallable(() -> new LifeplusAPIBean(LifeplusAPIBean.RETURN_SUCCESS, ""));
-  }
-}

+ 36 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/model/module/APILogoutModule.java

@@ -0,0 +1,36 @@
+/*
+ * COPYRIGHT (c) 2018 All rights reserved by HANWHA LIFE.
+ */
+package kr.co.zumo.app.lifeplus.model.module;
+
+import android.util.Log;
+
+import io.reactivex.Single;
+import kr.co.zumo.app.lifeplus.activity.AppInitializer;
+import kr.co.zumo.app.lifeplus.bean.api.LifeplusAPIBean;
+import kr.co.zumo.app.lifeplus.bean.api.RequestBean;
+
+/**
+ * APILogoutModule
+ * <pre>
+ * </pre>
+ *
+ * @author 민효동
+ * @version 1.0
+ * @history 민효동   [2018. 10. 12.]   [최초 작성]
+ * @since 2018. 10. 12.
+ */
+public class APILogoutModule extends LifeplusAPIModule<RequestBean, LifeplusAPIBean> {
+  @Override
+  protected Single<LifeplusAPIBean> getAPI(RequestBean requestBean) {
+    // logout
+    Log.d("APP# APILogoutModule | getAPI", "|" + " ________________________________ logout");
+
+    return Single.fromCallable(() -> {
+
+      AppInitializer.logout();
+
+      return new LifeplusAPIBean(LifeplusAPIBean.RETURN_SUCCESS, "");
+    });
+  }
+}

+ 12 - 8
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/setting/member/SettingMemberInfoModel.java

@@ -15,12 +15,10 @@ import kr.co.zumo.app.lifeplus.bean.api.PolicyNumberBean;
 import kr.co.zumo.app.lifeplus.bean.api.PolicyResultBean;
 import kr.co.zumo.app.lifeplus.bean.api.RequestBean;
 import kr.co.zumo.app.lifeplus.model.Model;
-import kr.co.zumo.app.lifeplus.model.SuperModel;
 import kr.co.zumo.app.lifeplus.model.module.APIError;
-import kr.co.zumo.app.lifeplus.model.module.APIGuestModule;
+import kr.co.zumo.app.lifeplus.model.module.APILogoutModule;
 import kr.co.zumo.app.lifeplus.model.module.APIMemberPolicyUpdateModule;
 import kr.co.zumo.app.lifeplus.model.module.APIModuleListener;
-import kr.co.zumo.app.lifeplus.model.module.APIModuleSimpleListener;
 import kr.co.zumo.app.lifeplus.model.module.APIPolicyDetailModule;
 import kr.co.zumo.app.lifeplus.model.verify.Verifier;
 import kr.co.zumo.app.lifeplus.view.Event;
@@ -342,11 +340,17 @@ public class SettingMemberInfoModel extends Model {
    * @param runnable
    */
   public void logout(Runnable runnable) {
-    // todo api logout
-
-    SuperModel.getInstance().clearMemberData();
     // 로그아웃 처리
-    new APIGuestModule().call(new RequestBean(), new APIModuleSimpleListener<>());
-    runnable.run();
+    new APILogoutModule().call(new RequestBean(), new APIModuleListener<LifeplusAPIBean>() {
+      @Override
+      public void onApiSuccess(LifeplusAPIBean resultBean) {
+        runnable.run();
+      }
+
+      @Override
+      public void onApiError(String errorMessage, APIError error) {
+        onResult(new Event.Builder(Event.ERROR).string(errorMessage).build());
+      }
+    });
   }
 }

+ 3 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/setting/member/SettingMemberInfoPresenter.java

@@ -129,6 +129,9 @@ public class SettingMemberInfoPresenter extends Presenter<SettingMemberInfoModel
           boolean isChecked = event.getBool();
           view.setPolicyCheckAt(index, !isChecked);
         }
+        else {
+          showErrorDialog(event.getString());
+        }
         break;
       default:
         break;

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

@@ -4,16 +4,14 @@
 package kr.co.zumo.app.lifeplus.view.screen.setting.member;
 
 import io.reactivex.disposables.Disposable;
+import kr.co.zumo.app.lifeplus.activity.AppInitializer;
 import kr.co.zumo.app.lifeplus.bean.api.LifeplusAPIBean;
-import kr.co.zumo.app.lifeplus.bean.api.RequestBean;
 import kr.co.zumo.app.lifeplus.bean.api.UserNameRequestBean;
 import kr.co.zumo.app.lifeplus.model.Model;
 import kr.co.zumo.app.lifeplus.model.SuperModel;
 import kr.co.zumo.app.lifeplus.model.module.APIError;
-import kr.co.zumo.app.lifeplus.model.module.APIGuestModule;
 import kr.co.zumo.app.lifeplus.model.module.APIMemberDeleteModule;
 import kr.co.zumo.app.lifeplus.model.module.APIModuleListener;
-import kr.co.zumo.app.lifeplus.model.module.APIModuleSimpleListener;
 import kr.co.zumo.app.lifeplus.view.Event;
 
 /**
@@ -100,7 +98,7 @@ public class SettingMemberQuitRequestModel extends Model {
     SuperModel.getInstance().clearMemberData();
 
     // 로그아웃 처리
-    new APIGuestModule().call(new RequestBean(), new APIModuleSimpleListener<>());
+    AppInitializer.logout();
   }
 
 }