Browse Source

[마이][New] 북마크 리스트에 BookmarkModelHelper 적용

hyodong.min 7 years ago
parent
commit
8989f3b37e

+ 1 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/FragmentBase.java

@@ -156,6 +156,7 @@ public abstract class FragmentBase<P extends Presenter> extends Fragment impleme
 
     Glide.get(getContext()).clearMemory();
 
+    presenter.destroyView();
     super.onDestroyView();
     
     onAfterDestroyView();

+ 7 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/my/bookmark/BookMarkListModel.java

@@ -39,6 +39,7 @@ public class BookMarkListModel extends Model {
 
   @Override
   protected void destroyViewInternal() {
+    BookmarkModelHelper.getInstance().commit();
   }
 
   @Override
@@ -132,6 +133,12 @@ public class BookMarkListModel extends Model {
       @Override
       public void onApiSuccess(LifeplusAPIBean resultBean) {
         contentsBean.setBookmarked(toChecked);
+        if (toChecked) {
+          BookmarkModelHelper.getInstance().restoreBookmarkByNumber(contentsBean.getItemNumber());
+        }
+        else {
+          BookmarkModelHelper.getInstance().removeBookmarkByNumber(contentsBean.getItemNumber());
+        }
         onResult(new Event.Builder(Event.SUCCESS).integer(Event.CONTENTS_BOOKMARK).bool(toChecked).index(index).build());
       }
 

+ 11 - 3
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/my/bookmark/BookmarkModelHelper.java

@@ -3,6 +3,8 @@
  */
 package kr.co.zumo.app.lifeplus.view.screen.my.bookmark;
 
+import android.util.Log;
+
 import java.util.ArrayList;
 
 import io.reactivex.disposables.Disposable;
@@ -107,19 +109,25 @@ public class BookmarkModelHelper {
     if (null == itemNumberForRemoveList) {
       itemNumberForRemoveList = new ArrayList<>();
     }
+    if (null == bookmarkBeans) {
+      bookmarkBeans = new ArrayList<>();
+    }
 
     int itemLen = itemNumberForRemoveList.size();
-    int len = bookmarkBeans.size();
+    Log.i("APP# BookmarkModelHelper | commit", "|" + "bookmarkBeans.size => " + bookmarkBeans.size());
     for (int i = 0; i < itemLen; ++i) {
       String itemNumber = itemNumberForRemoveList.get(i);
-      for (int k = 0; k < len; ++i) {
-        BookmarkBean bean = bookmarkBeans.get(i);
+      int len = bookmarkBeans.size();
+      for (int k = 0; k < len; ++k) {
+        BookmarkBean bean = bookmarkBeans.get(k);
         if (bean.getItemNumber().equals(itemNumber)) {
+          Log.i("APP# BookmarkModelHelper | commit", "|--->" + "removed: \n" + bean.toJson());
           bookmarkBeans.remove(i);
           break;
         }
       }
     }
+    Log.i("APP# BookmarkModelHelper | commit", "|" + "bookmarkBeans.size => " + bookmarkBeans.size());
   }
 
   /**