Quellcode durchsuchen

[컨텐츠][New] 커버 placeholder 제거, 로딩 동안 로딩바 표시

hyodong.min vor 6 Jahren
Ursprung
Commit
8c359866a6

+ 2 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/Event.java

@@ -152,6 +152,7 @@ public class Event {
   public static final int SUBMIT = 124;
   public static final int NOTICE = 125;
   public static final int WEATHER = 126;
+  public static final int COVER = 127;
 
   @Retention(RetentionPolicy.SOURCE)
   @IntDef({
@@ -165,7 +166,7 @@ public class Event {
     MY_FAQ, UPDATE, FILTER, CLOSE, HELP, CONTENTS, MORE, BANNER, RECOMMEND, KAKAO_TALK, FACE_BOOK, CODE_COPY, EVENT, TAG, BOOKMARK, ORDER, DEFAULT, COMPLETE_BUCKET,
     LIKE, FRAGMENT_STACK_EMPTY, OVER_VIEW, SHARE, CALL_INFO, LINK, HOME_PAGE, INSTAGRAM, ADDRESS, SCROLL, SORT, TUTORIAL, CLICK_HTML, LAST, PREV, NEXT, REFRESH, MY_EVENT,
     ING_EVENT, WINNER_ANNOUNCEMENT, COUPON, TODAY, RECT, VOTE, MAIN, SEARCH, COIN, ENTRY, IMAGE, DIALOG, URI, AGREE, PUSH, NEWS, WITH_SHOWN, POINT, FOCUS, TEXT,
-    PHOTO, PERMISSION_GRANTED, SUBMIT, NOTICE, WEATHER
+    PHOTO, PERMISSION_GRANTED, SUBMIT, NOTICE, WEATHER, COVER
   })
   public @interface ID {}
 

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

@@ -20,7 +20,7 @@ import java.util.List;
 import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.bean.api.ContentsDetailImageBean;
 import kr.co.zumo.app.lifeplus.bean.api.ContentsItemBean;
-import kr.co.zumo.app.lifeplus.util.ResourceUtil;
+import kr.co.zumo.app.lifeplus.view.Event;
 import kr.co.zumo.app.lifeplus.view.Visibler;
 
 /**
@@ -56,7 +56,8 @@ public class ContentsCardCoverHolder extends ContentsHolder<ContentsItemBean> {
       .asBitmap()
 //      .apply(new RequestOptions().diskCacheStrategy(DiskCacheStrategy.NONE))
       .apply(new RequestOptions().skipMemoryCache(true))
-      .apply(new RequestOptions().placeholder(ResourceUtil.getDrawable(imageViewCardListicleCover.getContext(), R.drawable.image_loading_full)))
+      // 커버에는 placeholder 없음.
+//      .apply(new RequestOptions().placeholder(ResourceUtil.getDrawable(imageViewCardListicleCover.getContext(), R.drawable.image_loading_full)))
       .load(bean.getImageUrl())
       .transition(new BitmapTransitionOptions().crossFade(100))
       .listener(new RequestListener<Bitmap>() {
@@ -70,6 +71,7 @@ public class ContentsCardCoverHolder extends ContentsHolder<ContentsItemBean> {
           Visibler.visible(dimTop, dimBottom);
           imageViewCardListicleCover.setImageResource(0);
           imageViewCardListicleCover.setScaleType(ImageView.ScaleType.CENTER_CROP);
+          listener.onEvent(new Event.Builder(Event.COVER).build());
           return false;
         }
       })

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

@@ -19,7 +19,6 @@ import java.util.List;
 
 import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.bean.api.ContentsItemBean;
-import kr.co.zumo.app.lifeplus.util.ResourceUtil;
 import kr.co.zumo.app.lifeplus.util.StringUtil;
 import kr.co.zumo.app.lifeplus.view.Event;
 import kr.co.zumo.app.lifeplus.view.Visibler;
@@ -80,7 +79,8 @@ public class ContentsListicleCoverHolder extends ContentsHolder<ContentsItemBean
       .transition(new BitmapTransitionOptions().crossFade(100))
 //      .apply(new RequestOptions().diskCacheStrategy(DiskCacheStrategy.NONE))
       .apply(new RequestOptions().skipMemoryCache(true))
-      .apply(new RequestOptions().placeholder(ResourceUtil.getDrawable(imageViewBackground.getContext(), R.drawable.image_loading_full)))
+      // 커버에는 placeholder 없음.
+//      .apply(new RequestOptions().placeholder(ResourceUtil.getDrawable(imageViewBackground.getContext(), R.drawable.image_loading_full)))
       .listener(new RequestListener<Bitmap>() {
         @Override
         public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Bitmap> target, boolean isFirstResource) {
@@ -93,6 +93,7 @@ public class ContentsListicleCoverHolder extends ContentsHolder<ContentsItemBean
           imageViewBackground.setImageResource(0);
           imageViewBackground.setScaleType(ImageView.ScaleType.CENTER_CROP);
           listener.onEvent(new Event.Builder(Event.TUTORIAL).build());
+          listener.onEvent(new Event.Builder(Event.COVER).build());
           return false;
         }
       })

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

@@ -60,6 +60,7 @@ public class ContentsPresenter extends ContentsBasePresenter<ContentsModel, ICon
       if (StringUtil.isFull(itemType) && ContentsItemBean.ITEM_TYPE_LISTICLE.equalsIgnoreCase(itemType)) {
         String listType = contentsItemBean.getListType();
         view.draw(model.getContentsNo(), listType, model.getContentsDetailListBean());
+        showWaiter(); // 커버 이지미 로딩 완료 전까지 표시
 
         if (model.getCurrentPageIndex() > 0) {
           view.setScrollToPosition(model.getCurrentPageIndex());
@@ -245,6 +246,10 @@ public class ContentsPresenter extends ContentsBasePresenter<ContentsModel, ICon
         model.setDeliveryPackaging(new ContentsDeliveryBean.Builder(withShownItemBean).build());
         go(ScreenID.CONTENTS);
         break;
+      case Event.COVER:
+        // 커버 로딩 완료
+        hideWaiter();
+        break;
       default:
         break;
     }