|
@@ -1,7 +1,5 @@
|
|
|
package kr.co.zumo.app.lifeplus.view.screen.my.bookmark;
|
|
package kr.co.zumo.app.lifeplus.view.screen.my.bookmark;
|
|
|
|
|
|
|
|
-import android.support.annotation.NonNull;
|
|
|
|
|
-
|
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
|
|
@@ -209,24 +207,6 @@ public class BookMarkListModel extends Model {
|
|
|
return categoryAnchorIndies;
|
|
return categoryAnchorIndies;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- /**
|
|
|
|
|
- * itemNumber 로 index 를 가져온다.
|
|
|
|
|
- * - 북마크를 카테고리 별로 정렬하면서 아이템의 index 가 변경되기 때문에.
|
|
|
|
|
- *
|
|
|
|
|
- * @param itemNo
|
|
|
|
|
- * @return
|
|
|
|
|
- */
|
|
|
|
|
- public int getItemIndex(@NonNull String itemNo, @NonNull String listItemNo) {
|
|
|
|
|
- int len = bookmarkBeans.size();
|
|
|
|
|
- for (int i = 0; i < len; ++i) {
|
|
|
|
|
- BookmarkBean bean = bookmarkBeans.get(i);
|
|
|
|
|
- if (itemNo.equalsIgnoreCase(bean.getItemNo()) && listItemNo.equals(bean.getListItemNo())) {
|
|
|
|
|
- return i;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- return -1;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
/**
|
|
/**
|
|
|
* 카테고리 구분된 index 로 해당 카테고리 index 를 반환
|
|
* 카테고리 구분된 index 로 해당 카테고리 index 를 반환
|
|
|
* - 없으면 -1 반환
|
|
* - 없으면 -1 반환
|
|
@@ -275,22 +255,21 @@ public class BookMarkListModel extends Model {
|
|
|
* 좋아요 갱신
|
|
* 좋아요 갱신
|
|
|
*
|
|
*
|
|
|
* @param index data 의 index
|
|
* @param index data 의 index
|
|
|
- * @param viewListIndex view 의 index
|
|
|
|
|
*/
|
|
*/
|
|
|
- public void updateLiked(int index, int viewListIndex) {
|
|
|
|
|
- BookmarkBean contentsBean = getBookmarkList().get(index);
|
|
|
|
|
|
|
+ public void updateLiked(int index) {
|
|
|
|
|
+ BookmarkBean contentsBean = getCurrentBookmarkBean(index);
|
|
|
|
|
|
|
|
boolean toChecked = !contentsBean.isLiked();
|
|
boolean toChecked = !contentsBean.isLiked();
|
|
|
disposableLiked = ContentsFlagHelper.getInstance().updateLiked(new ContentsLikeRequestBean(getUserName(), contentsBean.getListItemNo(), APIData.valueOf(toChecked)), new APIModuleListener<LifeplusAPIBean>() {
|
|
disposableLiked = ContentsFlagHelper.getInstance().updateLiked(new ContentsLikeRequestBean(getUserName(), contentsBean.getListItemNo(), APIData.valueOf(toChecked)), new APIModuleListener<LifeplusAPIBean>() {
|
|
|
@Override
|
|
@Override
|
|
|
public void onApiSuccess(LifeplusAPIBean resultBean) {
|
|
public void onApiSuccess(LifeplusAPIBean resultBean) {
|
|
|
contentsBean.setLiked(toChecked);
|
|
contentsBean.setLiked(toChecked);
|
|
|
- onResult(new Event.Builder(Event.SUCCESS).integer(Event.CONTENTS_LIKE).bool(toChecked).index(viewListIndex).build());
|
|
|
|
|
|
|
+ onResult(new Event.Builder(Event.SUCCESS).integer(Event.CONTENTS_LIKE).bool(toChecked).index(index).build());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public void onApiError(String errorMessage, APIError error) {
|
|
public void onApiError(String errorMessage, APIError error) {
|
|
|
- onResult(new Event.Builder(Event.ERROR).integer(Event.CONTENTS_LIKE).bool(toChecked).index(viewListIndex).string(errorMessage).build());
|
|
|
|
|
|
|
+ onResult(new Event.Builder(Event.ERROR).integer(Event.CONTENTS_LIKE).bool(toChecked).index(index).string(errorMessage).build());
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
@@ -299,10 +278,9 @@ public class BookMarkListModel extends Model {
|
|
|
* 북마크 갱신
|
|
* 북마크 갱신
|
|
|
*
|
|
*
|
|
|
* @param index data 의 index
|
|
* @param index data 의 index
|
|
|
- * @param viewListIndex view 의 index
|
|
|
|
|
*/
|
|
*/
|
|
|
- public void updateBookmarked(int index, int viewListIndex) {
|
|
|
|
|
- BookmarkBean contentsBean = getBookmarkList().get(index);
|
|
|
|
|
|
|
+ public void updateBookmarked(int index) {
|
|
|
|
|
+ BookmarkBean contentsBean = getCurrentBookmarkBean(index);
|
|
|
|
|
|
|
|
boolean toChecked = !contentsBean.isBookmarked();
|
|
boolean toChecked = !contentsBean.isBookmarked();
|
|
|
disposableBookmarked = ContentsFlagHelper.getInstance().updateBookmarked(new ContentsBookmarkRequestBean(getUserName(), contentsBean.getItemNo(), contentsBean.getListItemNo(), APIData.valueOf(toChecked)), new APIModuleListener<LifeplusAPIBean>() {
|
|
disposableBookmarked = ContentsFlagHelper.getInstance().updateBookmarked(new ContentsBookmarkRequestBean(getUserName(), contentsBean.getItemNo(), contentsBean.getListItemNo(), APIData.valueOf(toChecked)), new APIModuleListener<LifeplusAPIBean>() {
|
|
@@ -315,12 +293,12 @@ public class BookMarkListModel extends Model {
|
|
|
else {
|
|
else {
|
|
|
BookmarkManager.getInstance().removeBookmarkByNumber(contentsBean.getItemNo(), contentsBean.getListItemNo());
|
|
BookmarkManager.getInstance().removeBookmarkByNumber(contentsBean.getItemNo(), contentsBean.getListItemNo());
|
|
|
}
|
|
}
|
|
|
- onResult(new Event.Builder(Event.SUCCESS).integer(Event.CONTENTS_BOOKMARK).bool(toChecked).index(viewListIndex).build());
|
|
|
|
|
|
|
+ onResult(new Event.Builder(Event.SUCCESS).integer(Event.CONTENTS_BOOKMARK).bool(toChecked).index(index).build());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public void onApiError(String errorMessage, APIError error) {
|
|
public void onApiError(String errorMessage, APIError error) {
|
|
|
- onResult(new Event.Builder(Event.ERROR).integer(Event.CONTENTS_BOOKMARK).bool(toChecked).index(viewListIndex).string(errorMessage).build());
|
|
|
|
|
|
|
+ onResult(new Event.Builder(Event.ERROR).integer(Event.CONTENTS_BOOKMARK).bool(toChecked).index(index).string(errorMessage).build());
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
@@ -341,4 +319,20 @@ public class BookMarkListModel extends Model {
|
|
|
ContentsFlagHelper.getInstance().clearChanged(hashCode);
|
|
ContentsFlagHelper.getInstance().clearChanged(hashCode);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 정렬 타입에 따른 데이터 반환
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param index
|
|
|
|
|
+ * @return
|
|
|
|
|
+ */
|
|
|
|
|
+ public BookmarkBean getCurrentBookmarkBean(int index) {
|
|
|
|
|
+ if (getSort() == Event.BOOKMARK_CATEGORY) {
|
|
|
|
|
+ // 카테고리 별
|
|
|
|
|
+ return categorizedBookmarkList.get(index);
|
|
|
|
|
+ }
|
|
|
|
|
+ else {
|
|
|
|
|
+ // 최신 순
|
|
|
|
|
+ return bookmarkBeans.get(index);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|