فهرست منبع

[검색][Common] 리팩토링

hyodong.min 6 سال پیش
والد
کامیت
9ef1c3a7e1

+ 2 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/bean/SearchFilterDataSectionBean.java

@@ -8,7 +8,7 @@ import java.util.List;
 import kr.co.zumo.app.lifeplus.bean.api.SearchFilterBean;
 
 /**
- * SearchFilterDataSectionBean
+ * SearchFilterSectionBean
  * <pre>
  * </pre>
  *
@@ -17,7 +17,7 @@ import kr.co.zumo.app.lifeplus.bean.api.SearchFilterBean;
  * @history 민효동   [2019. 1. 3.]   [최초 작성]
  * @since 2019. 1. 3.
  */
-public class SearchFilterDataSectionBean extends JsonBeanBase {
+public class SearchFilterSectionBean extends JsonBeanBase {
 
   private String sectionTitle;
   private String sectionType;

+ 1 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/model/module/APIMemberSelectModule.java

@@ -28,7 +28,6 @@ public class APIMemberSelectModule extends LifeplusAPIModule<RequestBean, LoginR
     Single<ContentsFlagResultBean> flags = ContentsFlagHelper.getInstance().load();
     Single<LoginResultBean> login = new LifeplusAPIRepository().selectMember(requestBean);
 
-    return Single.fromObservable(Observable.combineLatest(flags.toObservable(), login.toObservable(), (flagResultBean, loginResultBean) -> loginResultBean)
-    );
+    return Single.fromObservable(Observable.combineLatest(flags.toObservable(), login.toObservable(), (flagResultBean, loginResultBean) -> loginResultBean));
   }
 }

+ 1 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/network/api/LifeplusAPIRepository.java

@@ -331,8 +331,7 @@ public class LifeplusAPIRepository implements LifeplusAPI {
     }
     else {
       // 비회원 - 로컬에 저장
-      GuestLikedManager.applyLikedRequest(bean);
-      return Single.fromCallable(() -> new LifeplusAPIBean(LifeplusAPIBean.RETURN_SUCCESS, ""));
+      return Single.fromCallable(() -> GuestLikedManager.applyLikedRequest(bean));
     }
   }
 

+ 2 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/supervisor/GuestLikedManager.java

@@ -133,7 +133,7 @@ public class GuestLikedManager implements IFlags {
     return contentsFlagResultBean;
   }
 
-  public static void applyLikedRequest(ContentsLikeRequestBean bean) {
+  public static LifeplusAPIBean applyLikedRequest(ContentsLikeRequestBean bean) {
     boolean toChecked = LifeplusData.isTrue(bean.getChecked());
 
     GuestLikedManager guestLikedManager = new GuestLikedManager();
@@ -147,5 +147,6 @@ public class GuestLikedManager implements IFlags {
     }
     SuperModel.getInstance().setGuestLikedListBean(guestLikedManager.getGuestLikedListBean());
 
+    return new LifeplusAPIBean(LifeplusAPIBean.RETURN_SUCCESS, "");
   }
 }

+ 4 - 4
app/src/main/java/kr/co/zumo/app/lifeplus/view/dialog/SearchFilterDialog.java

@@ -19,7 +19,7 @@ import java.util.List;
 import java.util.Map;
 
 import kr.co.zumo.app.R;
-import kr.co.zumo.app.lifeplus.bean.SearchFilterDataSectionBean;
+import kr.co.zumo.app.lifeplus.bean.SearchFilterSectionBean;
 import kr.co.zumo.app.lifeplus.bean.api.LifeplusData;
 import kr.co.zumo.app.lifeplus.bean.api.SearchFilterBean;
 import kr.co.zumo.app.lifeplus.util.ResourceUtil;
@@ -45,7 +45,7 @@ import kr.co.zumo.app.lifeplus.view.custom.loading.ButtonLoadingView;
 
 public class SearchFilterDialog extends DialogBase<ISearchFilterListener<SearchFilterDialog>> implements IWaiterCallable {
 
-  private List<SearchFilterDataSectionBean> filterDataSectionBeans;
+  private List<SearchFilterSectionBean> filterDataSectionBeans;
   private List<SearchFilterBean> selectedList;
   private TextView contentsCountTextView;
   private ConstraintLayout layoutButton;
@@ -59,7 +59,7 @@ public class SearchFilterDialog extends DialogBase<ISearchFilterListener<SearchF
    * @param filterList
    * @param selectedList
    */
-  public void setFilter(List<SearchFilterDataSectionBean> filterList, List<SearchFilterBean> selectedList, int filteredContentsCount) {
+  public void setFilter(List<SearchFilterSectionBean> filterList, List<SearchFilterBean> selectedList, int filteredContentsCount) {
     filterDataSectionBeans = filterList;
     this.selectedList = selectedList;
     this.filteredContentsCount = filteredContentsCount;
@@ -145,7 +145,7 @@ public class SearchFilterDialog extends DialogBase<ISearchFilterListener<SearchF
       View section = inflater.inflate(R.layout.dialog_category_section_view, container, false);
 
       // section
-      SearchFilterDataSectionBean filterDataSectionBean = filterDataSectionBeans.get(i);
+      SearchFilterSectionBean filterDataSectionBean = filterDataSectionBeans.get(i);
 
       // title
       TextView titleView = section.findViewById(R.id.text_view_filter_section_title);

+ 32 - 41
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/search/SearchResultModel.java

@@ -14,7 +14,7 @@ import java.util.List;
 
 import io.reactivex.disposables.Disposable;
 import kr.co.zumo.app.R;
-import kr.co.zumo.app.lifeplus.bean.SearchFilterDataSectionBean;
+import kr.co.zumo.app.lifeplus.bean.SearchFilterSectionBean;
 import kr.co.zumo.app.lifeplus.bean.api.CategoryBean;
 import kr.co.zumo.app.lifeplus.bean.api.CategoryCheckBean;
 import kr.co.zumo.app.lifeplus.bean.api.LifeplusData;
@@ -157,9 +157,7 @@ public class SearchResultModel extends Model {
     disposableSearch = new APISearchModule().call(requestBean, new APIModuleSimpleListener<SearchResultBean>(waiterCaller) {
       @Override
       public void onApiSuccess(SearchResultBean resultBean) {
-
         parseResult(resultBean);
-
         onResult(new Event.Builder(Event.SUCCESS).integer(Event.SEARCH_TAG_CATEGORY).build());
       }
 
@@ -224,10 +222,8 @@ public class SearchResultModel extends Model {
     disposableSearch = new APISearchModule().call(requestBean, new APIModuleSimpleListener<SearchResultBean>(waiterCaller) {
       @Override
       public void onApiSuccess(SearchResultBean resultBean) {
-
         parseResult(resultBean);
         parseCategory();
-
         onResult(new Event.Builder(Event.SUCCESS).integer(Event.SEARCH_TAG).build());
       }
 
@@ -253,11 +249,9 @@ public class SearchResultModel extends Model {
     disposableSearch = new APISearchModule().call(requestBean, new APIModuleSimpleListener<SearchResultBean>(waiterCaller) {
       @Override
       public void onApiSuccess(SearchResultBean resultBean) {
-
         parseResult(resultBean);
         parseTags();
         parseCategory();
-
         onResult(new Event.Builder(Event.RESULT).integer(Event.SEARCH).build());
       }
 
@@ -272,9 +266,7 @@ public class SearchResultModel extends Model {
     // 검색 된 태그 표시 -> 처음에만 설정 해줌.
     if (null == tagCheckBeans) {
       tagCheckBeans = new ArrayList<>();
-      int len = searchTags.length;
-      for (int i = 0; i < len; ++i) {
-        String tag = searchTags[i];
+      for (String tag : searchTags) {
         boolean isChecked = false;
         for (TagBean tagBean : tagResultBeans) {
           if (tag.equals(StringUtil.toTag(tagBean.getTagName()))) {
@@ -342,23 +334,18 @@ public class SearchResultModel extends Model {
       Log.i("APP# SearchResultModel | onApiSuccess", "|" + "------------------- tagBeans.size(): " + tagResultBeans.size());
       // 검색 결과 있음
       if (searchTags.length == tagResultBeans.size()) {
-        // tag 수 같음
-        // -> count 추가
+        // tag 수 같음 -> count 추가
         resultContentsBeans.add(0, new SearchContentsBean(SearchContentsBean.TYPE_COUNT, listCount, getResultTag(tagResultBeans)));
       }
       else {
-        // tag 수 다름
-        // -> tag no result 추가
-        // -> count 추가
+        // tag 수 다름 -> tag no result 추가 -> count 추가
         resultContentsBeans.add(0, new SearchContentsBean(SearchContentsBean.TYPE_COUNT, listCount, getResultTag(tagResultBeans)));
         resultContentsBeans.add(0, new SearchContentsBean(SearchContentsBean.TYPE_NOTHING, getSearchTag()));
       }
     }
     else {
       Log.i("APP# SearchResultModel | onApiSuccess", "|" + "------------------- tagBeans: " + tagResultBeans);
-      // 검색 결과 없음
-      // -> no result 추가
-      // -> 추천 콘텐트 추가
+      // 검색 결과 없음 -> no result 추가 -> 추천 콘텐트 추가
       resultContentsBeans.add(0, new SearchContentsBean(SearchContentsBean.TYPE_RECOMMEND));
       resultContentsBeans.add(0, new SearchContentsBean(SearchContentsBean.TYPE_NOTHING_WITH_ICON, getSearchTag()));
     }
@@ -471,7 +458,7 @@ public class SearchResultModel extends Model {
   }
 
   public void loadFilter() {
-    if (null != searchFilterDataSectionBean) {
+    if (null != searchFilterSectionBean) {
       onResult(new Event.Builder(Event.SUCCESS).index(Event.LOADED_FILTER).build());
       return;
     }
@@ -481,7 +468,7 @@ public class SearchResultModel extends Model {
       public void onApiSuccess(SearchFilterResultBean resultBean) {
         List<SearchFilterBean> list = resultBean.getData();
 
-        LinkedHashMap<String, SearchFilterDataSectionBean> hashMap = new LinkedHashMap<>();
+        LinkedHashMap<String, SearchFilterSectionBean> hashMap = new LinkedHashMap<>();
 
         // 정렬 기준 추가 - 로컬에 정의
         /*
@@ -492,9 +479,9 @@ public class SearchResultModel extends Model {
          filterName = 최신순 1 좋아요순 2 북마크순 3  --  기본은 1
          */
         // 섹션 추가
-        SearchFilterDataSectionBean sectionBean = null;
+        SearchFilterSectionBean sectionBean = null;
         SearchFilterBean bean;
-        sectionBean = new SearchFilterDataSectionBean();
+        sectionBean = new SearchFilterSectionBean();
         sectionBean.setSectionTitle(ResourceUtil.getString(R.string.search_order_by));
         sectionBean.setSectionType(SearchFilterBean.FILTER_TYPE_ORDER);
         sectionBean.setFilterBeans(new ArrayList<>());
@@ -515,7 +502,7 @@ public class SearchResultModel extends Model {
               String key = bean.getFilterNo();
               sectionBean = hashMap.get(key);
               if (null == sectionBean) {
-                sectionBean = new SearchFilterDataSectionBean();
+                sectionBean = new SearchFilterSectionBean();
                 sectionBean.setSectionTitle(bean.getFilterName());
                 sectionBean.setFilterBeans(new ArrayList<>());
                 sectionBean.setSectionType(bean.getFilterType());
@@ -528,9 +515,9 @@ public class SearchResultModel extends Model {
             }
           }
 
-          searchFilterDataSectionBean = new ArrayList<>();
+          searchFilterSectionBean = new ArrayList<>();
           for (String s : hashMap.keySet()) {
-            searchFilterDataSectionBean.add(hashMap.get(s));
+            searchFilterSectionBean.add(hashMap.get(s));
           }
         }
 
@@ -547,7 +534,7 @@ public class SearchResultModel extends Model {
   private SearchResultBean filterSearchResultBean;
   private List<SearchFilterBean> searchFilterBeans;
   private List<SearchFilterBean> appliedSearchFilterBeans;
-  private List<SearchFilterDataSectionBean> searchFilterDataSectionBean;
+  private List<SearchFilterSectionBean> searchFilterSectionBean;
 
   /**
    * 리스트에 반영된 필터 id 리스트 반환
@@ -558,8 +545,8 @@ public class SearchResultModel extends Model {
     return appliedSearchFilterBeans;
   }
 
-  public final List<SearchFilterDataSectionBean> getFilterList() {
-    return searchFilterDataSectionBean;
+  public final List<SearchFilterSectionBean> getFilterList() {
+    return searchFilterSectionBean;
   }
 
   /**
@@ -633,19 +620,23 @@ public class SearchResultModel extends Model {
     if (null != list) {
       for (SearchFilterBean filterBean : list) {
         Log.i("APP# SearchResultModel | loadFilteringContents", "|" + "filter -> " + filterBean.toJson());
-        if (filterBean.getFilterType().equals(SearchFilterBean.FILTER_TYPE_PROPERTY)) {
-          requestBean.setFilter(requestBean.getFilter() + StringUtil.HASH + filterBean.getFilterNo());
-        }
-        else if (filterBean.getFilterType().equals(SearchFilterBean.FILTER_TYPE_AREA)) {
-          // fixme filter name 은 api 상 tag name 임
-          requestBean.setFilterArea(requestBean.getFilterArea() + StringUtil.HASH + filterBean.getFilterName());
-        }
-        else if (filterBean.getFilterType().equals(SearchFilterBean.FILTER_TYPE_HOT_PLACE)) {
-          // fixme filter name 은 api 상 tag name 임
-          requestBean.setFilterPlace(requestBean.getFilterPlace() + StringUtil.HASH + filterBean.getFilterName());
-        }
-        else if (filterBean.getFilterType().equals(SearchFilterBean.FILTER_TYPE_ORDER)) {
-          requestBean.setOrder(filterBean.getFilterNo());
+        switch (filterBean.getFilterType()) {
+          case SearchFilterBean.FILTER_TYPE_AREA:
+            // fixme filter name 은 api 상 tag name 임
+            requestBean.setFilterArea(requestBean.getFilterArea() + StringUtil.HASH + filterBean.getFilterName());
+            break;
+          case SearchFilterBean.FILTER_TYPE_HOT_PLACE:
+            // fixme filter name 은 api 상 tag name 임
+            requestBean.setFilterPlace(requestBean.getFilterPlace() + StringUtil.HASH + filterBean.getFilterName());
+            break;
+          case SearchFilterBean.FILTER_TYPE_ORDER:
+            requestBean.setOrder(filterBean.getFilterNo());
+            break;
+          case SearchFilterBean.FILTER_TYPE_PROPERTY:
+            /* falls through */
+          default:
+            requestBean.setFilter(requestBean.getFilter() + StringUtil.HASH + filterBean.getFilterNo());
+          break;
         }
       }
     }