From 8039a1b2fbfa3471b6f726d3e839d7867c81a84f Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 10 十月 2020 18:51:24 +0800
Subject: [PATCH] 资讯与小说集成

---
 BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/RecommendNewAdapter.java |  604 +++++++++++++++++++++++++++---------------------------
 1 files changed, 297 insertions(+), 307 deletions(-)

diff --git a/BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/RecommendNewAdapter.java b/BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/RecommendNewAdapter.java
index ee0a2c2..a0ebc43 100644
--- a/BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/RecommendNewAdapter.java
+++ b/BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/RecommendNewAdapter.java
@@ -2,65 +2,139 @@
 
 import android.app.Activity;
 import android.content.Intent;
-import android.graphics.Canvas;
-import android.graphics.Rect;
-import android.support.v4.view.ViewPager;
-import android.support.v7.widget.GridLayoutManager;
 import android.support.v7.widget.RecyclerView;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.View.OnClickListener;
 import android.view.ViewGroup;
-import android.view.ViewParent;
 import android.widget.FrameLayout;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.RelativeLayout;
 import android.widget.TextView;
-import android.widget.VideoView;
 
 import com.bumptech.glide.Glide;
-import com.bumptech.glide.load.engine.DiskCacheStrategy;
-import com.bytedance.sdk.openadsdk.TTAdConstant;
-import com.bytedance.sdk.openadsdk.TTFeedAd;
-import com.lcjian.library.util.SystemCommon;
-import com.lcjian.library.util.common.DimenUtils;
+import com.bumptech.glide.request.RequestOptions;
+import com.bytedance.sdk.openadsdk.TTAdDislike;
+import com.google.gson.FieldNamingPolicy;
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
 import com.lcjian.library.util.common.StringUtils;
-import com.lcjian.library.widget.RatioLayout;
-import com.viewpagerindicator.LinePageIndicator;
+import com.weikou.beibeivideo.R;
 import com.weikou.beibeivideo.entity.HomeType;
 import com.weikou.beibeivideo.entity.HomeVideo;
 import com.weikou.beibeivideo.entity.VideoInfo;
+import com.weikou.beibeivideo.entity.VideoType;
 import com.weikou.beibeivideo.entity.ad.ExpressAdContainer;
 import com.weikou.beibeivideo.entity.recommend.HomeTypeContent;
 import com.weikou.beibeivideo.entity.recommend.RecommendContent;
-import com.weikou.beibeivideo.test.MyViewPager;
+import com.weikou.beibeivideo.entity.recommend.holder.RecommendVideoAdHolder;
+import com.weikou.beibeivideo.entity.video.holder.HeaderViewHolder;
+import com.weikou.beibeivideo.entity.video.holder.VideoHolder;
+import com.weikou.beibeivideo.ui.common.VideosLiveActivity;
+import com.weikou.beibeivideo.ui.discover.StarsActivity;
 import com.weikou.beibeivideo.ui.media.VideoDetailActivity;
-import com.weikou.beibeivideo.util.ad.CSJAdUtil;
+import com.weikou.beibeivideo.ui.video.VideoColumn2Adapter;
+import com.weikou.beibeivideo.util.VideoUtil;
+import com.weikou.beibeivideo.util.ad.AdUtil;
 import com.weikou.beibeivideo.util.ad.ExpressAdManager;
-import com.yeshi.buwanshequ.R;
 
 import java.text.DecimalFormat;
 import java.util.ArrayList;
+import java.util.Iterator;
 import java.util.List;
+import java.util.TreeSet;
 
 public class RecommendNewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
 
-    private Activity mContext;
-    List<RecommendContent> contentList;
-    private LayoutInflater inflater;
+    private final static String TAG = "RecommendNewAdapter";
 
-    public RecommendNewAdapter(Activity context, List<RecommendContent> contentList) {
+    private Activity mContext;
+    List<Object> contentList;
+    private LayoutInflater inflater;
+    private TreeSet mADSet = new TreeSet();
+
+    public final int TYPE_HEADER = 10001;
+
+    private View headerView;
+
+    public void setHeaderView(View view) {
+        this.headerView = view;
+    }
+
+    public RecommendNewAdapter(Activity context, List contentList) {
         this.mContext = context;
         this.contentList = contentList;
         inflater = LayoutInflater.from(mContext);
     }
 
+    /**
+     * 娣诲姞鏁版嵁椤�
+     *
+     * @param item
+     */
+    public void addNormalItem(HomeType item) {
+        contentList.add(item);
+    }
+
+    /**
+     * 鑾峰彇骞垮憡鏁伴噺
+     *
+     * @return
+     */
+    public int getAdCount() {
+        return mADSet.size();
+    }
+
+    /**
+     * 娣诲姞骞垮憡鍒版寚瀹氫綅缃�
+     *
+     * @param ad
+     * @param position
+     */
+    public void addAdToPosition(ExpressAdContainer ad, int position) {
+        if (position >= 0 && position < contentList.size()) {
+            contentList.add(position, ad);
+            mADSet.add(position);
+        }
+        Log.i(TAG, "addAdToPosition");
+    }
+
+    public void addAd(ExpressAdContainer ad) {
+        contentList.add(ad);
+        Log.i(TAG, "addAd");
+    }
+
+    public void removeAd(ExpressAdContainer ad) {
+        if (mADSet != null)
+            for (Iterator<Integer> its = mADSet.iterator(); its.hasNext(); ) {
+                int p = its.next();
+                if (p < contentList.size() && contentList.get(p) == ad) {
+                    mADSet.remove(p);
+                    contentList.remove(p);
+                    notifyDataSetChanged();
+                }
+            }
+    }
+
+
+    public void removeAllAd() {
+        if (contentList != null)
+            for (int i = 0; i < contentList.size(); i++) {
+                if (contentList.get(i) instanceof ExpressAdContainer) {
+                    contentList.remove(i);
+                    i--;
+                }
+            }
+        mADSet.clear();
+    }
+
     @Override
     public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
         switch (viewType) {
-            case RecommendContent.TYPE_BANNER:
-                return new HomeBannerHolder(inflater.inflate(R.layout.recommend_top, parent, false));
+            case TYPE_HEADER:
+                return new HeaderViewHolder(headerView);
             case RecommendContent.TYPE_HOMETYPE:
                 return new HomeTypeHolder(inflater.inflate(R.layout.item_recommend_home_type, null, false), new RecyclerView.RecycledViewPool());
             case RecommendContent.TYPE_AD:
@@ -70,179 +144,132 @@
     }
 
 
-    private Runnable autoPlayBanner = null;
-
-    private synchronized void autoPlayBanner(final ViewPager viewPager) {
-
-        if (autoPlayBanner == null) {
-            autoPlayBanner = new Runnable() {
-                @Override
-                public void run() {
-                    if (contentList != null && contentList.size() > 0 && contentList.get(0).getType() == RecommendContent.TYPE_BANNER)
-                        if (contentList.get(0).getHomeBannerList() == null || contentList.get(0).getHomeBannerList().size() <= 0)
-                            return;
-                    if (viewPager.getCurrentItem() >= contentList.get(0).getHomeBannerList().size() - 1) {
-                        viewPager.setCurrentItem(0, true);
-                    } else {
-                        viewPager.setCurrentItem(viewPager.getCurrentItem() + 1, true);
-                    }
-                    autoPlayBanner(viewPager);
-                }
-            };
-            viewPager.postDelayed(autoPlayBanner, 3000);
-        } else {
-            viewPager.removeCallbacks(autoPlayBanner);
-            viewPager.postDelayed(autoPlayBanner, 3000);
-        }
-
-
-    }
-
-    RecyclerView.ItemDecoration itemDecoration = new RecyclerView.ItemDecoration() {
-        @Override
-        public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) {
-            super.onDraw(c, parent, state);
-        }
-
-        @Override
-        public void onDrawOver(Canvas c, RecyclerView parent, RecyclerView.State state) {
-            super.onDrawOver(c, parent, state);
-        }
-
-        @Override
-        public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
-            super.getItemOffsets(outRect, view, parent, state);
-            int index = parent.getChildAdapterPosition(view);
-            int total = parent.getAdapter().getItemCount();
-            if (index % 2 == 0) {
-                outRect.left = 0; //绗竴鍒楀乏杈硅创杈�
-                outRect.right = DimenUtils.dipToPixels(5, view.getContext());
-            } else {
-                outRect.right = 0; //绗竴鍒楀乏杈硅创杈�
-                outRect.left = DimenUtils.dipToPixels(5, view.getContext());
-            }
-
-            if (index - 1 > 0) {
-                outRect.top = DimenUtils.dipToPixels(5, view.getContext());
-            } else
-                outRect.top = 0;
-
-            if (total % 2 == 0) {
-                if (total > 2 && (index < total - 2))
-                    outRect.bottom = DimenUtils.dipToPixels(5, view.getContext());
-                else
-                    outRect.bottom = 0;
-            } else {
-                if (total > 2 && (index < total - 1))
-                    outRect.bottom = DimenUtils.dipToPixels(5, view.getContext());
-                else
-                    outRect.bottom = 0;
-            }
-
-//                    if (parent.getChildAdapterPosition(view) >= 3) {
-//                        outRect.top = SizeUtils.dp2px(mContext, 10);
-//                    } else {
-//                        outRect.top = 0;
-//                    }
-        }
-    };
-
     @Override
     public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int i) {
-        final RecommendContent content = contentList.get(i);
-        if (viewHolder instanceof HomeBannerHolder) {
-            int width = (int) SystemCommon.getScreenWidth(mContext);
-            HomeBannerHolder holder = (HomeBannerHolder) viewHolder;
-            holder.vp_recommend.setAdapter(new RecommendTopAdapter(content.getHomeBannerList(), mContext, false));
-            holder.indicator_recommend.setScreenWidth(width);
-            holder.indicator_recommend.setSelectedColor(holder.vp_recommend.getContext().getResources()
-                    .getColor(R.color.yellow));
-            holder.indicator_recommend.setUnselectedColor(0xbbADA9A7);
-            holder.indicator_recommend.setViewPager(holder.vp_recommend);
-            autoPlayBanner(holder.vp_recommend);
-        } else if (viewHolder instanceof HomeTypeHolder) {
-            HomeType homeType = content.getHomeType();
-            HomeTypeHolder holder = (HomeTypeHolder) viewHolder;
+        if (viewHolder instanceof HeaderViewHolder)
+            return;
+        int p = i;
+        if (headerView != null)
+            p--;
+
+
+        if (viewHolder instanceof HomeTypeHolder) {
+            final HomeType homeType = (HomeType) contentList.get(p);
+
+            final HomeTypeHolder holder = (HomeTypeHolder) viewHolder;
             if (homeType == null) {
                 holder.view.setVisibility(View.GONE);
                 return;
             }
+            if (homeType.getVideoInfoList() == null) {
+                homeType.setVideoInfoList(new ArrayList<VideoInfo>());
+            }
+            homeType.getVideoInfoList().clear();
+            if (homeType.getHomeVideoList() != null)
+                for (HomeVideo hv : homeType.getHomeVideoList()) {
+                    homeType.getVideoInfoList().add(hv.getVideo());
+                }
+
             holder.view.setVisibility(View.VISIBLE);
 
-            if (holder.rv_content.getLayoutManager() == null || !(holder.rv_content.getLayoutManager() instanceof GridLayoutManager)) {
-                RecyclerView.LayoutManager layoutManager = new GridLayoutManager(mContext, 4);
-                holder.rv_content.setLayoutManager(layoutManager);
-            }
-            //缁熶竴鍒嗕负2鍒�
-            ((GridLayoutManager) holder.rv_content.getLayoutManager()).setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
-                @Override
-                public int getSpanSize(int position) {
-                    return 2;
-                }
-            });
             boolean isFirst = false;
-            for (RecommendContent content1 : contentList)
-                if (content1.getType() == RecommendContent.TYPE_HOMETYPE) {
-                    if (content1.getHomeType().getId().equalsIgnoreCase(content.getHomeType().getId())) {
+            for (Object content1 : contentList)
+                if (content1 instanceof HomeType) {
+                    if (content1 == homeType) {
                         isFirst = true;
+                        break;
+                    } else {
+                        isFirst = false;
+                        break;
                     }
-                    break;
                 }
 
-            HomeTypeContentAdapter adapter = new HomeTypeContentAdapter(mContext, homeType.getHomeVideoList(), isFirst ? true : false, 8);
-            holder.rv_content.setAdapter(adapter);
+            VideoColumn2Adapter adapter = null;
 
-            //璁剧疆闂磋窛
-            holder.rv_content.removeItemDecoration(itemDecoration);
-            holder.rv_content.addItemDecoration(itemDecoration);
+            if (isFirst) {//绗竴鎺掍负灏忚棰�
+                adapter = new VideoColumn2Adapter(mContext, mContext, homeType.getVideoInfoList(), true, Integer.MAX_VALUE, null, new ExpressAdManager.IAdShowListener() {
+                    @Override
+                    public void show() {
+                        holder.rv_content.scrollToPosition(0);
+                    }
+                });
+                adapter.initRecyclerViewDisplayWidthRow1(holder.rv_content);
+            } else {
+                adapter = new VideoColumn2Adapter(mContext, mContext, homeType.getVideoInfoList(), false, homeType.getColumns(), null);
+                if (homeType.getColumns() == 2)
+                    adapter.initRecyclerViewDisplayWidthColumn2(holder.rv_content);
+                else if (homeType.getColumns() == 3)
+                    adapter.initRecyclerViewDisplayWidthColumn3(holder.rv_content);
+                else
+                    adapter.initRecyclerViewDisplayWidthRow1(holder.rv_content);
+            }
+            if (homeType.getVideoInfoList() != null && homeType.getVideoInfoList().size() > 0)
+                holder.rv_content.setAdapter(adapter);
+
 
             Glide.with(mContext).load(homeType.getIcon())
-                    .diskCacheStrategy(DiskCacheStrategy.SOURCE).placeholder(R.drawable.ic_stars_collection).into(holder.tv_category_icon);
+                    .apply(new RequestOptions().placeholder(R.drawable.ic_stars_collection)).into(holder.tv_category_icon);
             holder.tv_category_name.setText(homeType.getName());
             if (Boolean.parseBoolean(homeType.getHasMore())) {
                 holder.tv_more.setVisibility(View.VISIBLE);
             } else {
                 holder.tv_more.setVisibility(View.GONE);
             }
-        } else if (viewHolder instanceof AdHolder) {
-            AdHolder holder = (AdHolder) viewHolder;
-            holder.fl_ad.removeAllViews();
-            ExpressAdContainer ad = content.getAd();
 
+            holder.tv_more
+                    .setOnClickListener(new OnClickListener() {
+
+                        @Override
+                        public void onClick(View v) {
+                            Intent intent = null;
+                            if (homeType.getId().equalsIgnoreCase("1111")) {
+                                intent = new Intent(v.getContext(),
+                                        VideosLiveActivity.class);
+                                intent.putExtra("home_type", homeType.getId());
+                                intent.putExtra("title", homeType.getName());
+                                v.getContext().startActivity(intent);
+                            } else if (homeType.getId().equalsIgnoreCase("9998")) {
+                                intent = new Intent(v.getContext(), StarsActivity.class);
+                                v.getContext().startActivity(intent);
+                            } else {
+                                Gson gson = new GsonBuilder()
+                                        .setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE)
+                                        .create();
+                                VideoType type = gson.fromJson(homeType.getParams().replace(
+                                        "\\" + "\"", "\""), VideoType.class);
+                                try {
+                                    intent = new Intent(v.getContext(), Class.forName(homeType.getActivity()));
+                                    intent.putExtra("video_type", type);
+                                    intent.putExtra("type_name", type.getName());
+                                    intent.putExtra("isPush", false);
+                                    v.getContext().startActivity(intent);
+                                } catch (ClassNotFoundException e) {
+                                    e.printStackTrace();
+                                }
+                            }
+                        }
+                    });
+
+
+        } else if (viewHolder instanceof AdHolder) {
+            final AdHolder holder = (AdHolder) viewHolder;
+            holder.fl_ad.removeAllViews();
+            final ExpressAdContainer ad = (ExpressAdContainer) contentList.get(p);
             if (ad != null) {
-                holder.view.setVisibility(View.VISIBLE);
-                if (ad.getGdt() != null) {
-                    ViewParent parent = ad.getGdt().getParent();
-                    if (parent != null) {
-                        FrameLayout parentContainer = (FrameLayout) parent;
-                        parentContainer.removeAllViews();
-                    }
-                    ad.getGdt().render();
-                    holder.fl_ad.addView(ad.getGdt());
-                } else if (ad.getCsj() != null) {
-                    holder.fl_ad.addView(holder.csjAdHolder.view);
-                    //濉厖骞垮憡鍐呭
-                    ArrayList<View> images = new ArrayList<>();
-                    if (ad.getCsj().getImageMode() == TTAdConstant.IMAGE_MODE_VIDEO) {
-                        holder.csjAdHolder.iv_pic.setVisibility(View.GONE);
-                        holder.csjAdHolder.vv_video.setVisibility(View.VISIBLE);
-                        images.add(holder.csjAdHolder.vv_video);
-                    } else {
-                        holder.csjAdHolder.iv_pic.setVisibility(View.VISIBLE);
-                        holder.csjAdHolder.vv_video.setVisibility(View.GONE);
-                        images.add(holder.csjAdHolder.iv_pic);
-                    }
-                    CSJAdUtil.bindData(holder.csjAdHolder.view, holder.csjAdHolder.iv_close, holder.csjAdHolder.tv_title, images, ad.getCsj());
-                }
+                holder.ll_container.setVisibility(View.VISIBLE);
+                ExpressAdManager.fillAd(ad, holder.fl_ad);
             } else {
-                holder.view.setVisibility(View.GONE);
+                holder.ll_container.setVisibility(View.GONE);
             }
         }
     }
 
     @Override
     public int getItemCount() {
-        return this.contentList.size();
+        int count = this.contentList.size();
+        if (headerView != null)
+            count++;
+        return count;
     }
 
     /**
@@ -254,24 +281,17 @@
     //鑾峰彇绫诲瀷
     @Override
     public int getItemViewType(int position) {
-        return this.contentList.get(position).getType();
-    }
-
-    class HomeBannerHolder extends RecyclerView.ViewHolder {
-        MyViewPager vp_recommend;
-        LinearLayout ll_ad_containner;
-        RatioLayout rl_recommend_top;
-        LinePageIndicator indicator_recommend;
-        FrameLayout fl_ad;
-
-        public HomeBannerHolder(View view) {
-            super(view);
-            vp_recommend = view.findViewById(R.id.vp_recommend);
-            ll_ad_containner = view.findViewById(R.id.ll_ad_containner);
-            rl_recommend_top = view.findViewById(R.id.rl_recommend_top);
-            indicator_recommend = view.findViewById(R.id.indicator_recommend);
-            fl_ad = view.findViewById(R.id.fl_ad);
+        if (position == 0) {
+            if (headerView != null)
+                return TYPE_HEADER;
         }
+
+        if (headerView != null)
+            position--;
+        if (contentList.get(position) instanceof HomeType)
+            return RecommendContent.TYPE_HOMETYPE;
+        else
+            return RecommendContent.TYPE_AD;
     }
 
     class HomeTypeHolder extends RecyclerView.ViewHolder {
@@ -303,15 +323,15 @@
     class AdHolder extends RecyclerView.ViewHolder {
 
         FrameLayout fl_ad;
-        View view;
-        CSJAdHolder csjAdHolder;
+        RelativeLayout rl_title_item;
+        LinearLayout ll_container;
 
 
         public AdHolder(View view) {
             super(view);
-            this.view = view;
-            csjAdHolder = new CSJAdHolder(inflater.inflate(R.layout.item_ad_csj_list_column1, null));
+            ll_container = view.findViewById(R.id.ll_container);
             fl_ad = view.findViewById(R.id.fl_ad);
+            rl_title_item = view.findViewById(R.id.rl_title_item);
         }
 
     }
@@ -338,6 +358,23 @@
             }
 
 
+            if (needAd) {
+                if (expressAdManager == null)
+                    expressAdManager = new ExpressAdManager(AdUtil.getSmallExpressAdType(), mContext);
+                expressAdManager.loadRecommendSmallAd(new ExpressAdManager.IAdLoadListener() {
+                    @Override
+                    public void onSuccess(List<ExpressAdContainer> adList) {
+                        if (adList != null && adList.size() > 0) {
+                            if (contentList != null && contentList.size() > 0 && contentList.get(0).getType() == HomeTypeContent.TYPE_CONTENT) {
+                                contentList.add(0, new HomeTypeContent(HomeTypeContent.TYPE_AD, adList.get(0)));
+                                notifyDataSetChanged();
+                            }
+                        }
+                    }
+                });
+            }
+
+
             this.maxItemNum = maxItemNum;
         }
 
@@ -345,9 +382,9 @@
         public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int type) {
             switch (type) {
                 case HomeTypeContent.TYPE_AD:
-                    return new HomeTypeAdHolder(inflater.inflate(R.layout.item_ad_list_small, parent, false));
+                    return new RecommendVideoAdHolder(inflater.inflate(R.layout.item_ad_list_small, parent, false));
                 case HomeTypeContent.TYPE_CONTENT:
-                    return new HomeTypeContentHolder(inflater.inflate(R.layout.item_movie, parent, false));
+                    return new VideoHolder(inflater.inflate(R.layout.item_movie, parent, false));
             }
             return null;
         }
@@ -355,40 +392,40 @@
         @Override
         public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int p) {
             final HomeTypeContent content = contentList.get(p);
-            if (viewHolder instanceof HomeTypeContentHolder) {
-                HomeTypeContentHolder holder = (HomeTypeContentHolder) viewHolder;
+            if (viewHolder instanceof VideoHolder) {
+                VideoHolder holder = (VideoHolder) viewHolder;
                 final HomeVideo info = content.getHomeVideo();
                 //璁剧疆鍐呭
                 holder.ll_video_show.setVisibility(View.VISIBLE);
                 if (StringUtils.isEmpty(info.getPicture())) {
                     Glide.with(mContext).load(info.getVideo().getPicture())
-                            .placeholder(R.drawable.ic_default_cover)
-                            .error(R.drawable.ic_default_cover)
-                            .centerCrop().crossFade()
-                            .diskCacheStrategy(DiskCacheStrategy.SOURCE)
+                            .apply(new RequestOptions().centerCrop().placeholder(R.drawable.ic_default_cover).error(R.drawable.ic_default_cover))
                             .into(holder.iv_movie_cover);
                 } else {
                     try {
                         Glide.with(mContext).load(info.getPicture())
-                                .placeholder(R.drawable.ic_default_cover)
-                                .error(R.drawable.ic_default_cover)
-                                .centerCrop().crossFade()
-                                .diskCacheStrategy(DiskCacheStrategy.SOURCE)
+                                .apply(new RequestOptions().centerCrop().placeholder(R.drawable.ic_default_cover).error(R.drawable.ic_default_cover))
                                 .into(holder.iv_movie_cover);
                     } catch (IllegalArgumentException e) {
                         e.printStackTrace();
                     }
                 }
                 holder.tv_movie_title.setText(info.getVideo().getName());
-                holder.tv_movie_rating.setText(StringUtils.isBlank(info
+
+                String tag = StringUtils.isBlank(info
                         .getVideo().getTag()) ? "" : info.getVideo()
-                        .getTag());
+                        .getTag();
+                holder.tv_movie_rating.setText(tag);
+                if (StringUtils.isBlank(tag)) {
+                    holder.tv_movie_rating.setVisibility(View.GONE);
+                } else {
+                    holder.tv_movie_rating.setVisibility(View.VISIBLE);
+                }
+
+
                 DecimalFormat df = new DecimalFormat("###.0");
-                holder.tv_movie_play_num.setText(StringUtils.isBlank(info
-                        .getVideo().getWatchCount()) ? "0" : (Integer.parseInt(info
-                        .getVideo().getWatchCount())) / 10000 > 0 ? df.format(Integer.parseInt(info
-                        .getVideo().getWatchCount()) / 10000f) + "涓�" : info
-                        .getVideo().getWatchCount());
+                holder.tv_movie_play_num.setText(VideoUtil.getWatchCountShortName(info.getVideo().getWatchCount()));
+                holder.tv_movie_play_num.setVisibility(View.GONE);
                 holder.tv_movie_comment_num.setText(StringUtils.isBlank(info.getVideo().getCommentCount()) ? "0" : info.getVideo().getCommentCount());
                 holder.ll_video_show
                         .setOnClickListener(new OnClickListener() {
@@ -398,54 +435,72 @@
                                 myClick(info.getVideo(), v);
                             }
                         });
-            } else if (viewHolder instanceof HomeTypeAdHolder) {//骞垮憡
-                final HomeTypeAdHolder holder = (HomeTypeAdHolder) viewHolder;
+            } else if (viewHolder instanceof RecommendVideoAdHolder) {//骞垮憡
+                final RecommendVideoAdHolder holder = (RecommendVideoAdHolder) viewHolder;
                 holder.fl_container.removeAllViews();
+
                 final ExpressAdContainer ad = content.getAd();
                 if (ad == null) {//骞垮憡涓虹┖
                     holder.view.setVisibility(View.GONE);
-                    if (needAd) {
-                        if (expressAdManager == null)
-                            expressAdManager = new ExpressAdManager(ExpressAdManager.SOURCE_CSJ, mContext);
-                        expressAdManager.loadRecommendSmallAd(new ExpressAdManager.IAdLoadListener() {
-                            @Override
-                            public void onSuccess(List<ExpressAdContainer> adList) {
-                                if (adList != null && adList.size() > 0) {
-                                    if (contentList != null && contentList.size() > 0 && contentList.get(0).getType() == HomeTypeContent.TYPE_CONTENT) {
-                                        contentList.add(0,new HomeTypeContent(HomeTypeContent.TYPE_AD, adList.get(0)));
-                                        notifyDataSetChanged();
-                                    }
-                                }
-                            }
-                        });
-                    }
                 } else {
                     holder.view.setVisibility(View.VISIBLE);
                     if (ad.getGdt() != null) {
-                        ViewParent parent = ad.getGdt().getParent();
-                        if (parent != null) {
-                            FrameLayout parentContainer = (FrameLayout) parent;
-                            parentContainer.removeAllViews();
-                        }
+                        holder.rl_container.setRatio(0.88f);
+                        holder.tv_movie_title.setVisibility(View.GONE);
+//                        ad.getGdt().setAdEventListener(new AdEventListener() {
+//                            @Override
+//                            public void onClick() {
+//
+//                            }
+//
+//                            @Override
+//                            public void onExposed() {
+//
+//                            }
+//
+//                            @Override
+//                            public void onRenderSuccess() {
+//                                holder.fl_container.addView(ad.getGdt().getAdView());
+//                            }
+//
+//                            @Override
+//                            public void onRenderFail() {
+//
+//                            }
+//
+//                            @Override
+//                            public void onAdClosed() {
+//                                ad.getGdt().destroy();
+//                                contentList.remove(content);
+//                                notifyDataSetChanged();
+//                            }
+//                        });
                         ad.getGdt().render();
-                        holder.tv_movie_play_num.setText("112");
-                        holder.tv_movie_title.setText(ad.getGdt().getBoundData().getTitle());
                         holder.fl_container.addView(ad.getGdt());
+                        holder.tv_movie_play_num.setText("112");
                     } else if (ad.getCsj() != null) {
-                        holder.fl_container.addView(holder.adHolder.view);
-                        //濉厖骞垮憡鍐呭
-                        ArrayList<View> images = new ArrayList<>();
-                        if (ad.getCsj().getImageMode() == TTAdConstant.IMAGE_MODE_VIDEO) {
-                            holder.adHolder.iv_pic.setVisibility(View.GONE);
-                            holder.adHolder.vv_video.setVisibility(View.VISIBLE);
-                            images.add(holder.adHolder.vv_video);
-                        } else {
-                            holder.adHolder.iv_pic.setVisibility(View.VISIBLE);
-                            holder.adHolder.vv_video.setVisibility(View.GONE);
-                            images.add(holder.adHolder.iv_pic);
-                        }
-                        CSJAdUtil.bindData(holder.adHolder.view, holder.adHolder.iv_close, holder.adHolder.tv_title, images, ad.getCsj());
-                        holder.tv_movie_title.setText(ad.getCsj().getTitle());
+                        holder.rl_container.setRatio(0.88f);
+                        holder.tv_movie_title.setVisibility(View.GONE);
+                        ad.getCsj().setDislikeCallback(mContext, new TTAdDislike.DislikeInteractionCallback() {
+
+                            @Override
+                            public void onSelected(int i, String s) {
+                                contentList.remove(content);
+                                notifyDataSetChanged();
+                            }
+
+                            @Override
+                            public void onCancel() {
+
+                            }
+
+                            @Override
+                            public void onRefuse() {
+
+                            }
+                        });
+                        ad.getCsj().render();
+                        holder.fl_container.addView(ad.getCsj().getExpressAdView());
                     }
                 }
             }
@@ -470,71 +525,6 @@
             Intent intent = new Intent(v.getContext(), VideoDetailActivity.class);
             intent.putExtra("video_info", info);
             v.getContext().startActivity(intent);
-        }
-
-    }
-
-
-    class HomeTypeContentHolder extends RecyclerView.ViewHolder {
-        LinearLayout ll_video_show;
-        ImageView iv_movie_cover;
-        ImageView iv_spread;
-        TextView tv_movie_rating;
-        ImageView iv_ad_logo;
-        TextView tv_movie_play_num;
-        TextView tv_movie_comment_num;
-        TextView tv_movie_title;
-
-        public HomeTypeContentHolder(View view) {
-            super(view);
-            ll_video_show = view.findViewById(R.id.ll_video_show);
-            iv_movie_cover = view.findViewById(R.id.iv_movie_cover);
-            iv_spread = view.findViewById(R.id.iv_spread);
-            tv_movie_rating = view.findViewById(R.id.tv_movie_rating);
-            iv_ad_logo = view.findViewById(R.id.iv_ad_logo);
-            tv_movie_play_num = view.findViewById(R.id.tv_movie_play_num);
-            tv_movie_comment_num = view.findViewById(R.id.tv_movie_comment_num);
-            tv_movie_title = view.findViewById(R.id.tv_movie_title);
-        }
-    }
-
-    class HomeTypeAdHolder extends RecyclerView.ViewHolder {
-
-        View view;
-        FrameLayout fl_container;
-        TextView tv_movie_title;
-        TextView tv_movie_play_num;
-        CSJAdHolder adHolder;
-
-        public HomeTypeAdHolder(View view) {
-            super(view);
-            this.view = view;
-            fl_container = view.findViewById(R.id.fl_container);
-            tv_movie_title = view.findViewById(R.id.tv_movie_title);
-            tv_movie_play_num = view.findViewById(R.id.tv_movie_play_num);
-//            adHolder = new CSJAdHolder(inflater.inflate(R.layout.item_ad_csj_list_column2, null));
-        }
-
-    }
-
-
-    class CSJAdHolder extends RecyclerView.ViewHolder {
-
-        ImageView iv_pic;
-        VideoView vv_video;
-        ImageView iv_logo;
-        TextView tv_title;
-        ImageView iv_close;
-        View view;
-
-        public CSJAdHolder(View view) {
-            super(view);
-            this.view = view;
-            iv_pic = view.findViewById(R.id.iv_pic);
-            vv_video = view.findViewById(R.id.vv_video);
-            iv_logo = view.findViewById(R.id.iv_logo);
-            tv_title = view.findViewById(R.id.tv_title);
-            iv_close = view.findViewById(R.id.iv_close);
         }
 
     }

--
Gitblit v1.8.0