package com.weikou.beibeivideo.ui.common;
|
|
import android.app.Activity;
|
import android.app.AlertDialog;
|
import android.app.Dialog;
|
import android.content.ActivityNotFoundException;
|
import android.content.ComponentName;
|
import android.content.Context;
|
import android.content.DialogInterface;
|
import android.content.Intent;
|
import android.os.Bundle;
|
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.TextView;
|
import android.widget.Toast;
|
|
import com.bumptech.glide.Glide;
|
import com.bumptech.glide.RequestManager;
|
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.weikou.beibeivideo.BeibeiVideoApplication;
|
import com.weikou.beibeivideo.entity.MemeLiveInfo;
|
import com.weikou.beibeivideo.service.DownLoadFileService;
|
import com.weikou.beibeivideo.util.downutil.ApkUtil;
|
import com.weikou.beibeivideo.R;
|
|
import java.util.List;
|
|
public class MemeLiveGridVideoAdapter extends BaseAdapter {
|
|
private ImageLoader imageLoader = ImageLoader.getInstance();
|
|
private RequestManager glide;
|
|
private DisplayImageOptions options;
|
|
private List<MemeLiveInfo> mVideoInfos;
|
|
private boolean mLayout2;
|
|
private Context mContext;
|
|
public MemeLiveGridVideoAdapter(List<MemeLiveInfo> videoInfos, Context context,
|
boolean layout2) {
|
super();
|
this.mVideoInfos = videoInfos;
|
mContext = context;
|
this.mLayout2 = layout2;
|
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)
|
.displayer(new FadeInBitmapDisplayer(300)).build();
|
}
|
|
@Override
|
public int getCount() {
|
// return mVideoInfos == null ? 0 : mVideoInfos.size();
|
if (mVideoInfos.size() % 2 == 0) {
|
return mVideoInfos == null ? 0 : (mVideoInfos.size() / 2);
|
} else {
|
return mVideoInfos == null ? 0 : (mVideoInfos.size() / 2 + 1);
|
}
|
}
|
|
@Override
|
public Object getItem(int position) {
|
return mVideoInfos.get(position);
|
}
|
|
@Override
|
public long getItemId(int position) {
|
return position;
|
}
|
|
@Override
|
public View getView(int position, View convertView, ViewGroup parent) {
|
// ViewHolder viewHolder;
|
// if (convertView == null) {
|
// viewHolder = new ViewHolder();
|
// if (mLayout2) {
|
// convertView = LayoutInflater.from(parent.getContext()).inflate(
|
// R.layout.live_moive_item, parent, false);
|
// } else {
|
// convertView = LayoutInflater.from(parent.getContext()).inflate(
|
// R.layout.live_moive_item1, parent, false);
|
// }
|
// 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.tv_movie_level = (TextView) convertView
|
// .findViewById(R.id.tv_movie_level);
|
// convertView.setTag(viewHolder);
|
// } else {
|
// viewHolder = (ViewHolder) convertView.getTag();
|
// }
|
// MemeLiveInfo videoInfo = (MemeLiveInfo) getItem(position);
|
// imageLoader.displayImage(videoInfo.getImage_url(),
|
// viewHolder.iv_movie_cover, options);// 海报图片
|
// viewHolder.tv_movie_title.setText(videoInfo.getStar_name());// 房主昵称
|
// viewHolder.tv_movie_level.setText(videoInfo.getLevel());// 明星等级
|
// viewHolder.tv_movie_rating.setText(videoInfo.getAudience_num());//
|
// 在线人数
|
// return convertView;
|
|
MemeLiveInfo info = null;
|
MemeLiveInfo info1 = null;
|
int startP = position * 2;
|
info = mVideoInfos.get(startP);
|
if (startP + 1 < mVideoInfos.size()) {
|
info1 = mVideoInfos.get(startP + 1);
|
}
|
|
ViewHolder viewHolder;
|
if (convertView == null) {
|
viewHolder = new ViewHolder();
|
if (mLayout2) {
|
convertView = LayoutInflater.from(parent.getContext()).inflate(
|
R.layout.live_moive_item, parent, false);
|
} else {
|
convertView = LayoutInflater.from(parent.getContext()).inflate(
|
R.layout.live_moive_item1, parent, false);
|
}
|
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.tv_movie_level = (TextView) convertView
|
.findViewById(R.id.tv_movie_level);
|
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.tv_movie_level1 = (TextView) convertView
|
.findViewById(R.id.tv_movie_level1);
|
convertView.setTag(viewHolder);
|
} else {
|
viewHolder = (ViewHolder) convertView.getTag();
|
}
|
glide = Glide.with(mContext);
|
// 在线人数
|
|
if (info != null) {
|
convertView.findViewById(R.id.ll_video_show).setVisibility(
|
View.VISIBLE);
|
// imageLoader.displayImage(info.getImage_url(),
|
// viewHolder.iv_movie_cover, options);
|
try {
|
glide.load(info.getImage_url())
|
.placeholder(R.drawable.ic_default_cover)
|
.error(R.drawable.ic_default_cover)
|
.into(viewHolder.iv_movie_cover);
|
} catch (IllegalArgumentException e) {
|
e.printStackTrace();
|
}
|
viewHolder.tv_movie_title.setText(info.getStar_name());
|
viewHolder.tv_movie_rating.setText(info.getAudience_num());
|
viewHolder.tv_movie_level.setText(info.getLevel());
|
|
/*
|
* 广点通原生广告
|
*/
|
final MemeLiveInfo lInfo = info;
|
convertView.findViewById(R.id.fl_gdtnative_ad).setVisibility(
|
View.GONE);
|
convertView.findViewById(R.id.ll_video_info).setVisibility(
|
View.VISIBLE);
|
convertView.findViewById(R.id.ll_video_show).setOnClickListener(
|
new OnClickListener() {
|
|
@Override
|
public void onClick(final View v) {
|
|
// TextView tv_radio=notif.contentView
|
// manager.notify(0, notif);
|
// new DownLoadThread().start();// 开始下载
|
if (!ApkUtil.checkAPP(v.getContext(),
|
"com.memezhibo.android")) {// 未安装KK直播
|
BeibeiVideoApplication.MMNumber = lInfo
|
.getStar_id();
|
if (0 <= DownLoadFileService.j
|
&& DownLoadFileService.j < 100) {
|
Toast.makeText(v.getContext(),
|
"插件正在下载中···", Toast.LENGTH_LONG)
|
.show();
|
return;
|
}
|
// 先new出一个监听器,设置好监听
|
DialogInterface.OnClickListener dialogOnclicListener = new DialogInterface.OnClickListener() {
|
|
@Override
|
public void onClick(DialogInterface dialog,
|
int which) {
|
switch (which) {
|
case Dialog.BUTTON_POSITIVE:
|
try {
|
Intent intent = new Intent(
|
v.getContext(),
|
DownLoadFileService.class);
|
v.getContext().stopService(
|
intent);
|
} catch (Exception e) {
|
}
|
try {
|
Bundle bundle = new Bundle();
|
bundle.putString("downloadurl",
|
"http://dl.sumeme.com/app/memezhibo_android_mugua_2.apk");
|
Intent intent = new Intent(
|
v.getContext(),
|
DownLoadFileService.class);
|
intent.putExtras(bundle);
|
v.getContext().startService(
|
intent);
|
} catch (Exception e) {
|
}
|
|
break;
|
case Dialog.BUTTON_NEGATIVE:
|
break;
|
}
|
}
|
};
|
// dialog参数设置
|
AlertDialog.Builder builder = new AlertDialog.Builder(
|
v.getContext()); // 先得到构造器
|
builder.setTitle("插件下载提示"); // 设置标题
|
builder.setMessage("是否确认下载直播插件?"); // 设置内容
|
builder.setPositiveButton("确认",
|
dialogOnclicListener);
|
builder.setNegativeButton("取消",
|
dialogOnclicListener);
|
builder.create().show();
|
|
|
} else {
|
Intent intent = new Intent();
|
intent.setComponent(new ComponentName(
|
"com.memezhibo.android",
|
"com.memezhibo.android.activity.LiveActivity"));
|
intent.setAction("com.memezhibo.android.exportedAction");
|
intent.putExtra("room_id",
|
Long.parseLong(lInfo.getStar_id()));
|
|
try {
|
v.getContext().startActivity(intent);
|
} catch (ActivityNotFoundException e) {
|
e.printStackTrace();
|
}
|
}
|
|
}
|
});
|
} else {
|
convertView.findViewById(R.id.ll_video_show).setVisibility(
|
View.GONE);
|
}
|
if (info1 != null) {
|
convertView.findViewById(R.id.ll_video_show1).setVisibility(
|
View.VISIBLE);
|
// imageLoader.displayImage(info1.getImage_url(),
|
// viewHolder.iv_movie_cover1, options);
|
try {
|
glide.load(info1.getImage_url())
|
.into(viewHolder.iv_movie_cover1);
|
} catch (IllegalArgumentException e) {
|
e.printStackTrace();
|
}
|
viewHolder.tv_movie_title1.setText(info1.getStar_name());
|
viewHolder.tv_movie_rating1.setText(info1.getAudience_num());
|
viewHolder.tv_movie_level1.setText(info1.getLevel());
|
final MemeLiveInfo lInfo = info1;
|
convertView.findViewById(R.id.ll_video_show1).setOnClickListener(
|
new OnClickListener() {
|
|
@Override
|
public void onClick(final View v) {
|
|
// TextView tv_radio=notif.contentView
|
// manager.notify(0, notif);
|
// new DownLoadThread().start();// 开始下载
|
if (!ApkUtil.checkAPP(v.getContext(),
|
"com.memezhibo.android")) {// 未安装KK直播
|
BeibeiVideoApplication.MMNumber = lInfo
|
.getStar_id();
|
if (0 <= DownLoadFileService.j
|
&& DownLoadFileService.j < 100) {
|
Toast.makeText(v.getContext(),
|
"插件正在下载中···", Toast.LENGTH_LONG)
|
.show();
|
return;
|
}
|
// 先new出一个监听器,设置好监听
|
DialogInterface.OnClickListener dialogOnclicListener = new DialogInterface.OnClickListener() {
|
|
@Override
|
public void onClick(DialogInterface dialog,
|
int which) {
|
switch (which) {
|
case Dialog.BUTTON_POSITIVE:
|
try {
|
Intent intent = new Intent(
|
v.getContext(),
|
DownLoadFileService.class);
|
v.getContext().stopService(
|
intent);
|
} catch (Exception e) {
|
}
|
try {
|
Bundle bundle = new Bundle();
|
bundle.putString("downloadurl",
|
"http://dl.sumeme.com/app/memezhibo_android_mugua_2.apk");
|
Intent intent = new Intent(
|
v.getContext(),
|
DownLoadFileService.class);
|
intent.putExtras(bundle);
|
v.getContext().startService(
|
intent);
|
} catch (Exception e) {
|
}
|
|
break;
|
case Dialog.BUTTON_NEGATIVE:
|
break;
|
}
|
}
|
};
|
// dialog参数设置
|
AlertDialog.Builder builder = new AlertDialog.Builder(
|
v.getContext()); // 先得到构造器
|
builder.setTitle("插件下载提示"); // 设置标题
|
builder.setMessage("是否确认下载直播插件?"); // 设置内容
|
builder.setPositiveButton("确认",
|
dialogOnclicListener);
|
builder.setNegativeButton("取消",
|
dialogOnclicListener);
|
builder.create().show();
|
|
} else {
|
Intent intent = new Intent();
|
intent.setComponent(new ComponentName(
|
"com.memezhibo.android",
|
"com.memezhibo.android.activity.LiveActivity"));
|
intent.setAction("com.memezhibo.android.exportedAction");
|
intent.putExtra("room_id",
|
Long.parseLong(lInfo.getStar_id()));
|
|
try {
|
v.getContext().startActivity(intent);
|
} catch (ActivityNotFoundException e) {
|
e.printStackTrace();
|
}
|
}
|
|
}
|
});
|
} else {
|
convertView.findViewById(R.id.ll_video_show1).setVisibility(
|
View.GONE);
|
}
|
|
return convertView;
|
|
}
|
|
private static class ViewHolder {
|
ImageView iv_movie_cover;
|
TextView tv_movie_title;
|
TextView tv_movie_rating;
|
TextView tv_movie_level;
|
ImageView iv_movie_cover1;
|
TextView tv_movie_title1;
|
TextView tv_movie_rating1;
|
TextView tv_movie_level1;
|
}
|
}
|