Преглед изворни кода

[콘텐츠][New] 페이지 공유 시 html/movie 타입은 커버 이미지를 사용한다.
- 전체 보기에 사용된 로직도 모듈로 통일

hyodong.min пре 6 година
родитељ
комит
b75633858e

+ 33 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/model/module/APIContentsDetailModule.java

@@ -3,15 +3,18 @@
  */
 package kr.co.zumo.app.lifeplus.model.module;
 
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
 import io.reactivex.Single;
+import kr.co.zumo.app.lifeplus.bean.api.ContentsDetailImageBean;
 import kr.co.zumo.app.lifeplus.bean.api.ContentsDetailListBean;
 import kr.co.zumo.app.lifeplus.bean.api.ContentsDetailResultBean;
 import kr.co.zumo.app.lifeplus.bean.api.ContentsItemBean;
 import kr.co.zumo.app.lifeplus.bean.api.ItemNoRequestBean;
+import kr.co.zumo.app.lifeplus.bean.api.LifeplusImageBean;
 import kr.co.zumo.app.lifeplus.bean.api.SeriesItemBean;
 import kr.co.zumo.app.lifeplus.network.api.LifeplusAPIRepository;
 import kr.co.zumo.app.lifeplus.util.StringUtil;
@@ -68,6 +71,36 @@ public class APIContentsDetailModule extends LifeplusAPIModule<ItemNoRequestBean
         // 시리즈 정보 반영
         contentsDetailListBean.setupSeriesInfo();
 
+        // movie/html 페이지의 공유/전체보기 이미지를 커버(0번째 item) 으로 맵핑
+        for (ContentsItemBean contentsItemBean : contentsItemBeans) {
+          if (LifeplusImageBean.TYPE_HTML.equals(contentsItemBean.getImageType())
+            || LifeplusImageBean.TYPE_MOVIE.equals(contentsItemBean.getImageType())) {
+            // html 일 경우 커버 이미지를 사용한다.
+            ContentsItemBean coverBean = contentsItemBeans.get(0);
+            String imageUrl = coverBean.getImageUrl();
+            String overviewImageUrl = coverBean.getOverviewImageUrl();
+            if (StringUtil.isFull(imageUrl) && StringUtil.isEmpty(overviewImageUrl)) {
+              overviewImageUrl = imageUrl;
+            }
+            ContentsDetailImageBean imageBean;
+            List<ContentsDetailImageBean> list = contentsItemBean.getItemImageList();
+            if (null != list && list.size() > 0) {
+              imageBean = list.get(0);  // 이미지 bean 을 그대로 사용해야 html url 이 사라지지 않는다. 사라지면 콘텐츠로 돌아갔을 때 페이지가 표시되지않는다.
+              imageBean.setImageUrl(imageUrl);
+              imageBean.setImageUrlForOverview(overviewImageUrl);
+              list.set(0, imageBean);
+            }
+            else {
+              imageBean = new ContentsDetailImageBean();
+              imageBean.setImageUrl(imageUrl);
+              imageBean.setImageUrlForOverview(overviewImageUrl);
+              list = new ArrayList<>();
+              list.add(imageBean);
+            }
+            contentsItemBean.setItemImageList(list);
+          }
+        }
+
         return contentsDetailResultBean;
       });
   }

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

@@ -58,25 +58,6 @@ public class ContentsOverviewAdapter extends RecyclerView.Adapter<ContentsOvervi
 
     ContentsItemBean contentsItemBean = contentsDetailList.get(position);
 
-    if (LifeplusImageBean.TYPE_HTML.equals(contentsItemBean.getImageType())) {
-      // html 일 경우 커버 이미지를 사용한다.
-      List<ContentsDetailImageBean> list = contentsItemBean.getItemImageList();
-      String url = contentsDetailList.get(0).getOverviewImageUrl();
-      ContentsDetailImageBean imageBean;
-      if (null != list && list.size() > 0) {
-        imageBean = list.get(0);  // 이미지 bean 을 그대로 사용해야 html url 이 사라지지 않는다. 사라지면 콘텐츠로 돌아갔을 때 페이지가 표시되지않는다.
-        imageBean.setImageUrlForOverview(url);
-        list.set(0, imageBean);
-      }
-      else {
-        imageBean = new ContentsDetailImageBean();
-        imageBean.setImageUrlForOverview(url);
-        list = new ArrayList<>();
-        list.add(imageBean);
-      }
-      contentsItemBean.setItemImageList(list);
-    }
-
     holder.bind(position, contentsItemBean, event -> {
       listener.onEvent(event);
     });