Quellcode durchsuchen

Task 등록 소스 분리

sanghoonkwon vor 7 Jahren
Ursprung
Commit
4243f85f5c

+ 15 - 8
app/src/main/java/kr/co/hanwha/hifive/adapter/AddTaskSelectMemberListAdapter.java

@@ -1,5 +1,6 @@
 package kr.co.hanwha.hifive.adapter;
 
+import android.support.annotation.NonNull;
 import android.support.v7.widget.RecyclerView;
 import android.text.TextUtils;
 import android.view.ViewGroup;
@@ -30,8 +31,7 @@ public class AddTaskSelectMemberListAdapter extends RecyclerView.Adapter<Recycle
 
     private ArrayList<MemberInfoData> mListData;
     private ArrayList<MemberInfoData> mListSearchData;
-    private HashMap<String, MemberInfoData> mSelectedData;
-
+    private MemberInfoData mSelectedMemberInfoData;
 
     public AddTaskSelectMemberListAdapter(AddTaskSelectMemberListContract.OnSelectMemberListListener onRequestListListener) {
         mOnRequestListListener = onRequestListListener;
@@ -80,11 +80,10 @@ public class AddTaskSelectMemberListAdapter extends RecyclerView.Adapter<Recycle
     }
 
     @Override
-    public void setSelectedData(HashMap<String, MemberInfoData> selectedData) {
-        this.mSelectedData = selectedData;
+    public void setSelectedData(MemberInfoData selectedData) {
+        this.mSelectedMemberInfoData = selectedData;
     }
 
-
     /**************************************************
      * Adapter
      **************************************************/
@@ -96,12 +95,12 @@ public class AddTaskSelectMemberListAdapter extends RecyclerView.Adapter<Recycle
 
     @Override
     public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
+        SelectMemberListViewHolder view = (SelectMemberListViewHolder) holder;
 
         int index = position;
-
         MemberInfoData data = mListSearchData.get(index);
-        SelectMemberListViewHolder view = (SelectMemberListViewHolder) holder;
-        view.setSelected((mSelectedData != null && mSelectedData.containsKey(data.getKey())));
+
+        view.setSelected(isSelected(data));
         view.onBind(data, index);
 
     }
@@ -150,4 +149,12 @@ public class AddTaskSelectMemberListAdapter extends RecyclerView.Adapter<Recycle
         };
         return filter;
     }
+
+    /**************************************************
+     * Support methods..
+     **************************************************/
+    private boolean isSelected(@NonNull MemberInfoData data) {
+        if (mSelectedMemberInfoData == null) return false;
+        return data.getKey().equals(mSelectedMemberInfoData.getKey());
+    }
 }

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

@@ -32,6 +32,6 @@ public interface AddTaskSelectMemberListContract {
 
         void addItems(ArrayList<MemberInfoData> list);
 
-        void setSelectedData(HashMap<String, MemberInfoData> selectedData);
+        void setSelectedData(MemberInfoData selectedData);
     }
 }

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

@@ -105,7 +105,7 @@ public class MemberInfoData {
     }
 
     public String getKey() {
-        return project_id + "_ " + member_id;
+        return project_id + "_" + member_id;
     }
 
     public int getMember_id() {

+ 33 - 91
app/src/main/java/kr/co/hanwha/hifive/data/source/TaskDataRepository.java

@@ -37,8 +37,8 @@ public class TaskDataRepository implements TaskDataSource {
     private static TaskDataRepository sInstance = null;
 
     private static ArrayList<MemberInfoData> sListMemberInfo;
-    private static HashMap<String, MemberInfoData> sSelectedMemberInfo;
-    private static HashMap<String, MemberInfoData> sUnverifiedMemberInfo;
+    private static MemberInfoData sSelectedMemberInfo;
+    private static MemberInfoData sUnverifiedMemberInfoData;
 
     private static ArrayList<ProjectCampaignData> sListCampaignInfo;
     private static String sUnverifiedCampaignKey;
@@ -61,11 +61,8 @@ public class TaskDataRepository implements TaskDataSource {
         if (sListMemberInfo != null) sListMemberInfo.clear();
         sListMemberInfo = null;
 
-        if (sSelectedMemberInfo != null) sSelectedMemberInfo.clear();
         sSelectedMemberInfo = null;
-
-        if (sUnverifiedMemberInfo != null) sUnverifiedMemberInfo.clear();
-        sUnverifiedMemberInfo = null;
+        sUnverifiedMemberInfoData = null;
 
         if (sListCampaignInfo != null) sListCampaignInfo.clear();
         sListCampaignInfo = null;
@@ -75,68 +72,27 @@ public class TaskDataRepository implements TaskDataSource {
         sCampaignData = null;
     }
 
-    public static void setSelectMember(MemberInfoData data, boolean isSelect) {
-        if (sUnverifiedMemberInfo == null) sUnverifiedMemberInfo = new HashMap<>();
-
-        if (isSelect) {
-            if (sUnverifiedMemberInfo.size() > 0)
-                sUnverifiedMemberInfo.clear();
-
-            sUnverifiedMemberInfo.put(data.getKey(), data);
-            data.setSelectedTime();
-        } else {
-            if (sUnverifiedMemberInfo.containsKey(data.getKey())) {
-                sUnverifiedMemberInfo.remove(data.getKey());
-                data.clearSelectedTime();
-            }
-        }
+    public static void setSelectMember(MemberInfoData data) {
+        sUnverifiedMemberInfoData = data;
     }
 
-    // 다시 만들자...너무 구려..머리 맑을떄 다시..
     public static void setUnverifiedMemberInfo() {
-        if (sUnverifiedMemberInfo == null) sUnverifiedMemberInfo = new HashMap<>();
-        else sUnverifiedMemberInfo.clear();
-
-        if (sSelectedMemberInfo != null) {
-            for (MemberInfoData data : sListMemberInfo) {
-                if (sSelectedMemberInfo.containsKey(data.getKey()))
-                    sUnverifiedMemberInfo.put(data.getKey(), data);
-            }
-        }
+        sUnverifiedMemberInfoData = sSelectedMemberInfo;
     }
 
     public static void setVerifyMemberInfo() {
-        if (sSelectedMemberInfo != null && sUnverifiedMemberInfo != null) {
-            if (sSelectedMemberInfo.size() != sUnverifiedMemberInfo.size()) {
+        if (sSelectedMemberInfo != null && sUnverifiedMemberInfoData != null) {
+            if (sSelectedMemberInfo.getKey().equals(sUnverifiedMemberInfoData.getKey()) == false) {
                 sVerifiedCampaignKey = "";
-            } else {
-                for (String key : sSelectedMemberInfo.keySet()) {
-                    if (sUnverifiedMemberInfo.containsKey(key) == false)
-                        sVerifiedCampaignKey = "";
-                }
-
-                for (String key : sUnverifiedMemberInfo.keySet()) {
-                    if (sSelectedMemberInfo.containsKey(key) == false)
-                        sVerifiedCampaignKey = "";
-                }
             }
         } else {
             sVerifiedCampaignKey = "";
         }
-
-        if (sSelectedMemberInfo == null) sSelectedMemberInfo = new HashMap<>();
-        else sSelectedMemberInfo.clear();
-
-        if (sUnverifiedMemberInfo != null) {
-            for (MemberInfoData data : sListMemberInfo) {
-                if (sUnverifiedMemberInfo.containsKey(data.getKey()))
-                    sSelectedMemberInfo.put(data.getKey(), data);
-            }
-        }
+        sSelectedMemberInfo = sUnverifiedMemberInfoData;
     }
 
-    public static HashMap<String, MemberInfoData> getUnverifyMemberInfo() {
-        return sUnverifiedMemberInfo;
+    public static MemberInfoData getUnverifyMemberInfo() {
+        return sUnverifiedMemberInfoData;
     }
 
     /**
@@ -145,34 +101,20 @@ public class TaskDataRepository implements TaskDataSource {
      * @return
      */
     public static int getSelectedMemberid() {
-        ArrayList<MemberInfoData> list = getSelectedMemberList();
-        if (list.size() > 0) {
-            return list.get(0).getMember_id();
-        }
-        return 0;
+        if (sSelectedMemberInfo != null)
+            return sSelectedMemberInfo.getMember_id();
+        else return MemberDataRepository.getInstance().getMemberId();
     }
 
     public static ArrayList<MemberInfoData> getSelectedMemberList() {
         ArrayList<MemberInfoData> list = new ArrayList<>();
-        if (sListMemberInfo != null && sSelectedMemberInfo != null) {
-            for (MemberInfoData data : sListMemberInfo) {
-                if (sSelectedMemberInfo.containsKey(data.getKey())) list.add(data);
-            }
-        }
-        Collections.sort(list, sort);
-
+        if (sSelectedMemberInfo != null) list.add(sSelectedMemberInfo);
         return list;
     }
 
     public static ArrayList<MemberInfoData> getUnverifySelectedMemberList() {
         ArrayList<MemberInfoData> list = new ArrayList<>();
-        if (sListMemberInfo != null && sUnverifiedMemberInfo != null) {
-            for (MemberInfoData data : sListMemberInfo) {
-                if (sUnverifiedMemberInfo.containsKey(data.getKey())) list.add(data);
-            }
-        }
-        Collections.sort(list, sort);
-
+        if (sUnverifiedMemberInfoData != null) list.add(sUnverifiedMemberInfoData);
         return list;
     }
 
@@ -399,23 +341,6 @@ public class TaskDataRepository implements TaskDataSource {
         });
     }
 
-    @Override
-    public void requestUpdateTask(@NonNull Context context,
-                                  @NonNull TaskData taskData,
-                                  @Nullable CampaignData campaignData,
-                                  @Nullable final HanwhaNetworkCallback callback) {
-        ArrayList<MemberInfoData> list = new ArrayList<>();
-        list.add(new MemberInfoData(taskData.getMember_id(),
-                taskData.getMember_name(),
-                taskData.getMember_profile_url(),
-                taskData.getProject_id(),
-                taskData.getProject_name()));
-
-        String encryption_member_id = MemberDataRepository.getInstance().getEncryptionMemberId();
-        HFNetworkUtil networkUtil = new HFNetworkUtil();
-        networkUtil.requestUpdateTask(context, encryption_member_id, taskData, campaignData, callback);
-    }
-
     @Override
     public void requestGetTaskDetail(@NonNull Context context,
                                      @NonNull int task_id,
@@ -452,6 +377,23 @@ public class TaskDataRepository implements TaskDataSource {
                 });
     }
 
+    @Override
+    public void requestUpdateTask(@NonNull Context context,
+                                  @NonNull TaskData taskData,
+                                  @Nullable CampaignData campaignData,
+                                  @Nullable final HanwhaNetworkCallback callback) {
+        ArrayList<MemberInfoData> list = new ArrayList<>();
+        list.add(new MemberInfoData(taskData.getMember_id(),
+                taskData.getMember_name(),
+                taskData.getMember_profile_url(),
+                taskData.getProject_id(),
+                taskData.getProject_name()));
+
+        String encryption_member_id = MemberDataRepository.getInstance().getEncryptionMemberId();
+        HFNetworkUtil networkUtil = new HFNetworkUtil();
+        networkUtil.requestUpdateTask(context, encryption_member_id, taskData, campaignData, callback);
+    }
+
     @Override
     public void requestDeleteTask(@NonNull Context context,
                                   @NonNull TaskData taskData,

+ 14 - 15
app/src/main/java/kr/co/hanwha/hifive/data/source/contract/TaskDataSource.java

@@ -61,7 +61,7 @@ public interface TaskDataSource extends BaseDataSource {
                                         @NonNull HanwhaNetworkCallback callback);
 
     /**
-     * 해당 멤에 속한 Campaign 목록
+     * 해당 멤에 속한 Campaign 목록
      *
      * @param context        Context
      * @param listMemberInfo 받는 사람 목록에 있는 Member Id
@@ -71,7 +71,6 @@ public interface TaskDataSource extends BaseDataSource {
                                        @NonNull ArrayList<Integer> listMemberInfo,
                                        @NonNull HanwhaNetworkCallback callback);
 
-
     /**
      * TASK 생성
      *
@@ -89,19 +88,6 @@ public interface TaskDataSource extends BaseDataSource {
                          @Nullable CampaignData campaignData,
                          @Nullable HanwhaNetworkCallback callback);
 
-    /**
-     * TASK 수정
-     *
-     * @param context      Context
-     * @param taskData     TASK 데이터
-     * @param campaignData Campaign Info
-     * @param callback     콜백
-     */
-    void requestUpdateTask(@NonNull Context context,
-                           @NonNull TaskData taskData,
-                           @Nullable CampaignData campaignData,
-                           @Nullable HanwhaNetworkCallback callback);
-
     /**
      * TASK 조회(상세조회)
      *
@@ -115,6 +101,19 @@ public interface TaskDataSource extends BaseDataSource {
                               @NonNull int project_id,
                               @Nullable HanwhaNetworkCallback<TaskDetailRoot> callback);
 
+    /**
+     * TASK 수정
+     *
+     * @param context      Context
+     * @param taskData     TASK 데이터
+     * @param campaignData Campaign Info
+     * @param callback     콜백
+     */
+    void requestUpdateTask(@NonNull Context context,
+                           @NonNull TaskData taskData,
+                           @Nullable CampaignData campaignData,
+                           @Nullable HanwhaNetworkCallback callback);
+
     /**
      * TASK 삭제
      *

+ 3 - 8
app/src/main/java/kr/co/hanwha/hifive/screen/task/AddTaskSelectMemberPresenter.java

@@ -85,18 +85,13 @@ public class AddTaskSelectMemberPresenter implements AddTaskSelectMemberContract
 
     @Override
     public void updateObjectSelect(@NonNull MemberInfoData data, @NonNull int index, @NonNull boolean isSelect) {
-        TaskDataRepository.setSelectMember(data, isSelect);
+        if (isSelect)
+            TaskDataRepository.setSelectMember(data);
+        else TaskDataRepository.setSelectMember(null);
 
         mListAdapterModel.setSelectedData(TaskDataRepository.getUnverifyMemberInfo());
 
         mListAdapterView.notifyDataAll();
-        /*
-        if (index != -1) {
-            mListAdapterView.notifyDataRangeChanged(index, 1);
-        } else {
-            mListAdapterView.notifyDataAll();
-        }
-        */
 
         refreshSelectedMember();
     }