|
|
@@ -11,6 +11,7 @@ import java.util.List;
|
|
|
import io.reactivex.disposables.Disposable;
|
|
|
import kr.co.zumo.app.lifeplus.bean.api.BookmarkBean;
|
|
|
import kr.co.zumo.app.lifeplus.bean.api.BookmarkListResultBean;
|
|
|
+import kr.co.zumo.app.lifeplus.bean.api.ListItemNumberBean;
|
|
|
import kr.co.zumo.app.lifeplus.bean.api.PageRequestBean;
|
|
|
import kr.co.zumo.app.lifeplus.model.module.APIBookmarkAtCategoryModule;
|
|
|
import kr.co.zumo.app.lifeplus.model.module.APIError;
|
|
|
@@ -43,7 +44,7 @@ public class BookmarkModelHelper {
|
|
|
|
|
|
private Disposable disposableBookMarkList;
|
|
|
private List<BookmarkBean> bookmarkBeans;
|
|
|
- private List<String> itemNumberForRemoveList;
|
|
|
+ private List<ListItemNumberBean> itemNumberForRemoveList;
|
|
|
|
|
|
private boolean isLoaded = false;
|
|
|
|
|
|
@@ -88,8 +89,8 @@ public class BookmarkModelHelper {
|
|
|
|
|
|
int itemLen = itemNumberForRemoveList.size();
|
|
|
for (int i = 0; i < itemLen; ++i) {
|
|
|
- String itemNumber = itemNumberForRemoveList.get(i);
|
|
|
- removeBookmarkInternal(bookmarks, itemNumber);
|
|
|
+ ListItemNumberBean listItemNumberBean = itemNumberForRemoveList.get(i);
|
|
|
+ removeBookmarkInternal(bookmarks, listItemNumberBean.getItemNo(), listItemNumberBean.getListItemNo());
|
|
|
}
|
|
|
return bookmarks.size();
|
|
|
}
|
|
|
@@ -116,24 +117,25 @@ public class BookmarkModelHelper {
|
|
|
* - 마이 페이지가 아닌 컨텐츠 페이지에서 제거한다.
|
|
|
* - commit 없이 리스트에 직접 제거한다.
|
|
|
*
|
|
|
- * @param itemNumber
|
|
|
+ * @param itemNo
|
|
|
+ * @param listItemNo
|
|
|
*/
|
|
|
- public void removeBookmark(String itemNumber) {
|
|
|
+ public void removeBookmark(String itemNo, String listItemNo) {
|
|
|
if (null != bookmarkBeans) {
|
|
|
- removeBookmarkInternal(bookmarkBeans, itemNumber);
|
|
|
+ removeBookmarkInternal(bookmarkBeans, itemNo, listItemNo);
|
|
|
}
|
|
|
else {
|
|
|
Log.e("APP# BookmarkModelHelper | removeBookmark", "|" + " not yet loading..");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void removeBookmarkInternal(List<BookmarkBean> list, String itemNumber) {
|
|
|
+ private void removeBookmarkInternal(List<BookmarkBean> list, String itemNo, String listItemNo) {
|
|
|
|
|
|
int len = list.size();
|
|
|
Log.i("APP# BookmarkModelHelper | removeBookmark", "|" + "bookmarkBeans.size => " + list.size());
|
|
|
for (int k = 0; k < len; ++k) {
|
|
|
BookmarkBean bean = list.get(k);
|
|
|
- if (bean.getItemNo().equals(itemNumber)) {
|
|
|
+ if (bean.getItemNo().equals(itemNo) && bean.getListItemNo().equals(listItemNo)) {
|
|
|
list.remove(k);
|
|
|
Log.i("APP# BookmarkModelHelper | removeBookmark", "|---> size: " + list.size() + ", removed: \n" + bean.toJson());
|
|
|
break;
|
|
|
@@ -148,16 +150,17 @@ public class BookmarkModelHelper {
|
|
|
* - 버킷 리스트와는 달리 북마크는 마이 페이지에서 추가가 불가하다.
|
|
|
* - 북마크 해제했던 아이템을 복원하는 기능만 있다.
|
|
|
*
|
|
|
- * @param itemNumber
|
|
|
+ * @param itemNo
|
|
|
+ * @param listItemNo
|
|
|
*/
|
|
|
- public void restoreBookmarkByNumber(String itemNumber) {
|
|
|
+ public void restoreBookmarkByNumber(String itemNo, String listItemNo) {
|
|
|
if (null == itemNumberForRemoveList) {
|
|
|
itemNumberForRemoveList = new ArrayList<>();
|
|
|
}
|
|
|
int len = itemNumberForRemoveList.size();
|
|
|
for (int i = 0; i < len; ++i) {
|
|
|
- String number = itemNumberForRemoveList.get(i);
|
|
|
- if (number.equals(itemNumber)) {
|
|
|
+ ListItemNumberBean listItemNumberBean = itemNumberForRemoveList.get(i);
|
|
|
+ if (listItemNumberBean.getItemNo().equals(itemNo) && listItemNumberBean.getListItemNo().equals(listItemNo)) {
|
|
|
itemNumberForRemoveList.remove(i);
|
|
|
break;
|
|
|
}
|
|
|
@@ -168,13 +171,14 @@ public class BookmarkModelHelper {
|
|
|
* bookmark 번호로 제거
|
|
|
* - commit()을 해야 실제 데이터에 적용된다.
|
|
|
*
|
|
|
- * @param itemNumber
|
|
|
+ * @param itemNo
|
|
|
+ * @param listItemNo
|
|
|
*/
|
|
|
- public void removeBookmarkByNumber(String itemNumber) {
|
|
|
+ public void removeBookmarkByNumber(String itemNo, String listItemNo) {
|
|
|
if (null == itemNumberForRemoveList) {
|
|
|
itemNumberForRemoveList = new ArrayList<>();
|
|
|
}
|
|
|
- itemNumberForRemoveList.add(itemNumber);
|
|
|
+ itemNumberForRemoveList.add(new ListItemNumberBean(itemNo, listItemNo));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -187,8 +191,8 @@ public class BookmarkModelHelper {
|
|
|
|
|
|
int itemLen = itemNumberForRemoveList.size();
|
|
|
for (int i = 0; i < itemLen; ++i) {
|
|
|
- String itemNumber = itemNumberForRemoveList.get(i);
|
|
|
- removeBookmark(itemNumber);
|
|
|
+ ListItemNumberBean listItemNumberBean = itemNumberForRemoveList.get(i);
|
|
|
+ removeBookmark(listItemNumberBean.getItemNo(), listItemNumberBean.getListItemNo());
|
|
|
}
|
|
|
itemNumberForRemoveList = null;
|
|
|
}
|
|
|
@@ -221,6 +225,7 @@ public class BookmarkModelHelper {
|
|
|
public void onApiEnd() {
|
|
|
listener.onApiEnd();
|
|
|
}
|
|
|
+
|
|
|
@Override
|
|
|
public void onApiSuccess(BookmarkListResultBean resultBean) {
|
|
|
bookmarkBeans = resultBean.getData();
|