Forráskód Böngészése

[공통][New] 개별 북마크 api 수정 - Bean updating

hyodong.min 6 éve
szülő
commit
4055af8127

+ 1 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/activity/KakaoTalkActivity.java

@@ -49,9 +49,8 @@ public class KakaoTalkActivity extends ActivityBaseSetup {
       // 데이터 준비
       LifeplusContentsBean lifeplusContentsBean = new LifeplusContentsBean();
       lifeplusContentsBean.setItemNo(itemNo);
-      lifeplusContentsBean.setPageIndex(Integer.parseInt(page));
 
-      ContentsDeliveryBean contentsDeliveryBean = new ContentsDeliveryBean.Builder(lifeplusContentsBean).build();
+      ContentsDeliveryBean contentsDeliveryBean = new ContentsDeliveryBean.Builder(lifeplusContentsBean).pageIndex(Integer.parseInt(page)).build();
 
       ActivityDeliveryHelper.getInstance().setPackaging(contentsDeliveryBean);
       SuperModel.getInstance().setContentsLink(true);

+ 24 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/bean/ContentsDeliveryBean.java

@@ -18,25 +18,49 @@ import kr.co.zumo.app.lifeplus.bean.api.LifeplusContentsBean;
 public class ContentsDeliveryBean extends JsonBeanBase {
 
   final private LifeplusContentsBean lifeplusContentsBean;
+  final private String listItemNo;
+  final private int pageIndex;
 
   private ContentsDeliveryBean(Builder builder) {
     this.lifeplusContentsBean = builder.lifeplusContentsBean;
+    this.listItemNo = builder.listItemNo;
+    this.pageIndex = builder.pageIndex;
   }
 
   public LifeplusContentsBean getContentsBean() {
     return lifeplusContentsBean;
   }
 
+  public String getListItemNo() {
+    return listItemNo;
+  }
+
+  public int getPageIndex() {
+    return pageIndex;
+  }
+
   /**
    * Builder
    */
   public static class Builder {
     private LifeplusContentsBean lifeplusContentsBean;
+    private String listItemNo = "";
+    private int pageIndex = 0;
 
     public Builder(LifeplusContentsBean lifeplusContentsBean) {
       this.lifeplusContentsBean = lifeplusContentsBean;
     }
 
+    public Builder listItemNo(String listItemNo) {
+      this.listItemNo = listItemNo;
+      return this;
+    }
+
+    public Builder pageIndex(int pageIndex) {
+      this.pageIndex = pageIndex;
+      return this;
+    }
+
     public ContentsDeliveryBean build() {
       return new ContentsDeliveryBean(this);
     }

+ 0 - 8
app/src/main/java/kr/co/zumo/app/lifeplus/bean/api/ContentsItemAdapterBean.java

@@ -126,14 +126,6 @@ public class ContentsItemAdapterBean extends ContentsItemBean {
     lifeplusContentsBean.setBookmarked(bookmarked);
   }
 
-  public int getPageIndex() {
-    return lifeplusContentsBean.getPageIndex();
-  }
-
-  public void setPageIndex(int pageIndex) {
-    lifeplusContentsBean.setPageIndex(pageIndex);
-  }
-
   /**
    * Web View 에서 표시할 url
    *

+ 0 - 9
app/src/main/java/kr/co/zumo/app/lifeplus/bean/api/LifeplusContentsBean.java

@@ -34,7 +34,6 @@ public class LifeplusContentsBean extends JsonBeanBase implements IImageTitleBea
   @SerializedName("lpCntsDtlUrl")
   private String contentsUrl;
 
-  private transient int pageIndex = 0;
   private transient boolean isLiked;
   private transient boolean isBookmarked;
 
@@ -118,14 +117,6 @@ public class LifeplusContentsBean extends JsonBeanBase implements IImageTitleBea
     isBookmarked = flags.isBookmarked(getItemNo(), getItemNo());
   }
 
-  public int getPageIndex() {
-    return pageIndex;
-  }
-
-  public void setPageIndex(int pageIndex) {
-    this.pageIndex = pageIndex;
-  }
-
   /**
    * Web View 에서 표시할 url
    *

+ 12 - 4
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/contents/ContentsBaseModel.java

@@ -47,6 +47,7 @@ public abstract class ContentsBaseModel extends Model {
   protected GuestLikedManager guestLikedManager;
 
   protected int currentPageIndex = 0;
+  protected String listItemNo = "";
 
   public ContentsBaseModel() {
     guestLikedManager = new GuestLikedManager();
@@ -140,10 +141,15 @@ public abstract class ContentsBaseModel extends Model {
    * DeliveryHelper 로 전달된 데이터를 저장한다.
    *
    * @param bean
+   * @param pageIndex
+   * @param listItemNo
    */
-  public void setContentsBean(LifeplusContentsBean bean) {
+  public void setContentsBean(LifeplusContentsBean bean, int pageIndex, String listItemNo) {
     this.contentsBean = bean;
-    currentPageIndex = bean.getPageIndex();
+    currentPageIndex = pageIndex;
+    this.listItemNo = listItemNo;
+
+    Log.i("APP# ContentsBaseModel | setContentsBean", "|" + " pageIndex: " + pageIndex + ", listItemNo: " + listItemNo);
 
     // 컨텐츠에 좋아요/북마크 설정
     if (isMember()) {
@@ -324,6 +330,8 @@ public abstract class ContentsBaseModel extends Model {
           BookmarkModelHelper.getInstance().removeBookmark(bean.getItemNo(), bean.getListItemNo());
         }
 
+        Log.i("APP# ContentsBaseModel | onApiSuccess", "|" + bookmarkBean.toPrettyJson());
+
         onResult(new Event.Builder(Event.SUCCESS).integer(Event.CONTENTS_BOOKMARK).bool(toChecked).build());
       }
 
@@ -339,8 +347,8 @@ public abstract class ContentsBaseModel extends Model {
     return currentPageIndex;
   }
 
-  public void setCurrentPageIndex(int currentPageIndex) {
-    this.currentPageIndex = currentPageIndex;
+  public void setCurrentPageIndex(int pageIndex) {
+    this.currentPageIndex = pageIndex;
   }
 
 }

+ 1 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/contents/ContentsBasePresenter.java

@@ -54,7 +54,7 @@ public abstract class ContentsBasePresenter<M extends ContentsBaseModel, V exten
 
     if (null != contentsDeliveryBean) {
       Log.w("APP# ContentsBaseModel | ContentsBaseModel", "|" + contentsDeliveryBean.toPrettyJson());
-      model.setContentsBean(contentsDeliveryBean.getContentsBean());
+      model.setContentsBean(contentsDeliveryBean.getContentsBean(), contentsDeliveryBean.getPageIndex(), contentsDeliveryBean.getListItemNo());
 
       model.clearDeliveryPackaging();
     }

+ 15 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/contents/ContentsModel.java

@@ -170,7 +170,7 @@ public class ContentsModel extends ContentsBaseModel {
           contentsBean.setImageUrl(contentsItemBean.getImageUrl());
         }
 
-        // 각 페이지(item) 별로
+        // 각 페이지(item) 별로 like/bookmark 설정
         List<ContentsItemBean> list = contentsDetailListBean.getItemDetailList();
         if (null != list) {
           if (isMember()) {
@@ -187,6 +187,20 @@ public class ContentsModel extends ContentsBaseModel {
           }
         }
 
+        // listItemNo 가 설정 됐다면 해당 페이지를 설정
+        Log.w("APP# ContentsModel | onApiSuccess", "|" + "listItemNo: " + listItemNo);
+        if (StringUtil.isFull(listItemNo)) {
+          int len = list.size();
+          for (int i = 0; i < len; ++i) {
+            ContentsItemBean itemBean = list.get(i);
+            if (listItemNo.equals(itemBean.getListItemNo())) {
+              Log.w("APP# ContentsModel | onApiSuccess", "|" + "listItemNo: " + listItemNo + ", currentPageIndex setting ---> " + currentPageIndex);
+              currentPageIndex = i;
+              break;
+            }
+          }
+        }
+
         Log.w("APP# ContentsModel | onApiSuccess", "|\n" + contentsDetailListBean.toPrettyJson());
 
         onResult(new Event.Builder(Event.SUCCESS).index(Event.LOADED_DETAIL).build());

+ 1 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/contents/ContentsOverviewPresenter.java

@@ -31,7 +31,7 @@ public class ContentsOverviewPresenter extends ContentsBasePresenter<ContentsOve
 
     if (null != packaging) {
       Log.w("APP# ContentsOverviewPresenter | ContentsOverviewPresenter", "|" + packaging.toPrettyJson());
-      model.setContentsBean(packaging.getContentsBean());
+      model.setContentsBean(packaging.getContentsBean(), -1, "");
       model.setContentsItemBeans(packaging.getContentsDetailListBean().getItemDetailList());
 
       model.clearDeliveryPackaging();

+ 2 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/contents/ContentsPresenter.java

@@ -158,12 +158,12 @@ public class ContentsPresenter extends ContentsBasePresenter<ContentsModel, ICon
         go(ScreenID.CONTENTS);
         break;
       case Event.LIKE:
-        // like
+        // series like
         model.setSeriesSelectedIndex(event.getIndex());
         model.updateSeriesLiked();
         break;
       case Event.BOOKMARK:
-        // bookmark
+        // series bookmark
         model.setSeriesSelectedIndex(event.getIndex());
         model.updateSeriesBookmarked();
         break;

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

@@ -3,7 +3,7 @@ package kr.co.zumo.app.lifeplus.view.screen.my.bookmark;
 import android.util.Log;
 
 import kr.co.zumo.app.lifeplus.bean.ContentsDeliveryBean;
-import kr.co.zumo.app.lifeplus.bean.api.LifeplusContentsBean;
+import kr.co.zumo.app.lifeplus.bean.api.BookmarkBean;
 import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
 import kr.co.zumo.app.lifeplus.view.DoubleChecker;
 import kr.co.zumo.app.lifeplus.view.Event;
@@ -90,8 +90,9 @@ public class BookMarkListPresenter extends Presenter<BookMarkListModel, IBookMar
       case Event.CONTENTS:
         index = model.getItemIndexByItemNumber(event.getString());
         Log.i("APP# BookMarkListPresenter | onEventInternal", "|===================> " + event);
-        LifeplusContentsBean bean = model.getBookmarkList().get(index);
-        ContentsDeliveryBean contentsDeliveryBean = new ContentsDeliveryBean.Builder(bean).build();
+        BookmarkBean bean = model.getBookmarkList().get(index);
+        Log.w("APP# BookMarkListPresenter | onEventInternal", "|" + bean.toPrettyJson());
+        ContentsDeliveryBean contentsDeliveryBean = new ContentsDeliveryBean.Builder(bean).listItemNo(bean.getListItemNo()).build();
 
         model.setDeliveryPackaging(contentsDeliveryBean);