瀏覽代碼

[카테고리][New] 추천의 시리즈는 아이템이 1개 이상이면 시리즈 스크린으로 이동
- 콘텐츠 상세는 3개 이상일 때 표시 (전과 동일)

hyodong.min 6 年之前
父節點
當前提交
6f7feb54c7

+ 36 - 6
app/src/main/java/kr/co/zumo/app/lifeplus/bean/api/ContentsDetailListBean.java

@@ -29,6 +29,8 @@ public class ContentsDetailListBean extends JsonBeanBase {
   @SerializedName("rcmdCntsList")
   private List<WithShownItemBean> withItemList;
 
+  private List<SeriesItemBean> seriesScreenItemList;
+
   private transient SeriesItemBean seriesInfo;
 
   public List<ContentsItemBean> getItemDetailList() {
@@ -63,17 +65,45 @@ public class ContentsDetailListBean extends JsonBeanBase {
    * 시리즈의 첫 번째 데이터는 시리즈의 정보
    */
   public void setupSeriesInfo() {
-    // 3개 이상 일 경우에만 시리즈를 표시한다.
-    if (null != seriesItemList && seriesItemList.size() > 3) {
-      seriesInfo = seriesItemList.remove(0);
-    }
-    else {
-      seriesItemList = new ArrayList<>();
+    if (null != seriesItemList) {
+      // 3개 이상 일 경우에만 콘텐츠 상세 시리즈를 표시한다.
+      if (seriesItemList.size() >= 4) {
+        seriesInfo = seriesItemList.remove(0);
+      }
+      else {
+        // 1개 이상 있으면 콘텐츠 상세에는 표시하지 않지만, 추천 -> 시리즈 스크린으로는 표시한다.
+        if (seriesItemList.size() >= 2) {
+          seriesInfo = seriesItemList.remove(0);
+          seriesScreenItemList = new ArrayList<>(seriesItemList);
+        }
+
+        seriesItemList = new ArrayList<>();
+      }
     }
   }
 
+  /**
+   * 최소한의 시리즈 정보가 있는지 확인
+   * - 1개라도 데이터가 있으면 카테고리 메인 -> 시리즈 스크린으로 이동해야함
+   *
+   * @return
+   */
+  public boolean hasSeriesScreen() {
+    return null != seriesScreenItemList && seriesScreenItemList.size() > 0;
+  }
+
+  /**
+   * 시리즈 스크린에서만 사용하는 리스트
+   *
+   * @return
+   */
+  public List<SeriesItemBean> getSeriesScreenItemList() {
+    return seriesScreenItemList;
+  }
+
   /**
    * 시리즈가 있는지 확인
+   * - 3개 이상일 경우에만 콘텐츠 상세에 표시한다
    *
    * @return
    */

+ 1 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/category/CategoryMainPresenter.java

@@ -274,7 +274,7 @@ public abstract class CategoryMainPresenter<M extends CategoryMainModel, V exten
         }
         else if (event.getInteger() == Event.LOADED_DETAIL) {
           if (null != model.getContentsDetailListBean()
-            && model.getContentsDetailListBean().hasSeries()) {
+            && model.getContentsDetailListBean().hasSeriesScreen()) {
             Log.w("APP# CategoryMainPresenter | onResult", "|" + " series            --> ");
 
             model.setDeliveryPackaging(model.getContentsDetailListBean());

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

@@ -78,7 +78,7 @@ public class ContentsSeriesModel extends ContentsBaseModel {
   }
 
   public List<SeriesItemBean> getSeriesItemBeans() {
-    return contentsDetailListBean.getSeriesItemList();
+    return contentsDetailListBean.getSeriesScreenItemList();
   }
 
   public void setSelectedIndex(int index) {