Prechádzať zdrojové kódy

[카테고리메인][Common] 필터 리스너 생성

Hasemi 7 rokov pred
rodič
commit
27aa5c0b96

+ 6 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/bean/FilterBean.java

@@ -12,6 +12,12 @@ package kr.co.zumo.app.lifeplus.bean;
  */
 public class FilterBean extends JsonBeanBase {
 
+  public static final int CATEGORY_FIRST_ID = 0;
+  public static final int CATEGORY_SECOND_ID = 1;
+  public static final int CATEGORY_THIRD_ID = 2;
+  public static final int CATEGORY_FOURTH_ID = 3;
+  public static final int CATEGORY_FIFTH_ID = 4;
+
   private int categoryId;
   private int checkedIndex;
 

+ 8 - 16
app/src/main/java/kr/co/zumo/app/lifeplus/view/dialog/CategoryFirstMainFilterDialog.java

@@ -10,11 +10,9 @@ import android.view.Window;
 import android.view.WindowManager;
 
 import java.util.ArrayList;
-import java.util.List;
 
 import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.bean.FilterBean;
-import kr.co.zumo.app.lifeplus.view.Event;
 import kr.co.zumo.app.lifeplus.view.custom.CustomSquareCheckBox;
 
 /**
@@ -28,13 +26,7 @@ import kr.co.zumo.app.lifeplus.view.custom.CustomSquareCheckBox;
  * @since 2018-11-01
  */
 
-public class CategoryFirstMainFilterDialog extends DialogBase {
-
-  private static final int CATEGORY_FIRST_ID = 0;
-  private static final int CATEGORY_SECOND_ID = 1;
-  private static final int CATEGORY_THIRD_ID = 2;
-  private static final int CATEGORY_FOURTH_ID = 3;
-  private static final int CATEGORY_FIFTH_ID = 4;
+public class CategoryFirstMainFilterDialog extends DialogBase<ICustomFilterListener> {
 
   private ArrayList<CustomSquareCheckBox> firstCategoryCheckboxList;
   private ArrayList<CustomSquareCheckBox> secondCategoryCheckboxList;
@@ -42,7 +34,7 @@ public class CategoryFirstMainFilterDialog extends DialogBase {
   private ArrayList<CustomSquareCheckBox> fourthCategoryCheckBoxList;
   private CustomSquareCheckBox fifthCategoryCheckBox;
 
-  private List<FilterBean> data;
+  private ArrayList<FilterBean> data;
 
   @Nullable
   @Override
@@ -75,7 +67,7 @@ public class CategoryFirstMainFilterDialog extends DialogBase {
       if (null != getResultListener()) {
         // TODO: data 생성
         loadData();
-        getResultListener().onDialogResult(this, new Event.Builder(Event.CONFIRM).build());
+        getCustomListener().onFilterResult(data);
       }
     });
 
@@ -133,34 +125,34 @@ public class CategoryFirstMainFilterDialog extends DialogBase {
     for (int i = 0; i < firstCategoryCheckboxList.size(); ++i) {
       CustomSquareCheckBox firstCategoryCheckBox = firstCategoryCheckboxList.get(i);
       if (firstCategoryCheckBox.isChecked()) {
-        data.add(new FilterBean(CATEGORY_FIRST_ID, i));
+        data.add(new FilterBean(FilterBean.CATEGORY_FIRST_ID, i));
       }
     }
 
     for (int i = 0; i < secondCategoryCheckboxList.size(); ++i) {
       CustomSquareCheckBox secondCategoryCheckBox = secondCategoryCheckboxList.get(i);
       if (secondCategoryCheckBox.isChecked()) {
-        data.add(new FilterBean(CATEGORY_SECOND_ID, i));
+        data.add(new FilterBean(FilterBean.CATEGORY_SECOND_ID, i));
       }
     }
 
     for (int i = 0; i < thirdCategoryCheckBoxList.size(); ++i) {
       CustomSquareCheckBox thirdCategoryCheckBox = thirdCategoryCheckBoxList.get(i);
       if (thirdCategoryCheckBox.isChecked()) {
-        data.add(new FilterBean(CATEGORY_THIRD_ID, i));
+        data.add(new FilterBean(FilterBean.CATEGORY_THIRD_ID, i));
       }
     }
 
     for (int i = 0; i < fourthCategoryCheckBoxList.size(); ++i) {
       CustomSquareCheckBox fourthCategoryCheckBox = fourthCategoryCheckBoxList.get(i);
       if (fourthCategoryCheckBox.isChecked()) {
-        data.add(new FilterBean(CATEGORY_FOURTH_ID, i));
+        data.add(new FilterBean(FilterBean.CATEGORY_FOURTH_ID, i));
       }
     }
 
     //주차여부
     if (fifthCategoryCheckBox.isChecked()) {
-      data.add(new FilterBean(CATEGORY_FIFTH_ID, 0));
+      data.add(new FilterBean(FilterBean.CATEGORY_FIFTH_ID, 0));
     }
   }
 

+ 7 - 15
app/src/main/java/kr/co/zumo/app/lifeplus/view/dialog/CategorySecondMainFilterDialog.java

@@ -10,11 +10,9 @@ import android.view.Window;
 import android.view.WindowManager;
 
 import java.util.ArrayList;
-import java.util.List;
 
 import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.bean.FilterBean;
-import kr.co.zumo.app.lifeplus.view.Event;
 import kr.co.zumo.app.lifeplus.view.custom.CustomSquareCheckBox;
 
 /**
@@ -27,15 +25,9 @@ import kr.co.zumo.app.lifeplus.view.custom.CustomSquareCheckBox;
  * @history 하세미   [2018-11-05]   [최초 작성]
  * @since 2018-11-05
  */
-public class CategorySecondMainFilterDialog extends DialogBase {
+public class CategorySecondMainFilterDialog extends DialogBase<ICustomFilterListener> {
 
-  private static final int CATEGORY_FIRST_ID = 0;
-  private static final int CATEGORY_SECOND_ID = 1;
-  private static final int CATEGORY_THIRD_ID = 2;
-  private static final int CATEGORY_FOURTH_ID = 3;
-
-
-  private List<FilterBean> data;
+  private ArrayList<FilterBean> data;
   private ArrayList<CustomSquareCheckBox> firstCategoryCheckboxList;
   private ArrayList<CustomSquareCheckBox> secondCategoryCheckboxList;
   private ArrayList<CustomSquareCheckBox> thirdCategoryCheckBoxList;
@@ -73,7 +65,7 @@ public class CategorySecondMainFilterDialog extends DialogBase {
       if (null != getResultListener()) {
         loadData();
         // TODO: data 생성
-        getResultListener().onDialogResult(this, new Event.Builder(Event.CONFIRM).build());
+        getCustomListener().onFilterResult(data);
 
       }
     });
@@ -118,7 +110,7 @@ public class CategorySecondMainFilterDialog extends DialogBase {
     for (int i = 0; i < firstCategoryCheckboxList.size(); ++i) {
       CustomSquareCheckBox firstCategoryCheckBox = firstCategoryCheckboxList.get(i);
       if (firstCategoryCheckBox.isChecked()) {
-        data.add(new FilterBean(CATEGORY_FIRST_ID, i));
+        data.add(new FilterBean(FilterBean.CATEGORY_FIRST_ID, i));
       }
 
     }
@@ -126,21 +118,21 @@ public class CategorySecondMainFilterDialog extends DialogBase {
     for (int i = 0; i < secondCategoryCheckboxList.size(); ++i) {
       CustomSquareCheckBox secondCategoryCheckBox = secondCategoryCheckboxList.get(i);
       if (secondCategoryCheckBox.isChecked()) {
-        data.add(new FilterBean(CATEGORY_SECOND_ID, i));
+        data.add(new FilterBean(FilterBean.CATEGORY_SECOND_ID, i));
       }
     }
 
     for (int i = 0; i < thirdCategoryCheckBoxList.size(); ++i) {
       CustomSquareCheckBox thirdCategoryCheckBox = thirdCategoryCheckBoxList.get(i);
       if (thirdCategoryCheckBox.isChecked()) {
-        data.add(new FilterBean(CATEGORY_THIRD_ID, i));
+        data.add(new FilterBean(FilterBean.CATEGORY_THIRD_ID, i));
       }
     }
 
     for (int i = 0; i < fourthCategoryCheckBoxList.size(); ++i) {
       CustomSquareCheckBox fourthCategoryCheckBox = fourthCategoryCheckBoxList.get(i);
       if (fourthCategoryCheckBox.isChecked()) {
-        data.add(new FilterBean(CATEGORY_FOURTH_ID, i));
+        data.add(new FilterBean(FilterBean.CATEGORY_FOURTH_ID, i));
       }
     }
   }

+ 3 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/dialog/ICustomFilterListener.java

@@ -5,6 +5,8 @@ package kr.co.zumo.app.lifeplus.view.dialog;
 
 import java.util.ArrayList;
 
+import kr.co.zumo.app.lifeplus.bean.FilterBean;
+
 /**
  * ICustomFilterListener
  * <pre>
@@ -17,5 +19,5 @@ import java.util.ArrayList;
  */
 public interface ICustomFilterListener extends ICustomDialogListener {
 
-  void onFilterResult(ArrayList<Integer> list);
+  void onFilterResult(ArrayList<FilterBean> list);
 }

+ 11 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/main/category/FirstCategoryMainPresenter.java

@@ -1,7 +1,11 @@
 package kr.co.zumo.app.lifeplus.view.screen.main.category;
 
 import android.support.v7.app.ActionBar;
+import android.util.Log;
 
+import java.util.ArrayList;
+
+import kr.co.zumo.app.lifeplus.bean.FilterBean;
 import kr.co.zumo.app.lifeplus.model.BlankModel;
 import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
 import kr.co.zumo.app.lifeplus.view.Event;
@@ -11,6 +15,7 @@ import kr.co.zumo.app.lifeplus.view.dialog.DialogBase;
 import kr.co.zumo.app.lifeplus.view.dialog.DialogBuilder;
 import kr.co.zumo.app.lifeplus.view.dialog.DialogID;
 import kr.co.zumo.app.lifeplus.view.dialog.IAttribute;
+import kr.co.zumo.app.lifeplus.view.dialog.ICustomFilterListener;
 import kr.co.zumo.app.lifeplus.view.dialog.IDialogResultListener;
 import kr.co.zumo.app.lifeplus.view.presenter.Presenter;
 
@@ -91,6 +96,12 @@ public class FirstCategoryMainPresenter extends Presenter<BlankModel, IView> {
             }
           })
           .attribute((IAttribute<CategoryFirstMainFilterDialog>) dialog -> {})
+          .listener(new ICustomFilterListener() {
+            @Override
+            public void onFilterResult(ArrayList<FilterBean> list) {
+              Log.w("APP# FirstCategoryMainPresenter | onFilterResult", "|" + list.size());
+            }
+          })
           .show();
         break;
       default:

+ 11 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/main/category/SecondCategoryMainPresenter.java

@@ -1,7 +1,11 @@
 package kr.co.zumo.app.lifeplus.view.screen.main.category;
 
 import android.support.v7.app.ActionBar;
+import android.util.Log;
 
+import java.util.ArrayList;
+
+import kr.co.zumo.app.lifeplus.bean.FilterBean;
 import kr.co.zumo.app.lifeplus.model.BlankModel;
 import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
 import kr.co.zumo.app.lifeplus.view.Event;
@@ -11,6 +15,7 @@ import kr.co.zumo.app.lifeplus.view.dialog.DialogBase;
 import kr.co.zumo.app.lifeplus.view.dialog.DialogBuilder;
 import kr.co.zumo.app.lifeplus.view.dialog.DialogID;
 import kr.co.zumo.app.lifeplus.view.dialog.IAttribute;
+import kr.co.zumo.app.lifeplus.view.dialog.ICustomFilterListener;
 import kr.co.zumo.app.lifeplus.view.dialog.IDialogResultListener;
 import kr.co.zumo.app.lifeplus.view.presenter.Presenter;
 
@@ -89,6 +94,12 @@ public class SecondCategoryMainPresenter extends Presenter<BlankModel, IView> {
             }
           })
           .attribute((IAttribute<CategorySecondMainFilterDialog>) dialog -> {})
+          .listener(new ICustomFilterListener() {
+            @Override
+            public void onFilterResult(ArrayList<FilterBean> list) {
+              Log.w("APP# SecondCategoryMainPresenter | onFilterResult", "|" + list.size());
+            }
+          })
           .show();
         break;
       default: