package com.hanju.video.app.ui.recommend;
|
|
import android.app.Activity;
|
import android.content.Intent;
|
import android.util.Log;
|
import android.view.LayoutInflater;
|
import android.view.View;
|
import android.view.View.OnClickListener;
|
import android.view.ViewGroup;
|
import android.widget.FrameLayout;
|
import android.widget.LinearLayout;
|
import android.widget.RelativeLayout;
|
import android.widget.TextView;
|
|
import com.bumptech.glide.Glide;
|
import com.bumptech.glide.request.RequestOptions;
|
import com.bytedance.sdk.dp.DPSdk;
|
import com.bytedance.sdk.dp.DPWidgetVideoCardParams;
|
import com.bytedance.sdk.dp.IDPElement;
|
import com.bytedance.sdk.dp.IDPVideoCardListener;
|
import com.bytedance.sdk.dp.IDPWidgetFactory;
|
import com.bytedance.sdk.openadsdk.TTAdDislike;
|
import com.google.gson.FieldNamingPolicy;
|
import com.google.gson.Gson;
|
import com.google.gson.GsonBuilder;
|
import com.hanju.lib.library.util.common.StringUtils;
|
import com.hanju.video.app.R;
|
import com.hanju.video.app.entity.ad.ExpressAdContainer;
|
import com.hanju.video.app.entity.recommend.HomeType;
|
import com.hanju.video.app.entity.recommend.HomeTypeContent;
|
import com.hanju.video.app.entity.recommend.HomeVideo;
|
import com.hanju.video.app.entity.recommend.RecommendContent;
|
import com.hanju.video.app.entity.recommend.holder.RecommendVideoAdHolder;
|
import com.hanju.video.app.entity.video.VideoInfo;
|
import com.hanju.video.app.entity.video.VideoType;
|
import com.hanju.video.app.entity.video.holder.FooterViewHolder;
|
import com.hanju.video.app.entity.video.holder.HeaderViewHolder;
|
import com.hanju.video.app.entity.video.holder.VideoHolder;
|
import com.hanju.video.app.ui.common.VideosLiveActivity;
|
import com.hanju.video.app.ui.discover.StarsActivity;
|
import com.hanju.video.app.ui.media.VideoDetailActivity;
|
import com.hanju.video.app.ui.video.VideoAlbumAdapter;
|
import com.hanju.video.app.ui.video.VideoColumn2Adapter;
|
import com.hanju.video.app.util.JsonUtil;
|
import com.hanju.video.app.util.ad.AdUtil;
|
import com.hanju.video.app.util.ad.ExpressAdManager;
|
import com.hanju.video.app.util.video.DPEventCollectUtil;
|
import com.hanju.video.app.util.video.VideoUtil;
|
import com.video.youth.util.YouthUtil;
|
|
import java.text.DecimalFormat;
|
import java.util.ArrayList;
|
import java.util.Iterator;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.TreeSet;
|
|
import androidx.annotation.Nullable;
|
import androidx.recyclerview.widget.RecyclerView;
|
|
public class RecommendNewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
|
|
private final static String TAG = "RecommendNewAdapter";
|
|
private Activity mContext;
|
List<Object> contentList;
|
private LayoutInflater inflater;
|
private TreeSet mADSet = new TreeSet();
|
|
//最多支持3个header
|
public final int TYPE_HEADER1 = 10001;
|
public final int TYPE_HEADER2 = 10002;
|
public final int TYPE_HEADER3 = 10003;
|
|
private final static int TYPE_FOOTER = 20001;
|
|
private List<View> headerViewList;
|
|
private View footerView;
|
|
//视频卡片
|
private FrameLayout mVideoCardLayout;
|
private IDPElement mVideoCardElement;
|
private TextView mVideoCardTitle;
|
|
public void setHeaderView(List<View> viewList) {
|
this.headerViewList = viewList;
|
}
|
|
public RecommendNewAdapter(Activity context, List contentList) {
|
this.mContext = context;
|
this.contentList = contentList;
|
inflater = LayoutInflater.from(mContext);
|
}
|
|
public void setFooterView(View footerView) {
|
this.footerView = footerView;
|
}
|
|
/**
|
* 添加数据项
|
*
|
* @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 TYPE_HEADER1:
|
return new HeaderViewHolder(headerViewList.get(0));
|
case TYPE_HEADER2:
|
return new HeaderViewHolder(headerViewList.get(1));
|
case TYPE_HEADER3:
|
return new HeaderViewHolder(headerViewList.get(2));
|
case TYPE_FOOTER:
|
return new FooterViewHolder(footerView);
|
|
case RecommendContent.TYPE_HOMETYPE:
|
return new HomeTypeHolder(inflater.inflate(R.layout.item_recommend_home_type, null, false), new RecyclerView.RecycledViewPool());
|
case RecommendContent.TYPE_AD:
|
return new AdHolder(inflater.inflate(R.layout.item_recommend_home_type_ad, parent, false));
|
|
case RecommendContent.TYPE_DY_VIDEOS:
|
loadVideoCard();
|
return new DYVideosHolder(inflater.inflate(R.layout.item_recommend_home_dy_videos, parent, false));
|
}
|
return null;
|
}
|
|
|
@Override
|
public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int i) {
|
if (viewHolder instanceof HeaderViewHolder)
|
return;
|
|
if (viewHolder instanceof FooterViewHolder)
|
return;
|
|
int p = i;
|
if (headerViewList != null)
|
p -= headerViewList.size();
|
|
p -= (hasDYVideos() ? 1 : 0);
|
|
|
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<>());
|
}
|
homeType.getVideoInfoList().clear();
|
if (homeType.getHomeVideoList() != null)
|
for (HomeVideo hv : homeType.getHomeVideoList()) {
|
homeType.getVideoInfoList().add(hv.getVideo());
|
}
|
|
holder.view.setVisibility(View.VISIBLE);
|
|
if (homeType.getColumns() > 3) {//大于3列为小视频
|
if (homeType.getVideoInfoList() != null && homeType.getVideoInfoList().size() > 0) {
|
VideoAlbumAdapter adapter = new VideoAlbumAdapter(mContext, homeType.getVideoInfoList());
|
adapter.initRecyclerViewDisplayWidthRow1(holder.rv_content);
|
holder.rv_content.setAdapter(adapter);
|
holder.view.setVisibility(View.VISIBLE);
|
} else {
|
holder.view.setVisibility(View.GONE);
|
}
|
} else {
|
VideoColumn2Adapter adapter = null;
|
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.view.setVisibility(View.VISIBLE);
|
holder.rv_content.setAdapter(adapter);
|
} else {
|
holder.rv_content.setAdapter(null);
|
holder.view.setVisibility(View.GONE);
|
}
|
}
|
|
|
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);
|
}
|
|
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 {
|
|
VideoType type = JsonUtil.videoGson.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.ll_container.setVisibility(View.VISIBLE);
|
ExpressAdManager.fillAd(ad, holder.fl_ad);
|
} else {
|
holder.ll_container.setVisibility(View.GONE);
|
}
|
} else if (viewHolder instanceof DYVideosHolder) {
|
final DYVideosHolder holder = (DYVideosHolder) viewHolder;
|
mVideoCardLayout = holder.fl_container;
|
mVideoCardTitle = holder.tv_title;
|
}
|
}
|
|
|
@Override
|
public int getItemCount() {
|
int count = this.contentList.size();
|
if (headerViewList != null)
|
count += headerViewList.size();
|
if (footerView != null)
|
count += 1;
|
|
count += (hasDYVideos() ? 1 : 0);
|
|
return count;
|
}
|
|
/**
|
* banner第一栏,视频内容第二栏,广告第三栏和最后一栏
|
*
|
* @param position
|
* @return
|
*/
|
//获取类型
|
@Override
|
public int getItemViewType(int position) {
|
if (headerViewList == null)
|
headerViewList = new ArrayList<>();
|
if (position < headerViewList.size()) {
|
switch (position) {
|
case 0:
|
return TYPE_HEADER1;
|
case 1:
|
return TYPE_HEADER2;
|
case 2:
|
return TYPE_HEADER3;
|
}
|
}
|
|
if (headerViewList != null)
|
position -= headerViewList.size();
|
|
if (position >= contentList.size() + (hasDYVideos() ? 1 : 0) && footerView != null) {
|
return TYPE_FOOTER;
|
}
|
|
if (hasDYVideos() && position == 0) {
|
return RecommendContent.TYPE_DY_VIDEOS;
|
}
|
|
if (hasDYVideos()) {
|
position--;
|
}
|
|
|
if (contentList.get(position) instanceof HomeType)
|
return RecommendContent.TYPE_HOMETYPE;
|
else
|
return RecommendContent.TYPE_AD;
|
}
|
|
private boolean hasDYVideos() {
|
|
return AdUtil.isCanInitCSJ()&&!YouthUtil.isOpenYouthMode(mContext);
|
}
|
|
|
public void refresh() {
|
loadVideoCard();
|
}
|
|
class HomeTypeHolder extends RecyclerView.ViewHolder {
|
TextView tv_category_name;
|
TextView tv_more;
|
RecyclerView rv_content;
|
FrameLayout rl_title_item;
|
View view;
|
|
public HomeTypeHolder(View convertView, RecyclerView.RecycledViewPool recycledViewPool) {
|
super(convertView);
|
this.view = convertView;
|
rl_title_item = convertView
|
.findViewById(R.id.rl_title_item);
|
tv_category_name = convertView
|
.findViewById(R.id.tv_category_name);
|
tv_more = convertView
|
.findViewById(R.id.tv_more);
|
rv_content = convertView
|
.findViewById(R.id.rv_content);
|
if (recycledViewPool != null)
|
rv_content.setRecycledViewPool(recycledViewPool);
|
}
|
}
|
|
class AdHolder extends RecyclerView.ViewHolder {
|
|
FrameLayout fl_ad;
|
RelativeLayout rl_title_item;
|
LinearLayout ll_container;
|
|
|
public AdHolder(View view) {
|
super(view);
|
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);
|
}
|
|
}
|
|
|
class DYVideosHolder extends RecyclerView.ViewHolder {
|
|
FrameLayout fl_container;
|
TextView tv_title;
|
View view;
|
|
|
public DYVideosHolder(View view) {
|
super(view);
|
this.view = view;
|
fl_container = view.findViewById(R.id.fl_container);
|
tv_title = view.findViewById(R.id.tv_title);
|
}
|
|
}
|
|
|
public class HomeTypeContentAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
|
private Activity mContext;
|
private List<HomeTypeContent> contentList;
|
private int maxItemNum;
|
|
private ExpressAdManager expressAdManager;
|
|
private boolean needAd;
|
|
|
public HomeTypeContentAdapter(final Activity context, List<HomeVideo> videoList, boolean needAd, int maxItemNum) {
|
this.needAd = needAd;
|
this.mContext = context;
|
if (contentList == null)
|
this.contentList = new ArrayList<>();
|
this.contentList.clear();
|
for (HomeVideo hv : videoList) {
|
this.contentList.add(new HomeTypeContent(HomeTypeContent.TYPE_CONTENT, hv));
|
}
|
|
|
if (needAd) {
|
if (expressAdManager == null) {
|
try {
|
expressAdManager = new ExpressAdManager(AdUtil.getSmallExpressAdType(), mContext);
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
if (expressAdManager != null)
|
|
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;
|
}
|
|
@Override
|
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int type) {
|
switch (type) {
|
case HomeTypeContent.TYPE_AD:
|
return new RecommendVideoAdHolder(inflater.inflate(R.layout.item_ad_list_small, parent, false));
|
case HomeTypeContent.TYPE_CONTENT:
|
return new VideoHolder(inflater.inflate(R.layout.item_movie, parent, false));
|
}
|
return null;
|
}
|
|
@Override
|
public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int p) {
|
final HomeTypeContent content = contentList.get(p);
|
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())
|
.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())
|
.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());
|
|
String tag = StringUtils.isBlank(info
|
.getVideo().getTag()) ? "" : info.getVideo()
|
.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(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() {
|
@Override
|
public void onClick(final View v) {
|
//跳转到商品视频播放页
|
myClick(info.getVideo(), v);
|
}
|
});
|
} 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);
|
} else {
|
holder.view.setVisibility(View.VISIBLE);
|
if (ad.getGdt() != null) {
|
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.fl_container.addView(ad.getGdt());
|
holder.tv_movie_play_num.setText("112");
|
} else if (ad.getCsj() != null) {
|
holder.rl_container.setRatio(0.88f);
|
holder.tv_movie_title.setVisibility(View.GONE);
|
ad.getCsj().setDislikeCallback(mContext, new TTAdDislike.DislikeInteractionCallback() {
|
|
@Override
|
public void onShow() {
|
|
}
|
|
@Override
|
public void onSelected(int i, String s, boolean b) {
|
contentList.remove(content);
|
notifyDataSetChanged();
|
}
|
|
@Override
|
public void onCancel() {
|
|
}
|
|
});
|
ad.getCsj().render();
|
holder.fl_container.addView(ad.getCsj().getExpressAdView());
|
}
|
}
|
}
|
}
|
|
@Override
|
public int getItemCount() {
|
int count = contentList.size();
|
if (count > maxItemNum)
|
return maxItemNum;
|
else
|
return count % 2 == 0 ? count : count - 1;
|
}
|
|
@Override
|
public int getItemViewType(int position) {
|
return this.contentList.get(position).getType();
|
}
|
|
|
private void myClick(VideoInfo info, final View v) {
|
Intent intent = new Intent(v.getContext(), VideoDetailActivity.class);
|
intent.putExtra("video_info", info);
|
v.getContext().startActivity(intent);
|
}
|
|
}
|
|
|
private void loadVideoCard() {
|
|
if (!AdUtil.isCanInitCSJ()||YouthUtil.isOpenYouthMode(mContext)) {
|
return;
|
}
|
|
DPWidgetVideoCardParams params = DPWidgetVideoCardParams.obtain()
|
.hideTitle(true)
|
.listener(new IDPVideoCardListener() {
|
@Override
|
public void onDPItemClick(Map<String, Object> map) {
|
log("onDPItemClick map = " + map.toString());
|
}
|
|
@Override
|
public void onDPLSwipeEnter() {
|
log("onDPLSwipeEnter");
|
}
|
|
@Override
|
public void onDPRequestStart(@Nullable Map<String, Object> map) {
|
log("onDPRequestStart");
|
}
|
|
@Override
|
public void onDPRequestSuccess(List<Map<String, Object>> list) {
|
if (list == null) {
|
return;
|
}
|
|
for (int i = 0; i < list.size(); i++) {
|
log("onDPRequestSuccess i = " + i + ", map = " + list.get(i).toString());
|
}
|
}
|
|
@Override
|
public void onDPRequestFail(int code, String msg, @Nullable Map<String, Object> map) {
|
if (map == null) {
|
log("onDPRequestFail code = " + code + ", msg = " + msg);
|
return;
|
}
|
log("onDPRequestFail code = " + code + ", msg = " + msg + ", map = " + map.toString());
|
}
|
|
@Override
|
public void onDPClientShow(@Nullable Map<String, Object> map) {
|
log("onDPClientShow");
|
}
|
|
@Override
|
public void onDPClickAuthorName(Map<String, Object> map) {
|
log("onDPClickAuthorName map = " + map.toString());
|
}
|
|
@Override
|
public void onDPClickAvatar(Map<String, Object> map) {
|
log("onDPClickAvatar map = " + map.toString());
|
}
|
|
@Override
|
public void onDPClickComment(Map<String, Object> map) {
|
log("onDPClickComment map = " + map.toString());
|
}
|
|
@Override
|
public void onDPClickLike(boolean isLike, Map<String, Object> map) {
|
log("onDPClickLike isLike = " + isLike + ", map = " + map.toString());
|
}
|
|
@Override
|
public void onDPVideoPlay(Map<String, Object> map) {
|
log("onDPVideoPlay map = " + map.toString());
|
|
}
|
|
@Override
|
public void onDPVideoPause(Map<String, Object> map) {
|
log("onDPVideoPause map = " + map.toString());
|
}
|
|
@Override
|
public void onDPVideoContinue(Map<String, Object> map) {
|
log("onDPVideoContinue map = " + map.toString());
|
}
|
|
@Override
|
public void onDPVideoOver(Map<String, Object> map) {
|
log("onDPVideoOver map = " + map.toString());
|
DPEventCollectUtil.playDrawVideo(mContext, map, "recommend",false);
|
}
|
|
@Override
|
public void onDPVideoCompletion(Map<String, Object> map) {
|
log("onDPVideoCompletion map = " + map.toString());
|
DPEventCollectUtil.playDrawVideo(mContext, map, "recommend",true);
|
}
|
})
|
.dislikeListener(mContext, new DPWidgetVideoCardParams.IDislikeListener() {
|
@Override
|
public void onSelected(String msg) {
|
// 如果 hideTitle 为 true,可以不做任何处理
|
log("dislike msg = " + msg);
|
if (mVideoCardLayout == null) {
|
return;
|
}
|
mVideoCardLayout.removeAllViews();
|
mVideoCardTitle.setVisibility(View.GONE);
|
}
|
});
|
|
DPSdk.factory().loadSmallVideoCard(params, new IDPWidgetFactory.Callback() {
|
@Override
|
public void onError(int code, String msg) {
|
log("onError code = " + code + ", msg = " + msg);
|
}
|
|
@Override
|
public void onSuccess(IDPElement data) {
|
|
|
mVideoCardElement = data;
|
View view = data.getView();
|
if (view == null || mVideoCardLayout == null) {
|
return;
|
}
|
|
mVideoCardLayout.removeAllViews();
|
ViewGroup viewGroup = (ViewGroup) view.getParent();
|
if (viewGroup != null) {
|
viewGroup.removeAllViews();
|
}
|
mVideoCardLayout.addView(view);
|
mVideoCardElement.reportShow();
|
mVideoCardTitle.setVisibility(View.VISIBLE);
|
notifyDataSetChanged();
|
}
|
});
|
}
|
|
private static void log(String msg) {
|
Log.d(TAG, String.valueOf(msg));
|
}
|
}
|