Browse Source

[카테고리][Bug] 카테고리 필터 컨텐츠/상세 취소

hyodong.min 6 years ago
parent
commit
614a9d23c5

+ 16 - 3
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/category/CategoryFilterModel.java

@@ -48,6 +48,7 @@ import kr.co.zumo.app.lifeplus.view.dialog.IFilterDetailListener;
  */
 public abstract class CategoryFilterModel extends CategoryMainModel {
 
+  protected Disposable disposableFilterDetail;
   protected Disposable disposableFilter;
   protected Disposable disposableSearch;
   protected List<FilterSectionBean> filterSectionBeans;
@@ -60,6 +61,7 @@ public abstract class CategoryFilterModel extends CategoryMainModel {
   protected void destroyInternal() {
     super.destroyInternal();
     stopLoadingContents();
+    stopLoadingFilter();
   }
 
   private void stopLoadingContents() {
@@ -162,7 +164,7 @@ public abstract class CategoryFilterModel extends CategoryMainModel {
       return;
     }
 
-    disposableFilter = new APICategoryFilterModule().call(new CategoryRequestBean(categoryNumber), new APIModuleListener<CategoryFilterResultBean>(waiterCaller) {
+    disposableFilterDetail = new APICategoryFilterModule().call(new CategoryRequestBean(categoryNumber), new APIModuleListener<CategoryFilterResultBean>(waiterCaller) {
       @Override
       public void onApiSuccess(CategoryFilterResultBean resultBean) {
         List<CategoryFilterBean> list = resultBean.getData();
@@ -226,7 +228,7 @@ public abstract class CategoryFilterModel extends CategoryMainModel {
     }
 
     stopLoadingContents();
-    disposableSearch = new APICategoryFilterContentsModule().call(requestBean, new APIModuleListener<CategoryFilterContentsResultBean>(waiterCallable) {
+    disposableFilter = new APICategoryFilterContentsModule().call(requestBean, new APIModuleListener<CategoryFilterContentsResultBean>(waiterCallable) {
       @Override
       public void onApiSuccess(CategoryFilterContentsResultBean resultBean) {
         filterSearchResultBean = resultBean;
@@ -306,7 +308,7 @@ public abstract class CategoryFilterModel extends CategoryMainModel {
 //      itemNoes = "0";
 //    }
 
-    disposableFilter = new APICategoryFilterDetailModule().call(
+    disposableFilterDetail = new APICategoryFilterDetailModule().call(
       new CategoryFilterDetailRequestBean(getCategoryNo(), type, no, itemNoes),
       new APIModuleListener<CategoryFilterDetailResultBean>(waiterCallable) {
         @Override
@@ -419,11 +421,22 @@ public abstract class CategoryFilterModel extends CategoryMainModel {
     }
   }
 
+  private void stopLoadingFilter() {
+    if (null != disposableFilterDetail) {
+      disposableFilterDetail.dispose();
+      disposableFilterDetail = null;
+    }
+    if (null != disposableFilter) {
+      disposableFilter.dispose();
+      disposableFilter = null;
+    }
+  }
 
   /**
    * 필터링 취소
    */
   public void cancelFilter() {
+    stopLoadingFilter();
     filterSearchResultBean = null;
 
     int len = filterSectionBeans.size();