|
|
@@ -6,10 +6,7 @@ package kr.co.zumo.app.lifeplus.view.screen.contents;
|
|
|
import android.support.annotation.CallSuper;
|
|
|
import android.util.Log;
|
|
|
|
|
|
-import java.util.List;
|
|
|
-
|
|
|
import io.reactivex.disposables.Disposable;
|
|
|
-import kr.co.zumo.app.lifeplus.bean.GuestLikedListBean;
|
|
|
import kr.co.zumo.app.lifeplus.bean.api.BookmarkBean;
|
|
|
import kr.co.zumo.app.lifeplus.bean.api.ContentsBookmarkRequestBean;
|
|
|
import kr.co.zumo.app.lifeplus.bean.api.ContentsItemBean;
|
|
|
@@ -18,11 +15,9 @@ import kr.co.zumo.app.lifeplus.bean.api.LifeplusAPIBean;
|
|
|
import kr.co.zumo.app.lifeplus.bean.api.LifeplusContentsBean;
|
|
|
import kr.co.zumo.app.lifeplus.bean.api.LifeplusData;
|
|
|
import kr.co.zumo.app.lifeplus.model.Model;
|
|
|
-import kr.co.zumo.app.lifeplus.model.SuperModel;
|
|
|
import kr.co.zumo.app.lifeplus.model.module.APIError;
|
|
|
import kr.co.zumo.app.lifeplus.model.module.APIModuleSimpleListener;
|
|
|
import kr.co.zumo.app.lifeplus.supervisor.ContentsFlagHelper;
|
|
|
-import kr.co.zumo.app.lifeplus.supervisor.GuestLikedManager;
|
|
|
import kr.co.zumo.app.lifeplus.util.StringUtil;
|
|
|
import kr.co.zumo.app.lifeplus.view.Event;
|
|
|
import kr.co.zumo.app.lifeplus.view.screen.my.bookmark.BookmarkModelHelper;
|
|
|
@@ -44,15 +39,9 @@ public abstract class ContentsBaseModel extends Model {
|
|
|
|
|
|
protected LifeplusContentsBean contentsBean;
|
|
|
|
|
|
- protected GuestLikedManager guestLikedManager;
|
|
|
-
|
|
|
protected int currentPageIndex = 0;
|
|
|
protected String listItemNo = "";
|
|
|
|
|
|
- public ContentsBaseModel() {
|
|
|
- guestLikedManager = new GuestLikedManager();
|
|
|
- }
|
|
|
-
|
|
|
@Override
|
|
|
protected final void createViewInternal() {
|
|
|
}
|
|
|
@@ -62,7 +51,6 @@ public abstract class ContentsBaseModel extends Model {
|
|
|
protected final void destroyInternal() {
|
|
|
stopLoading();
|
|
|
contentsBean = null;
|
|
|
- saveGuestLikedList();
|
|
|
destroyViewInternalModel();
|
|
|
}
|
|
|
|
|
|
@@ -152,14 +140,8 @@ public abstract class ContentsBaseModel extends Model {
|
|
|
Log.i("APP# ContentsBaseModel | setContentsBean", "|" + " pageIndex: " + pageIndex + ", listItemNo: " + listItemNo);
|
|
|
|
|
|
// 컨텐츠에 좋아요/북마크 설정
|
|
|
- if (isMember()) {
|
|
|
- contentsBean.updateLike(ContentsFlagHelper.getInstance());
|
|
|
- contentsBean.updateBookmark(ContentsFlagHelper.getInstance());
|
|
|
- }
|
|
|
- else {
|
|
|
- defineGuestLikeBean();
|
|
|
- contentsBean.updateLike(guestLikedManager);
|
|
|
- }
|
|
|
+ contentsBean.updateLike(ContentsFlagHelper.getInstance());
|
|
|
+ contentsBean.updateBookmark(ContentsFlagHelper.getInstance());
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -205,53 +187,6 @@ public abstract class ContentsBaseModel extends Model {
|
|
|
getCurrentItem().setBookmarked(isChecked);
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 비회원의 경우 좋아요 정보를 로컬에 저장해둔다.
|
|
|
- * - 가입 시 서버로 전송
|
|
|
- */
|
|
|
- protected void updateGuestLiked(ContentsItemBean bean) {
|
|
|
- defineGuestLikeBean();
|
|
|
-
|
|
|
- // toggle
|
|
|
- boolean toChecked = !bean.isLiked();
|
|
|
- bean.setLiked(toChecked);
|
|
|
- if (toChecked) {
|
|
|
- guestLikedManager.addLiked(bean.getListItemNo());
|
|
|
- }
|
|
|
- else {
|
|
|
- guestLikedManager.removeLiked(bean.getListItemNo());
|
|
|
- }
|
|
|
-
|
|
|
- // for prev screen
|
|
|
- ContentsFlagHelper.getInstance().setChanged();
|
|
|
-
|
|
|
- // for UI
|
|
|
- onResult(new Event.Builder(Event.SUCCESS).integer(Event.CONTENTS_LIKE).bool(toChecked).build());
|
|
|
- }
|
|
|
-
|
|
|
- protected void defineGuestLikeBean() {
|
|
|
- List<String> list = guestLikedManager.getLikedList();
|
|
|
- if (null == list) {
|
|
|
- GuestLikedListBean bean = getGuestLikedList();
|
|
|
- if (null != bean) {
|
|
|
- Log.e("APP# ContentsBaseModel | defineGuestLikeBean", "|" + bean.toPrettyJson());
|
|
|
- }
|
|
|
- else {
|
|
|
- // bean 이 null 이면 저장된 값이 없는 경우;
|
|
|
- bean = new GuestLikedListBean();
|
|
|
- }
|
|
|
- guestLikedManager.setGuestLikedListBean(bean);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private GuestLikedListBean getGuestLikedList() {
|
|
|
- return SuperModel.getInstance().getGuestLikedListBean();
|
|
|
- }
|
|
|
-
|
|
|
- private void saveGuestLikedList() {
|
|
|
- SuperModel.getInstance().setGuestLikedListBean(guestLikedManager.getGuestLikedListBean());
|
|
|
- }
|
|
|
-
|
|
|
public final void stopLoading() {
|
|
|
if (null != disposableLiked) {
|
|
|
disposableLiked.dispose();
|
|
|
@@ -266,10 +201,9 @@ public abstract class ContentsBaseModel extends Model {
|
|
|
}
|
|
|
|
|
|
protected void stopLoadingInternal() {
|
|
|
-
|
|
|
}
|
|
|
|
|
|
- private void updateLikedInternal() {
|
|
|
+ public void updateLiked() {
|
|
|
ContentsItemBean bean = getCurrentItem();
|
|
|
boolean toChecked = !bean.isLiked();
|
|
|
disposableLiked = ContentsFlagHelper.getInstance().updateLiked(new ContentsLikeRequestBean(getUserName(), bean.getListItemNo(), LifeplusData.valueOf(toChecked)), new APIModuleSimpleListener<LifeplusAPIBean>() {
|
|
|
@@ -284,19 +218,6 @@ public abstract class ContentsBaseModel extends Model {
|
|
|
onResult(new Event.Builder(Event.ERROR).integer(Event.CONTENTS_LIKE).bool(toChecked).string(errorMessage).build());
|
|
|
}
|
|
|
});
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- public void updateLiked() {
|
|
|
-
|
|
|
- if (isMember()) {
|
|
|
- // 회원 좋아요.
|
|
|
- updateLikedInternal();
|
|
|
- }
|
|
|
- else {
|
|
|
- // 비회원 좋아요
|
|
|
- updateGuestLiked(getCurrentItem());
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
public void updateBookmarked() {
|