Browse Source

DCAU-196 - [Android] 소스 리팩토링

aaron 6 years ago
parent
commit
1b52055241

+ 6 - 1
app/src/main/java/kr/co/hanwha/hifive/adapter/MainDashboardListAdapter.java

@@ -71,13 +71,18 @@ public class MainDashboardListAdapter extends RecyclerView.Adapter<RecyclerView.
 
         if (list != null)
             mListData.addAll(list);
+    }
 
+    @Override
+    public void sort(final boolean isDescendingOrder) {
         Collections.sort(mListData, new Comparator<DabProjectData>() {
             @Override
             public int compare(DabProjectData dabProjectData, DabProjectData t1) {
-                return dabProjectData.getProject_avg_achieve_rate() - t1.getProject_avg_achieve_rate();
+                int sortResult = dabProjectData.getProject_avg_achieve_rate() - t1.getProject_avg_achieve_rate();
+                return sortResult;
             }
         });
+        if (isDescendingOrder) reverseSort();
     }
 
     @Override

+ 1 - 0
app/src/main/java/kr/co/hanwha/hifive/adapter/contract/MainDashboardListContract.java

@@ -29,6 +29,7 @@ public interface MainDashboardListContract extends BaseListContract {
 
     interface Model {
         void addItems(ArrayList<DabProjectData> list);
+        void sort(boolean isDescendingOrder);
         void reverseSort();
     }
 }

+ 5 - 0
app/src/main/java/kr/co/hanwha/hifive/adapter/viewholder/MainDashboardListViewHolder.java

@@ -62,14 +62,19 @@ public class MainDashboardListViewHolder extends BaseViewHolder {
             switch (achieveType) {
                 case GREEN:
                     mViewStatus.setBackground(getContext().getResources().getDrawable(R.mipmap.ic_unit_g));
+                    break;
                 case YELLOW:
                     mViewStatus.setBackground(getContext().getResources().getDrawable(R.mipmap.ic_unit_y));
+                    break;
                 case ORANGE:
                     mViewStatus.setBackground(getContext().getResources().getDrawable(R.mipmap.ic_unit_o));
+                    break;
                 case RED:
                     mViewStatus.setBackground(getContext().getResources().getDrawable(R.mipmap.ic_unit_r));
+                    break;
                 default:
                     mViewStatus.setBackground(getContext().getResources().getDrawable(R.mipmap.ic_unit_g));
+                    break;
             }
 
             if (mOnMainDashboardListListener != null) {

+ 13 - 1
app/src/main/java/kr/co/hanwha/hifive/data/model/ProjectInfoData.java

@@ -25,6 +25,8 @@ public class ProjectInfoData extends BaseData implements Parcelable {
 
     int project_avg_achieve_rate;
 
+    int achieve_rate;
+
     int track_id;
     String track_name;
     int member_id;
@@ -36,6 +38,7 @@ public class ProjectInfoData extends BaseData implements Parcelable {
         this.role_code = in.readInt();
         this.evaluation = in.readInt();
         this.project_avg_achieve_rate = in.readInt();
+        this.achieve_rate = in.readInt();
     }
 
     public static final Creator<ProjectInfoData> CREATOR = new Creator<ProjectInfoData>() {
@@ -106,6 +109,14 @@ public class ProjectInfoData extends BaseData implements Parcelable {
         this.project_avg_achieve_rate = project_avg_achieve_rate;
     }
 
+    public int getAchieve_rate() {
+        return achieve_rate;
+    }
+
+    public void setAchieve_rate(int achieve_rate) {
+        this.achieve_rate = achieve_rate;
+    }
+
     @Override
     public int describeContents() {
         return 0;
@@ -118,6 +129,7 @@ public class ProjectInfoData extends BaseData implements Parcelable {
         parcel.writeInt(role_code);
         parcel.writeInt(evaluation);
         parcel.writeInt(project_avg_achieve_rate);
+        parcel.writeInt(achieve_rate);
     }
 }
 /**
@@ -134,7 +146,7 @@ public class ProjectInfoData extends BaseData implements Parcelable {
  * "status":0,
  * "cmdr_intent":"중년갑부.. 청년갑부는 이미 틀렸......__thisisdelimiter__목표는 로또 5주연속 1등 당첨",
  * "evaluation":0,
- * "project_avg_achieve_rate":10,
+ * "achieve_rate":10,
  * "eval_name":"",
  * "due_date":"",
  * "leader_member_id":0,

+ 24 - 15
app/src/main/java/kr/co/hanwha/hifive/screen/main/dashboard/MainDashboardFragment.java

@@ -57,7 +57,7 @@ public class MainDashboardFragment extends BaseFragment implements MainDashboard
     private final int INDEX_ORANGE = 0;
     private final int INDEX_GREEN = 1;
 
-    private boolean isIncreaseSort = true;
+    private boolean isDescendingOrder = true;
 
     @Override
     public String getClassUri() {
@@ -117,7 +117,7 @@ public class MainDashboardFragment extends BaseFragment implements MainDashboard
         mPresenter = new MainDashboardPresenter(getActivity(), this,
                 mAdapterGreen, mAdapterGreen,
                 mAdapterOrange, mAdapterOrange);
-        mPresenter.initData(true);
+        mPresenter.initData(true, isDescendingOrder);
 
         return parent;
     }
@@ -127,7 +127,7 @@ public class MainDashboardFragment extends BaseFragment implements MainDashboard
         super.onResume();
 
         if (HFInfoUtil.getNeedRefreshMainDashboardList(getActivity())) {
-            mPresenter.initData(true);
+            mPresenter.initData(true, isDescendingOrder);
         }
 
         HFAnalyticsUtil.logEvent(this);
@@ -161,6 +161,23 @@ public class MainDashboardFragment extends BaseFragment implements MainDashboard
         }
     }
 
+    @Override
+    public void initSortText() {
+        isDescendingOrder = true;
+        setSortText();
+    }
+
+    @Override
+    public void setSortText() {
+        if (isDescendingOrder) {
+            mTextViewSort.setText(R.string.main_dashboard_descending_order);
+            mTextViewSort.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.mipmap.ic_arr_high, 0);
+        } else {
+            mTextViewSort.setText(R.string.main_dashboard_ascending_order);
+            mTextViewSort.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.mipmap.ic_arr_low, 0);
+        }
+    }
+
     /**************************************************
      * View.OnClickListener
      **************************************************/
@@ -175,17 +192,9 @@ public class MainDashboardFragment extends BaseFragment implements MainDashboard
                     HFActivityUtil.startSearchActivity(getActivity());
                     break;
                 case R.id.sort_linearLayout:
-                    if (isIncreaseSort) {
-                        mTextViewSort.setText(R.string.main_dashboard_decrease_sort);
-                        mTextViewSort.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.mipmap.ic_arr_high, 0);
-                        isIncreaseSort = false;
-                    } else {
-                        mTextViewSort.setText(R.string.main_dashboard_increase_sort);
-                        mTextViewSort.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.mipmap.ic_arr_low, 0);
-                        isIncreaseSort = true;
-                    }
-                    mAdapterGreen.reverseSort();
-                    mAdapterGreen.notifyDataAll();
+                    isDescendingOrder = !isDescendingOrder;
+                    mPresenter.reverseSort();
+                    setSortText();
                     break;
             }
 
@@ -198,7 +207,7 @@ public class MainDashboardFragment extends BaseFragment implements MainDashboard
     SwipeRefreshLayout.OnRefreshListener onRefreshListener = new SwipeRefreshLayout.OnRefreshListener() {
         @Override
         public void onRefresh() {
-            mPresenter.initData(false);
+            mPresenter.initData(false, isDescendingOrder);
         }
     };
 

+ 8 - 1
app/src/main/java/kr/co/hanwha/hifive/screen/main/dashboard/MainDashboardPresenter.java

@@ -51,7 +51,7 @@ public class MainDashboardPresenter implements MainDashboardContract.Presenter {
     }
 
     @Override
-    public void initData(final boolean needLoading) {
+    public void initData(final boolean needLoading, final boolean isDescendingOrder) {
         ProjectDataRepository.getInstance().requestDashboardList(getContext(), new HanwhaNetworkCallback<DabDataRoot>() {
             @Override
             public void onSuccess(DabDataRoot response) {
@@ -59,6 +59,7 @@ public class MainDashboardPresenter implements MainDashboardContract.Presenter {
                 int count = 0;
                 if (response != null) {
                     mAdapterModelGreen.addItems(response.getTreeProjectsMembers());
+                    mAdapterModelGreen.sort(isDescendingOrder);
 //                    mAdapterModelOrange.addItems(response.getTreeOrangeProjectsMembers());
 
                     count = response.getTreeProjectsMembers() != null ? response.getTreeProjectsMembers().size() : 0;
@@ -90,4 +91,10 @@ public class MainDashboardPresenter implements MainDashboardContract.Presenter {
             }
         });
     }
+
+    @Override
+    public void reverseSort() {
+        mAdapterModelGreen.reverseSort();
+        mAdapterViewGreen.notifyDataAll();
+    }
 }

+ 7 - 1
app/src/main/java/kr/co/hanwha/hifive/screen/main/dashboard/contract/MainDashboardContract.java

@@ -14,12 +14,18 @@ public interface MainDashboardContract {
         void setEmptyViewOrange(boolean empty);
 
         void setEmptyViewGreen(boolean empty);
+
+        void initSortText();
+
+        void setSortText();
     }
 
     interface Presenter extends BasePresenter {
         /**
          * Initialize Data
          */
-        void initData(boolean needLoading);
+        void initData(boolean needLoading, boolean isDescendingOrder);
+
+        void reverseSort();
     }
 }

+ 1 - 1
app/src/main/java/kr/co/hanwha/hifive/screen/main/home/MainMyHomeFragment.java

@@ -312,7 +312,7 @@ public class MainMyHomeFragment extends BaseFragment implements MainMyHomeContra
 
         for (final ProjectInfoData pid : projects) {
             HFMyHomeProfileUnitView view = new HFMyHomeProfileUnitView(getActivity());
-            view.setProjectInfo(pid.getProject_avg_achieve_rate(), pid.getProject_name());
+            view.setProjectInfo(pid.getAchieve_rate(), pid.getProject_name());
             view.setOnClickListener(new View.OnClickListener() {
                 @Override
                 public void onClick(View view) {

+ 5 - 0
app/src/main/java/kr/co/hanwha/hifive/view/HFMyHomeProfileUnitView.java

@@ -51,14 +51,19 @@ public class HFMyHomeProfileUnitView extends LinearLayout {
         switch (achieveType) {
             case GREEN:
                 mImageViewStatus.setBackground(getContext().getResources().getDrawable(R.mipmap.ic_unit_g));
+                break;
             case YELLOW:
                 mImageViewStatus.setBackground(getContext().getResources().getDrawable(R.mipmap.ic_unit_y));
+                break;
             case ORANGE:
                 mImageViewStatus.setBackground(getContext().getResources().getDrawable(R.mipmap.ic_unit_o));
+                break;
             case RED:
                 mImageViewStatus.setBackground(getContext().getResources().getDrawable(R.mipmap.ic_unit_r));
+                break;
             default:
                 mImageViewStatus.setBackground(getContext().getResources().getDrawable(R.mipmap.ic_unit_g));
+                break;
         }
         mTextViewProject.setText(projectName);
     }

+ 2 - 2
app/src/main/res/layout/fragment_main_dashboard.xml

@@ -97,8 +97,8 @@
                     style="@style/font_notosans_r_16sp_grey02"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
-                    android:text="@string/main_dashboard_increase_sort"
-                    android:drawableRight="@mipmap/ic_arr_low"
+                    android:text="@string/main_dashboard_descending_order"
+                    android:drawableRight="@mipmap/ic_arr_high"
                     android:drawablePadding="3.5dp"/>
             </LinearLayout>
 

+ 2 - 2
app/src/main/res/values/strings.xml

@@ -108,8 +108,8 @@
     <string name="main_dashboard_empty_project">유닛이 없습니다.</string>
     <string name="main_dashboard_empty_project_green_prefix">"모든 유닛이 "</string>
     <string name="main_dashboard_empty_project_green_suffix">" 상태입니다."</string>
-    <string name="main_dashboard_increase_sort">달성도 낮은순</string>
-    <string name="main_dashboard_decrease_sort">달성도 높은순</string>
+    <string name="main_dashboard_ascending_order">달성도 낮은순</string>
+    <string name="main_dashboard_descending_order">달성도 높은순</string>
 
     <string name="main_setting_unit_management">유닛</string>
     <string name="main_setting_default_tab">기본 화면</string>