浏览代码

Merge branch 'develop' of https://github.com/swict/LifePlusAndroid into develop

Hasemi 7 年之前
父节点
当前提交
9a3d45a90c

+ 10 - 14
app/src/main/java/kr/co/zumo/app/lifeplus/view/custom/contents/CustomListicleImageView.java

@@ -47,6 +47,16 @@ public class CustomListicleImageView extends ConstraintLayout {
     init(context);
   }
 
+  public CustomListicleImageView(Context context, AttributeSet attrs) {
+    super(context, attrs);
+    init(context);
+  }
+
+  public CustomListicleImageView(Context context, AttributeSet attrs, int defStyleAttr) {
+    super(context, attrs, defStyleAttr);
+    init(context);
+  }
+
   private void init(Context context) {
     LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
     inflater.inflate(R.layout.custom_listicle_image_view, this);
@@ -64,16 +74,6 @@ public class CustomListicleImageView extends ConstraintLayout {
     snapHelper.attachToRecyclerView(recyclerView);
   }
 
-  public CustomListicleImageView(Context context, AttributeSet attrs) {
-    super(context, attrs);
-    init(context);
-  }
-
-  public CustomListicleImageView(Context context, AttributeSet attrs, int defStyleAttr) {
-    super(context, attrs, defStyleAttr);
-    init(context);
-  }
-
   private RecyclerView.OnItemTouchListener touchEventListener = new RecyclerView.OnItemTouchListener() {
     @Override
     public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
@@ -127,10 +127,6 @@ public class CustomListicleImageView extends ConstraintLayout {
       layoutPager.setVisibility(View.GONE);
     }
 
-//    if (recyclerView.getOnFlingListener() == null) {
-//      Snapper snapper = new Snapper(recyclerView, 800);
-//      snapper.attachToRecyclerView(recyclerView);
-//    }
     LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
     LinearLayoutManager linearLayoutManager = new LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false);
     recyclerView.setLayoutManager(linearLayoutManager);

+ 3 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/custom/contents/CustomListicleImageViewAdapter.java

@@ -3,6 +3,7 @@ package kr.co.zumo.app.lifeplus.view.custom.contents;
 import android.content.Context;
 import android.support.annotation.NonNull;
 import android.support.v7.widget.RecyclerView;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -47,6 +48,8 @@ public class CustomListicleImageViewAdapter extends RecyclerView.Adapter<CustomL
 
   @Override
   public void onBindViewHolder(@NonNull CustomListicleImageViewHolder holder, int position) {
+    Log.e("APP#  CustomListicleImageViewAdapter | onBindViewHolder", "| position: " + position + " - " + this.hashCode());
+
     holder.bind(contentsDetailImageBeans.get(position), event -> {
       if (null != listener) {
         listener.onEvent(event);

+ 4 - 4
app/src/main/java/kr/co/zumo/app/lifeplus/view/custom/contents/CustomListicleImageViewHolder.java

@@ -35,11 +35,11 @@ public class CustomListicleImageViewHolder extends RecyclerView.ViewHolder {
   public void bind(ContentsDetailImageBean bean, IEventListener listener) {
     this.bean = bean;
     this.listener = listener;
+    imageViewBackground = itemView.findViewById(R.id.image_view_background);
+    Glide.with(imageViewBackground).load(bean.getImageUrl()).into(imageViewBackground);
   }
 
   public void attach() {
-    imageViewBackground = itemView.findViewById(R.id.image_view_background);
-    Glide.with(imageViewBackground).load(bean.getImageUrl()).into(imageViewBackground);
     imageViewBackground.setOnClickListener(v -> {
       listener.onEvent(new Event.Builder(Event.DETAIL).index(getAdapterPosition()).build());
     });
@@ -47,9 +47,9 @@ public class CustomListicleImageViewHolder extends RecyclerView.ViewHolder {
 
   public void detach() {
     if (null != imageViewBackground) {
-      Glide.with(imageViewBackground).clear(imageViewBackground);
+//      Glide.with(imageViewBackground).clear(imageViewBackground);
       imageViewBackground.setOnClickListener(null);
-      imageViewBackground = null;
+//      imageViewBackground = null;
     }
 
   }

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

@@ -3,6 +3,7 @@ package kr.co.zumo.app.lifeplus.view.screen.contents;
 import android.content.Context;
 import android.support.annotation.NonNull;
 import android.support.v7.widget.RecyclerView;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -99,6 +100,7 @@ public class ContentsDetailAdapter extends RecyclerView.Adapter<ContentsDetailVi
 //      });
     }
     else {
+      Log.e("APP#  ContentsDetailAdapter | onBindViewHolder", "| position: " + position + " - " + this.hashCode());
       ContentsDetailBean bean = contentsDetailBeans.get(position);
       holder.bind(position, bean, event -> {
         listener.onEvent(event);

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

@@ -27,6 +27,11 @@ public class ContentsDetailCardDetailViewHolder extends ContentsDetailView<Conte
     imageViewCardListicleCover = itemView.findViewById(R.id.image_view_card_listicle_cover);
   }
 
+  @Override
+  protected void bindInternal() {
+
+  }
+
   @Override
   public void attach() {
 

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

@@ -26,6 +26,11 @@ public class ContentsDetailCardListicleCoverViewHolder extends ContentsDetailVie
     imageViewCardListicleCover = itemView.findViewById(R.id.image_view_card_listicle_cover);
   }
 
+  @Override
+  protected void bindInternal() {
+
+  }
+
   @Override
   public void attach() {
     Glide.with(imageViewCardListicleCover).load(bean.getImageUrl()).into(imageViewCardListicleCover);

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

@@ -27,6 +27,11 @@ public class ContentsDetailCardListicleDetailViewHolder extends ContentsDetailVi
     layoutMoreInfo = itemView.findViewById(R.id.layout_more_info);
   }
 
+  @Override
+  protected void bindInternal() {
+
+  }
+
   @Override
   public void attach() {
 

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

@@ -44,6 +44,11 @@ public class ContentsDetailListicleCoverViewHolder extends ContentsDetailView<Co
     this.seriesTitle = seriesTitle;
   }
 
+  @Override
+  protected void bindInternal() {
+
+  }
+
   @Override
   public void attach() {
     Glide.with(imageViewBackground).load(bean.getCoverImageUrl()).into(imageViewBackground);

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

@@ -35,15 +35,14 @@ public class ContentsDetailListicleDetailViewHolder extends ContentsDetailView<C
   public ContentsDetailListicleDetailViewHolder(View itemView) {
     super(itemView);
 
-  }
-
-  @Override
-  public void attach() {
-
     customListicleImageView = itemView.findViewById(R.id.custom_listicle_image_view);
     layoutContainer = itemView.findViewById(R.id.layout_container);
     layoutMoreInfoPopup = itemView.findViewById(R.id.layout_more_info);
 
+  }
+
+  @Override
+  protected void bindInternal() {
     List<ContentsDetailImageBean> contentsDetailImageBeans = bean.getItemImageList();
     customListicleImageView.init(itemView.getContext(), index, bean.getTitle(), bean.getSubTitle(), contentsDetailImageBeans, new IEventListener() {
       @Override
@@ -51,6 +50,15 @@ public class ContentsDetailListicleDetailViewHolder extends ContentsDetailView<C
       }
     });
 
+    layoutMoreInfoPopup.setOnClickListener(view -> {
+      listener.onEvent(new Event.Builder(Event.MORE).index(getAdapterPosition()).build());
+    });
+  }
+
+  @Override
+  public void attach() {
+
+
     for (int i = 0; i < bean.getDescriptionList().size(); i++) {
       ContentsDescriptionBean contentsDescriptionBean = bean.getDescriptionList().get(i);
       CustomListicleInformationView informationView = new CustomListicleInformationView(itemView.getContext(), String.valueOf(i + 1) + ". ", contentsDescriptionBean.getDescription());
@@ -70,11 +78,13 @@ public class ContentsDetailListicleDetailViewHolder extends ContentsDetailView<C
 
   @Override
   public void detach() {
-    if (null != customListicleImageView) {
-      customListicleImageView.dispose();
-      customListicleImageView = null;
+//    if (null != customListicleImageView) {
+//      customListicleImageView.dispose();
+//      customListicleImageView = null;
+//    }
+
+    if (null != layoutContainer) {
       layoutContainer.removeAllViews();
-      layoutContainer = null;
     }
   }
 

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

@@ -19,6 +19,11 @@ public class ContentsDetailSeriesViewHolder extends ContentsDetailView<SeriesIte
     super(itemView);
   }
 
+  @Override
+  protected void bindInternal() {
+
+  }
+
   @Override
   public void attach() {
 

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

@@ -31,8 +31,11 @@ public abstract class ContentsDetailView<T extends LifeplusContentsBean> extends
     this.bean = bean;
     this.listener = listener;
 
+    bindInternal();
   }
 
+  protected abstract void bindInternal();
+
   public abstract void attach();
 
   public abstract void detach();

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

@@ -34,6 +34,11 @@ public class ContentsDetailWithShownViewHolder extends ContentsDetailView {
 
   }
 
+  @Override
+  protected void bindInternal() {
+
+  }
+
   @Override
   public void attach() {