package io.github.mayubao.kuaichuan.ui.adapter;
import android.content.Context;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import java.util.List;
import io.github.mayubao.kuaichuan.AppContext;
import io.github.mayubao.kuaichuan.R;
import io.github.mayubao.kuaichuan.common.CommonAdapter;
import io.github.mayubao.kuaichuan.core.entity.FileInfo;
/**
* ApkInfo Adapter
*
* Created by mayubao on 2016/11/24.
* Contact me 345269374@qq.com
*/
public class FileInfoAdapter extends CommonAdapter<FileInfo> {
/**
* 文件类型的标识
*/
private int mType = FileInfo.TYPE_APK;
public FileInfoAdapter(Context context, List<FileInfo> dataList) {
super(context, dataList);
}
public FileInfoAdapter(Context context, List<FileInfo> dataList, int type) {
super(context, dataList);
this.mType = type;
}
@Override
public View convertView(int position, View convertView) {
FileInfo fileInfo = getDataList().get(position);
if(mType == FileInfo.TYPE_APK){ //APK convertView
ApkViewHolder viewHolder = null;
if(convertView == null){
convertView = View.inflate(getContext(), R.layout.item_apk, null);
viewHolder = new ApkViewHolder();
viewHolder.iv_shortcut = (ImageView) convertView.findViewById(R.id.iv_shortcut);
viewHolder.iv_ok_tick = (ImageView) convertView.findViewById(R.id.iv_ok_tick);
viewHolder.tv_name = (TextView) convertView.findViewById(R.id.tv_name);
viewHolder.tv_size = (TextView) convertView.findViewById(R.id.tv_size);
convertView.setTag(viewHolder);
}else{
viewHolder = (ApkViewHolder) convertView.getTag();
}
if(getDataList() != null && getDataList().get(position) != null){
viewHolder.iv_shortcut.setImageBitmap(fileInfo.getBitmap());
viewHolder.tv_name.setText(fileInfo.getName() == null ? "" : fileInfo.getName());
viewHolder.tv_size.setText(fileInfo.getSizeDesc() == null ? "" : fileInfo.getSizeDesc());
//全局变量是否存在FileInfo
if(AppContext.getAppContext().isExist(fileInfo)){
viewHolder.iv_ok_tick.setVisibility(View.VISIBLE);
}else{
viewHolder.iv_ok_tick.setVisibility(View.GONE);
}
}
}
else if(mType == FileInfo.TYPE_JPG){ //JPG convertView
JpgViewHolder viewHolder = null;
if(convertView == null){
convertView = View.inflate(getContext(), R.layout.item_jpg, null);
viewHolder = new JpgViewHolder();
viewHolder.iv_ok_tick = (ImageView) convertView.findViewById(R.id.iv_ok_tick);
viewHolder.iv_shortcut = (ImageView) convertView.findViewById(R.id.iv_shortcut);
convertView.setTag(viewHolder);
}else{
viewHolder = (JpgViewHolder) convertView.getTag();
}
if(getDataList() != null && getDataList().get(position) != null){
// viewHolder.iv_shortcut.setImageBitmap(fileInfo.getBitmap());
Glide
.with(getContext())
.load(fileInfo.getFilePath())
.centerCrop()
.placeholder(R.mipmap.icon_jpg)
.crossFade()
.into(viewHolder.iv_shortcut);
//全局变量是否存在FileInfo
if(AppContext.getAppContext().isExist(fileInfo)){
viewHolder.iv_ok_tick.setVisibility(View.VISIBLE);
}else{
viewHolder.iv_ok_tick.setVisibility(View.GONE);
}
}
}
else if(mType == FileInfo.TYPE_MP3){ //MP3 convertView
Mp3ViewHolder viewHolder = null;
if(convertView == null){
convertView = View.inflate(getContext(), R.layout.item_mp3, null);
viewHolder = new Mp3ViewHolder();
viewHolder.iv_ok_tick = (ImageView) convertView.findViewById(R.id.iv_ok_tick);
viewHolder.tv_name = (TextView) convertView.findViewById(R.id.tv_name);
viewHolder.tv_size = (TextView) convertView.findViewById(R.id.tv_size);
convertView.setTag(viewHolder);
}else{
viewHolder = (Mp3ViewHolder) convertView.getTag();
}
if(getDataList() != null && getDataList().get(position) != null){
viewHolder.tv_name.setText(fileInfo.getName() == null ? "" : fileInfo.getName());
viewHolder.tv_size.setText(fileInfo.getSizeDesc() == null ? "" : fileInfo.getSizeDesc());
//全局变量是否存在FileInfo
if(AppContext.getAppContext().isExist(fileInfo)){
viewHolder.iv_ok_tick.setVisibility(View.VISIBLE);
}else{
viewHolder.iv_ok_tick.setVisibility(View.GONE);
}
}
}
else if(mType == FileInfo.TYPE_MP4){ //MP4 convertView
Mp4ViewHolder viewHolder = null;
if(convertView == null){
convertView = View.inflate(getContext(), R.layout.item_mp4, null);
viewHolder = new Mp4ViewHolder();
viewHolder.iv_shortcut = (ImageView) convertView.findViewById(R.id.iv_shortcut);
viewHolder.iv_ok_tick = (ImageView) convertView.findViewById(R.id.iv_ok_tick);
viewHolder.tv_name = (TextView) convertView.findViewById(R.id.tv_name);
viewHolder.tv_size = (TextView) convertView.findViewById(R.id.tv_size);
convertView.setTag(viewHolder);
}else{
viewHolder = (Mp4ViewHolder) convertView.getTag();
}
if(getDataList() != null && getDataList().get(position) != null){
viewHolder.iv_shortcut.setImageBitmap(fileInfo.getBitmap());
viewHolder.tv_name.setText(fileInfo.getName() == null ? "" : fileInfo.getName());
viewHolder.tv_size.setText(fileInfo.getSizeDesc() == null ? "" : fileInfo.getSizeDesc());
//全局变量是否存在FileInfo
if(AppContext.getAppContext().isExist(fileInfo)){
viewHolder.iv_ok_tick.setVisibility(View.VISIBLE);
}else{
viewHolder.iv_ok_tick.setVisibility(View.GONE);
}
}
}
return convertView;
}
static class ApkViewHolder {
ImageView iv_shortcut;
ImageView iv_ok_tick;
TextView tv_name;
TextView tv_size;
}
static class JpgViewHolder {
ImageView iv_shortcut;
ImageView iv_ok_tick;
}
static class Mp3ViewHolder {
ImageView iv_ok_tick;
TextView tv_name;
TextView tv_size;
}
static class Mp4ViewHolder {
ImageView iv_shortcut;
ImageView iv_ok_tick;
TextView tv_name;
TextView tv_size;
}
}