package com.mugua.mgvideo.ui.common;
|
|
import java.util.List;
|
|
import android.app.Dialog;
|
import android.content.DialogInterface;
|
import android.content.Intent;
|
import android.view.LayoutInflater;
|
import android.view.View;
|
import android.view.View.OnClickListener;
|
import android.view.ViewGroup;
|
import android.widget.BaseAdapter;
|
import android.widget.ImageView;
|
import android.widget.LinearLayout;
|
import android.widget.TextView;
|
import android.widget.Toast;
|
|
import com.bumptech.glide.Glide;
|
import com.bumptech.glide.RequestManager;
|
import com.lcjian.library.util.common.StringUtils;
|
import com.mugua.mgvideo.R;
|
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
import com.nostra13.universalimageloader.core.ImageLoader;
|
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
|
import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;
|
import com.yeshi.base.entity.video.VideoInfo;
|
import com.yeshi.video.ui.VideoDetailActivity;
|
import com.mugua.mgvideo.util.AdPromptDialog;
|
import com.yeshi.base.utils.BeibeiConstant;
|
|
import static com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions.withCrossFade;
|
|
public class CategoryGridVideoAdapter extends BaseAdapter {
|
|
private ImageLoader imageLoader = ImageLoader.getInstance();
|
|
private DisplayImageOptions options;
|
|
private List<VideoInfo> mVideoInfos;
|
|
public CategoryGridVideoAdapter(List<VideoInfo> videoInfos, boolean layout2) {
|
super();
|
this.mVideoInfos = videoInfos;
|
this.options = new DisplayImageOptions.Builder()
|
.showImageForEmptyUri(R.drawable.ic_default_cover)
|
.showImageOnFail(R.drawable.ic_default_cover)
|
.showImageOnLoading(R.drawable.ic_default_cover)
|
.resetViewBeforeLoading(true).cacheInMemory(true)
|
.cacheOnDisk(true).imageScaleType(ImageScaleType.EXACTLY)
|
.considerExifParams(true)
|
// default
|
.displayer(new FadeInBitmapDisplayer(300)).build();
|
}
|
|
@Override
|
public int getCount() {
|
if (mVideoInfos.size() % 3 == 0) {
|
return mVideoInfos == null ? 0 : (mVideoInfos.size() / 3);
|
} else {
|
return mVideoInfos == null ? 0 : (mVideoInfos.size() / 3 + 1);
|
}
|
}
|
|
@Override
|
public Object getItem(int position) {
|
return mVideoInfos.get(position);
|
}
|
|
@Override
|
public long getItemId(int position) {
|
return position;
|
}
|
|
private VideoInfo mInfo;
|
|
@Override
|
public View getView(int position, View convertView, ViewGroup parent) {
|
ViewHolder viewHolder;
|
VideoInfo info = null;
|
VideoInfo info1 = null;
|
VideoInfo info2 = null;
|
int startP = position * 3;
|
info = mVideoInfos.get(startP);
|
if (startP + 1 < mVideoInfos.size())
|
info1 = mVideoInfos.get(startP + 1);
|
if (startP + 2 < mVideoInfos.size())
|
info2 = mVideoInfos.get(startP + 2);
|
|
if (convertView == null) {
|
viewHolder = new ViewHolder();
|
convertView = LayoutInflater.from(parent.getContext()).inflate(
|
R.layout.category_movie_item, parent, false);
|
viewHolder.ll_moive_item = (LinearLayout) convertView
|
.findViewById(R.id.ll_moive_item);
|
viewHolder.ll_moive_item1 = (LinearLayout) convertView
|
.findViewById(R.id.ll_moive_item1);
|
viewHolder.ll_moive_item2 = (LinearLayout) convertView
|
.findViewById(R.id.ll_moive_item2);
|
|
viewHolder.iv_movie_cover = (ImageView) convertView
|
.findViewById(R.id.iv_movie_cover);
|
viewHolder.tv_movie_title = (TextView) convertView
|
.findViewById(R.id.tv_movie_title);
|
viewHolder.tv_movie_rating = (TextView) convertView
|
.findViewById(R.id.tv_movie_rating);
|
|
viewHolder.iv_movie_cover1 = (ImageView) convertView
|
.findViewById(R.id.iv_movie_cover1);
|
viewHolder.tv_movie_title1 = (TextView) convertView
|
.findViewById(R.id.tv_movie_title1);
|
viewHolder.tv_movie_rating1 = (TextView) convertView
|
.findViewById(R.id.tv_movie_rating1);
|
|
viewHolder.iv_movie_cover2 = (ImageView) convertView
|
.findViewById(R.id.iv_movie_cover2);
|
viewHolder.tv_movie_title2 = (TextView) convertView
|
.findViewById(R.id.tv_movie_title2);
|
viewHolder.tv_movie_rating2 = (TextView) convertView
|
.findViewById(R.id.tv_movie_rating2);
|
convertView.setTag(viewHolder);
|
|
viewHolder.iv_gdt_nativead_logo = (ImageView) convertView
|
.findViewById(R.id.gdt_nativead_logo);
|
viewHolder.iv_gdt_nativead_poster = (ImageView) convertView
|
.findViewById(R.id.gdt_nativead_poster);
|
viewHolder.tv_gdt_nativead_text_desc = (TextView) convertView
|
.findViewById(R.id.gdt_nativead_text_desc);
|
viewHolder.tv_gdt_nativead_text_name = (TextView) convertView
|
.findViewById(R.id.gdt_nativead_text_name);
|
viewHolder.tv_gdt_nativead_text_status = (TextView) convertView
|
.findViewById(R.id.gdt_nativead_text_status);
|
viewHolder.tv_download = (TextView) convertView
|
.findViewById(R.id.tv_download);
|
} else {
|
viewHolder = (ViewHolder) convertView.getTag();
|
}
|
// glide定义
|
RequestManager glide = Glide.with(convertView.getContext());
|
if (info == null) {
|
convertView.setVisibility(View.GONE);
|
return convertView;
|
}
|
if (info1 == null) {
|
viewHolder.ll_moive_item1.setVisibility(View.INVISIBLE);
|
convertView.findViewById(R.id.fl_gdtnative_ad).setVisibility(
|
View.GONE);
|
viewHolder.ll_moive_item2.setVisibility(View.INVISIBLE);
|
// return convertView;
|
}
|
if (info2 == null) {
|
viewHolder.ll_moive_item2.setVisibility(View.INVISIBLE);
|
convertView.findViewById(R.id.fl_gdtnative_ad).setVisibility(
|
View.GONE);
|
// return convertView;
|
}
|
|
if (info != null) {
|
|
viewHolder.ll_moive_item.setVisibility(View.VISIBLE);
|
// imageLoader.displayImage(info.getPicture(),
|
// viewHolder.iv_movie_cover, options);// GridVideoAdapter
|
glide.load(info.getPicture())
|
.placeholder(R.drawable.ic_default_cover)
|
.error(R.drawable.ic_default_cover).transition(withCrossFade())
|
.into(viewHolder.iv_movie_cover);
|
viewHolder.tv_movie_title.setText(info.getName());
|
viewHolder.tv_movie_rating.setText(StringUtils.isBlank(info
|
.getTag()) ? "" : info.getTag());
|
final VideoInfo cInfo = info;
|
{
|
convertView.findViewById(R.id.ll_all_moive_item).setVisibility(
|
View.VISIBLE);
|
convertView.findViewById(R.id.fl_gdtnative_ad).setVisibility(
|
View.GONE);
|
viewHolder.ll_moive_item
|
.setOnClickListener(new OnClickListener() {
|
|
@Override
|
public void onClick(View v) {
|
myClick(cInfo, v);
|
}
|
});
|
}
|
}
|
if (info1 != null) {
|
viewHolder.ll_moive_item1.setVisibility(View.VISIBLE);
|
// imageLoader.displayImage(info1.getPicture(),
|
// viewHolder.iv_movie_cover1, options);// GridVideoAdapter
|
glide.load(info1.getPicture())
|
.placeholder(R.drawable.ic_default_cover)
|
.error(R.drawable.ic_default_cover).transition(withCrossFade())
|
.into(viewHolder.iv_movie_cover1);
|
viewHolder.tv_movie_title1.setText(info1.getName());
|
viewHolder.tv_movie_rating1.setText(StringUtils.isBlank(info1
|
.getTag()) ? "" : info1.getTag());
|
final VideoInfo cInfo = info1;
|
viewHolder.ll_moive_item1.setOnClickListener(new OnClickListener() {
|
|
@Override
|
public void onClick(View v) {
|
myClick(cInfo, v);
|
}
|
});
|
|
} else {
|
viewHolder.ll_moive_item1.setVisibility(View.INVISIBLE);
|
return convertView;
|
}
|
if (info2 != null) {
|
viewHolder.ll_moive_item2.setVisibility(View.VISIBLE);
|
// imageLoader.displayImage(info2.getPicture(),
|
// viewHolder.iv_movie_cover2, options);// GridVideoAdapter
|
glide.load(info2.getPicture())
|
.placeholder(R.drawable.ic_default_cover)
|
.error(R.drawable.ic_default_cover).transition(withCrossFade())
|
.into(viewHolder.iv_movie_cover2);
|
viewHolder.tv_movie_title2.setText(info2.getName());
|
viewHolder.tv_movie_rating2.setText(StringUtils.isBlank(info2
|
.getTag()) ? "" : info2.getTag());
|
final VideoInfo cInfo = info2;
|
viewHolder.ll_moive_item2.setOnClickListener(new OnClickListener() {
|
|
@Override
|
public void onClick(View v) {
|
myClick(cInfo, v);
|
}
|
});
|
} else {
|
viewHolder.ll_moive_item2.setVisibility(View.INVISIBLE);
|
return convertView;
|
}
|
|
return convertView;
|
}
|
|
private static class ViewHolder {
|
LinearLayout ll_moive_item;
|
LinearLayout ll_moive_item1;
|
LinearLayout ll_moive_item2;
|
ImageView iv_movie_cover;
|
TextView tv_movie_title;
|
TextView tv_movie_rating;
|
ImageView iv_movie_cover1;
|
TextView tv_movie_title1;
|
TextView tv_movie_rating1;
|
ImageView iv_movie_cover2;
|
TextView tv_movie_title2;
|
TextView tv_movie_rating2;
|
|
/*
|
* 广点通原生广告样式
|
*/
|
ImageView iv_gdt_nativead_logo;
|
TextView tv_gdt_nativead_text_name;
|
TextView tv_gdt_nativead_text_desc;
|
TextView tv_gdt_nativead_text_status;
|
TextView tv_download;
|
ImageView iv_gdt_nativead_poster;
|
}
|
|
/**
|
* App类广告安装、下载状态的更新(普链广告没有此状态,其值为-1) 返回的AppStatus含义如下: 0:未下载 1:已安装 2:已安装旧版本
|
* 4:下载中(可获取下载进度“0-100”) 8:下载完成 16:下载失败
|
*/
|
// private String getADText() {
|
// if (mInfo.getAdInfo() == null) {
|
// return "……";
|
// }
|
// switch (Integer.parseInt(mInfo.getAdInfo().getContent()
|
// .get(XfvideoNativeKey.LATYPE)
|
// + "")) {
|
// case 2:
|
// return "点击下载";
|
// case 3:
|
// return "打开网页";
|
// default:
|
// return "查看详情";
|
// }
|
// }
|
private void myClick(VideoInfo videoInfo, View v) {
|
Intent intent = new Intent(v.getContext(), VideoDetailActivity.class);
|
intent.putExtra("video_info", videoInfo);
|
v.getContext().startActivity(intent);
|
}
|
}
|