Kaynağa Gözat

[컨텐츠][New] 전체 보기: 컨텐츠 디테일 로딩하지 않고 바로 표시하도록

hyodong.min 7 yıl önce
ebeveyn
işleme
c012f96cdd

+ 43 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/bean/ContentsOverviewDeliveryBean.java

@@ -0,0 +1,43 @@
+/*
+ * COPYRIGHT (c) 2018 All rights reserved by HANWHA LIFE.
+ */
+package kr.co.zumo.app.lifeplus.bean;
+
+import kr.co.zumo.app.lifeplus.bean.api.ContentsDetailListBean;
+import kr.co.zumo.app.lifeplus.bean.api.LifeplusContentsBean;
+
+/**
+ * ContentsOverviewDeliveryBean
+ * <pre>
+ * </pre>
+ *
+ * @author 민효동
+ * @version 1.0
+ * @history 민효동   [2018. 12. 21.]   [최초 작성]
+ * @since 2018. 12. 21.
+ */
+public class ContentsOverviewDeliveryBean extends JsonBeanBase {
+
+  private final LifeplusContentsBean lifeplusContentsBean;
+
+  private final ContentsDetailListBean contentsDetailListBean;
+
+  /**
+   * 컨텐츠에서 전체보기로 데이터를 이동시키기위한 빈
+   *
+   * @param lifeplusContentsBean   북마크/좋아요
+   * @param contentsDetailListBean 표지 리스트
+   */
+  public ContentsOverviewDeliveryBean(LifeplusContentsBean lifeplusContentsBean, ContentsDetailListBean contentsDetailListBean) {
+    this.lifeplusContentsBean = lifeplusContentsBean;
+    this.contentsDetailListBean = contentsDetailListBean;
+  }
+
+  public LifeplusContentsBean getContentsBean() {
+    return lifeplusContentsBean;
+  }
+
+  public ContentsDetailListBean getContentsDetailListBean() {
+    return contentsDetailListBean;
+  }
+}

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

@@ -97,4 +97,8 @@ public class ContentsOverviewModel extends ContentsBaseModel {
   public void setResultPackaging(int index) {
     ActivityDeliveryHelper.getInstance().setPackaging(index);
   }
+
+  public void setContentsDetailBeans(List<ContentsDetailBean> contentsDetailBeans) {
+    this.contentsDetailBeans = contentsDetailBeans;
+  }
 }

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

@@ -1,6 +1,9 @@
 package kr.co.zumo.app.lifeplus.view.screen.contents;
 
+import android.util.Log;
+
 import kr.co.zumo.app.R;
+import kr.co.zumo.app.lifeplus.bean.ContentsOverviewDeliveryBean;
 import kr.co.zumo.app.lifeplus.helper.NavigationBar;
 import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
 import kr.co.zumo.app.lifeplus.util.ResourceUtil;
@@ -29,13 +32,26 @@ public class ContentsOverviewPresenter extends ContentsBasePresenter<ContentsOve
     super(model, view);
 
     doubleChecker = new DoubleChecker(this::render);
+
+    ContentsOverviewDeliveryBean packaging = model.getDeliveryPackaging(ContentsOverviewDeliveryBean.class);
+
+    if (null != packaging) {
+      Log.w("APP# ContentsOverviewPresenter | ContentsOverviewPresenter", "|" + packaging.toPrettyJson());
+      model.setContentsBean(packaging.getContentsBean());
+      model.setContentsDetailBeans(packaging.getContentsDetailListBean().getItemDetailList());
+
+      model.clearDeliveryPackaging();
+    }
   }
 
   @Override
   protected void startInternalOnce() {
-    if (null != this.model.getContentsBean()) {
+    if (null == this.model.getContentsDetailBeans()) {
       this.model.loadDetail();
     }
+    else {
+      doubleChecker.checkSecond();
+    }
   }
 
   private void render() {

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

@@ -7,6 +7,7 @@ import android.widget.Toast;
 
 import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.bean.ContentsDeliveryBean;
+import kr.co.zumo.app.lifeplus.bean.ContentsOverviewDeliveryBean;
 import kr.co.zumo.app.lifeplus.bean.ContentsWebDeliveryBean;
 import kr.co.zumo.app.lifeplus.bean.HtmlBean;
 import kr.co.zumo.app.lifeplus.bean.api.ContentsDetailBean;
@@ -371,7 +372,7 @@ public class ContentsPresenter extends ContentsBasePresenter<ContentsModel, ICon
           if (event.getEventId() == Event.OVER_VIEW) {
             dialog.dispose();
 
-            model.setDeliveryPackaging(new ContentsDeliveryBean.Builder(model.getContentsBean()).build());
+            model.setDeliveryPackaging(new ContentsOverviewDeliveryBean(model.getContentsBean(), model.getContentsDetailListBean()));
 
             go(ScreenID.OVER_VIEW);
           }