Просмотр исходного кода

[공통][Bug] 모델 load/stop 정리

hyodong.min 7 лет назад
Родитель
Сommit
42af99eaf1

+ 7 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/model/FAQModel.java

@@ -49,7 +49,6 @@ public class FAQModel extends Model {
 
   @Override
   protected void pauseInternal() {
-    disposeLoading();
   }
 
   private void disposeLoading() {
@@ -86,6 +85,13 @@ public class FAQModel extends Model {
     );
   }
 
+  /**
+   * 로드 중지
+   */
+  public void stopLoading() {
+    disposeLoading();
+  }
+
   /**
    * FAQ
    *

+ 13 - 4
app/src/main/java/kr/co/zumo/app/lifeplus/model/MainModel.java

@@ -45,10 +45,22 @@ public class MainModel extends Model {
 
   @Override
   protected void destroyInternal() {
+    disposeObservable();
+  }
+
+  /**
+   * 로드 중지
+   */
+  public void stopLoading() {
+    disposeObservable();
+  }
+
+  private void disposeObservable() {
     if (null != disposable) {
       disposable.dispose();
       disposable = null;
     }
+
   }
 
   @Override
@@ -68,9 +80,6 @@ public class MainModel extends Model {
 
   @Override
   protected void pauseInternal() {
-    if (null != disposable) {
-      disposable.dispose();
-      disposable = null;
-    }
+    disposeObservable();
   }
 }

+ 12 - 4
app/src/main/java/kr/co/zumo/app/lifeplus/model/RestMemberModel.java

@@ -26,10 +26,7 @@ public class RestMemberModel extends Model {
 
   @Override
   protected void destroyInternal() {
-    if (null != disposable) {
-      disposable.dispose();
-      disposable = null;
-    }
+    disposeObservable();
   }
 
   @Override
@@ -49,10 +46,21 @@ public class RestMemberModel extends Model {
 
   @Override
   protected void pauseInternal() {
+  }
+
+  /**
+   * 로드 중지
+   */
+  public void stopLoading() {
+    disposeObservable();
+  }
+
+  private void disposeObservable() {
     if (null != disposable) {
       disposable.dispose();
       disposable = null;
     }
+
   }
 
   /**

+ 7 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/model/setting/SettingModel.java

@@ -54,7 +54,6 @@ public class SettingModel extends Model {
 
   @Override
   protected void pauseInternal() {
-    disposeObservable();
   }
 
   private void disposeObservable() {
@@ -151,6 +150,13 @@ public class SettingModel extends Model {
     });
   }
 
+  /**
+   * 로드 중지
+   */
+  public void stopLoading() {
+    disposeObservable();
+  }
+
   /**
    * 로드된 값 (SettingBean) 반환
    *

+ 7 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/model/setting/code/SettingCodeModel.java

@@ -75,7 +75,6 @@ public class SettingCodeModel extends Model {
 
   @Override
   protected void stopInternal() {
-
   }
 
   @Override
@@ -85,7 +84,6 @@ public class SettingCodeModel extends Model {
 
   @Override
   protected void pauseInternal() {
-    disposeObservable();
 
   }
 
@@ -197,6 +195,13 @@ public class SettingCodeModel extends Model {
     });
   }
 
+  /**
+   * 로드 중지
+   */
+  public void stopLoading() {
+    disposeObservable();
+  }
+
   private void parseCodes(CodeBean codeBean) {
     loadedSpecialCode = codeBean.getSpecialCode();
     loadedRecommendCode = codeBean.getRecommendCode();

+ 11 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/model/setting/common/SettingMemberInfoModel.java

@@ -47,7 +47,6 @@ public class SettingMemberInfoModel extends Model {
 
   @Override
   protected void stopInternal() {
-
   }
 
   @Override
@@ -57,7 +56,6 @@ public class SettingMemberInfoModel extends Model {
 
   @Override
   protected void pauseInternal() {
-    disposeObservable();
   }
 
   private void disposeObservable() {
@@ -91,6 +89,13 @@ public class SettingMemberInfoModel extends Model {
     });
   }
 
+  /**
+   * 로드 중지
+   */
+  public void stopLoading() {
+    disposeObservable();
+  }
+
   public SettingMemberBean getSettingMemberBean() {
     return settingMemberBean;
   }
@@ -107,6 +112,10 @@ public class SettingMemberInfoModel extends Model {
     return SuperModel.getInstance().getUserName();
   }
 
+  public String getUserEmail() {
+    return SuperModel.getInstance().getUserEmail();
+  }
+
   /**
    * 이메일 등록
    */

+ 93 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/model/setting/common/SettingMemberQuitInfoModel.java

@@ -0,0 +1,93 @@
+/*
+ * COPYRIGHT (c) 2018 All rights reserved by HANWHA LIFE.
+ */
+package kr.co.zumo.app.lifeplus.model.setting.common;
+
+import io.reactivex.disposables.Disposable;
+import kr.co.zumo.app.lifeplus.bean.api.CoinBean;
+import kr.co.zumo.app.lifeplus.bean.api.CoinResultBean;
+import kr.co.zumo.app.lifeplus.bean.api.RequestBean;
+import kr.co.zumo.app.lifeplus.model.Model;
+import kr.co.zumo.app.lifeplus.model.module.APICoInLoadModule;
+import kr.co.zumo.app.lifeplus.model.module.IAPIModuleListener;
+import kr.co.zumo.app.lifeplus.view.Event;
+
+/**
+ * SettingMemberQuitInfoModel
+ * <pre>
+ * </pre>
+ *
+ * @author 민효동
+ * @version 1.0
+ * @history 민효동   [2018. 10. 31.]   [최초 작성]
+ * @since 2018. 10. 31.
+ */
+public class SettingMemberQuitInfoModel extends Model {
+
+  private Disposable disposable;
+  private CoinBean coinBean;
+
+  @Override
+  protected void destroyInternal() {
+    disposeCoin();
+  }
+
+  @Override
+  protected void startInternal() {
+
+  }
+
+  @Override
+  protected void stopInternal() {
+  }
+
+  @Override
+  protected void resumeInternal() {
+
+  }
+
+  @Override
+  protected void pauseInternal() {
+
+  }
+
+  private void disposeCoin() {
+    if (null != disposable) {
+      disposable.dispose();
+      disposable = null;
+    }
+  }
+
+  public CoinBean getCoinBean() {
+    return coinBean;
+  }
+
+  public void loadCoins() {
+    disposable = new APICoInLoadModule().call(new RequestBean(), new IAPIModuleListener<CoinResultBean>() {
+      @Override
+      public void onApiSuccess(CoinResultBean resultBean) {
+        coinBean = resultBean.getData();
+
+        presenter.onResult(new Event.Builder(Event.RESULT).build());
+      }
+
+      @Override
+      public void onApiReason(CoinResultBean resultBean) {
+        presenter.onResult(new Event.Builder(Event.ERROR).string(resultBean.getReturnMessage()).build());
+      }
+
+      @Override
+      public void onApiError(String errorMessage) {
+        presenter.onResult(new Event.Builder(Event.ERROR).string(errorMessage).build());
+
+      }
+    });
+  }
+
+  /**
+   * 로드 중지
+   */
+  public void stopLoading() {
+    disposeCoin();
+  }
+}

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

@@ -62,12 +62,13 @@ public class SettingPresenter extends Presenter<SettingModel, ISettingView> {
   @Override
   protected void startInternal() {
     isEnabled = false;
-    this.model.loadSettingInfo();
+    model.loadSettingInfo();
   }
 
   @Override
   protected void stopInternal() {
     isEnabled = false;
+    model.stopLoading();
   }
 
   @Override

+ 1 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/setting/code/SettingCodePresenter.java

@@ -39,7 +39,7 @@ public class SettingCodePresenter extends Presenter<SettingCodeModel, ISettingCo
 
   @Override
   protected void destroyInternal() {
-
+    model.stopLoading();
   }
 
   @Override

+ 1 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/setting/common/SettingMemberInfoPresenter.java

@@ -51,7 +51,7 @@ public class SettingMemberInfoPresenter extends Presenter<SettingMemberInfoModel
 
   @Override
   protected void stopInternal() {
-
+    model.stopLoading();
   }
 
   @Override