소스 검색

[공통][New] APIModuleSimpleListener

hyodong.min 6 년 전
부모
커밋
2db936e2a7

+ 3 - 11
app/src/main/java/kr/co/zumo/app/lifeplus/activity/ScreenStarter.java

@@ -10,7 +10,6 @@ import android.util.Log;
 import io.reactivex.disposables.Disposable;
 import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.bean.api.EmergencyBean;
-import kr.co.zumo.app.lifeplus.bean.api.LifeplusAPIBean;
 import kr.co.zumo.app.lifeplus.bean.api.LoginResultBean;
 import kr.co.zumo.app.lifeplus.bean.api.PopupInfoListBean;
 import kr.co.zumo.app.lifeplus.bean.api.PopupInfoResultBean;
@@ -23,6 +22,7 @@ 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.APIModuleHelper;
 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.model.module.IEmergency;
 import kr.co.zumo.app.lifeplus.model.module.IModuleEmergencyHandler;
@@ -110,17 +110,9 @@ public class ScreenStarter implements IModuleEmergencyHandler {
   private void doGuestAction() {
     // 로컬에서 좋아요 등 정보를 가져오기 위해서 로딩 실행
 
-    disposable = new APIGuestModule().call(new RequestBean(), new APIModuleListener<LifeplusAPIBean>() {
-      @Override
-      public void onApiSuccess(LifeplusAPIBean resultBean) {
-        gotoScreen(START_FROM_MAIN);
-      }
+    disposable = new APIGuestModule().call(new RequestBean(), new APIModuleSimpleListener<>());
+    gotoScreen(START_FROM_MAIN);
 
-      @Override
-      public void onApiError(String errorMessage, APIError error) {
-        onApiSuccess(null);
-      }
-    });
   }
 
   private void loadPopupInfo() {

+ 44 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/model/module/APIModuleSimpleListener.java

@@ -0,0 +1,44 @@
+/*
+ * COPYRIGHT (c) 2018 All rights reserved by HANWHA LIFE.
+ */
+package kr.co.zumo.app.lifeplus.model.module;
+
+import android.support.annotation.NonNull;
+
+import kr.co.zumo.app.lifeplus.bean.api.APIBean;
+import kr.co.zumo.app.lifeplus.view.IWaiterCallable;
+
+/**
+ * APIModuleSimpleListener
+ * <pre>
+ * </pre>
+ *
+ * @author 민효동
+ * @version 1.0
+ * @history 민효동   [2018. 12. 20.]   [최초 작성]
+ * @since 2018. 12. 20.
+ */
+public class APIModuleSimpleListener<T extends APIBean> extends APIModuleListener<T> {
+
+  /**
+   * 로딩 시 Waiter 표시하고 싶다면 IWaiterCallable 가 필요하다.
+   *
+   * @param waiterCaller IWaiterCallable -> 대부분의 경우 Presenter 가 역할을 하고 있음.
+   */
+  public APIModuleSimpleListener(@NonNull IWaiterCallable waiterCaller) {
+    super(waiterCaller);
+  }
+
+  /**
+   * 로딩 시 Waiter 표시 없음.
+   */
+  public APIModuleSimpleListener() {
+    super();
+  }
+
+  @Override
+  public void onApiSuccess(T resultBean) {}
+
+  @Override
+  public void onApiError(String errorMessage, APIError error) {}
+}

+ 2 - 8
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/main/MainFragment.java

@@ -41,7 +41,6 @@ import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.activity.AppInitializer;
 import kr.co.zumo.app.lifeplus.bean.api.CoinInfoBean;
 import kr.co.zumo.app.lifeplus.bean.api.CoinInfoResultBean;
-import kr.co.zumo.app.lifeplus.bean.api.LifeplusAPIBean;
 import kr.co.zumo.app.lifeplus.bean.api.LoginResultBean;
 import kr.co.zumo.app.lifeplus.bean.api.MainContentsBean;
 import kr.co.zumo.app.lifeplus.bean.api.RequestBean;
@@ -54,6 +53,7 @@ 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.supervisor.AnimatorManager;
 import kr.co.zumo.app.lifeplus.supervisor.GuestCoinManager;
 import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
@@ -534,13 +534,7 @@ public class MainFragment extends FragmentBase<MainPresenter> implements IMainVi
 
     renderDebug();
 
-    new APIGuestModule().call(new RequestBean(), new APIModuleListener<LifeplusAPIBean>() {
-      @Override
-      public void onApiSuccess(LifeplusAPIBean resultBean) {}
-
-      @Override
-      public void onApiError(String errorMessage, APIError error) {}
-    });
+    new APIGuestModule().call(new RequestBean(), new APIModuleSimpleListener<>());
   }
 
   /**

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

@@ -13,6 +13,7 @@ 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;
 
 /**
@@ -99,17 +100,7 @@ public class SettingMemberQuitRequestModel extends Model {
     SuperModel.getInstance().clearMemberData();
 
     // 로그아웃 처리
-    new APIGuestModule().call(new RequestBean(), new APIModuleListener<LifeplusAPIBean>() {
-      @Override
-      public void onApiSuccess(LifeplusAPIBean resultBean) {
-        // nothing
-      }
-
-      @Override
-      public void onApiError(String errorMessage, APIError error) {
-        // nothing
-      }
-    });
+    new APIGuestModule().call(new RequestBean(), new APIModuleSimpleListener<>());
   }
 
 }