package com.weikou.beibeivideo.ui.media;
|
|
import java.util.ArrayList;
|
import java.util.Collections;
|
import java.util.Comparator;
|
import java.util.List;
|
|
import android.text.TextUtils;
|
import android.view.Gravity;
|
import android.view.View;
|
import android.view.View.OnClickListener;
|
import android.view.ViewGroup;
|
import android.widget.BaseAdapter;
|
import android.widget.TextView;
|
|
import com.weikou.beibeivideo.R;
|
import com.weikou.beibeivideo.entity.VideoDetailInfo;
|
import com.weikou.beibeivideo.entity.VideoInfo;
|
import com.weikou.beibeivideo.util.DownloadUtils;
|
import com.weikou.beibeivideo.util.VideoUtil;
|
|
public class GridEpisodeAdapter3 extends BaseAdapter {
|
|
private VideoInfo mVideoInfo;
|
|
private List<VideoDetailInfo> mSelectedToDownLoads;
|
|
public GridEpisodeAdapter3(VideoInfo videoInfo) {
|
super();
|
this.mVideoInfo = videoInfo;
|
this.mSelectedToDownLoads = new ArrayList<VideoDetailInfo>();
|
}
|
|
@Override
|
public int getCount() {
|
return mVideoInfo == null ? 0
|
: (VideoUtil.videoEpisodeList == null ? 0 : VideoUtil.videoEpisodeList.size());
|
}
|
|
@Override
|
public Object getItem(int position) {
|
return VideoUtil.videoEpisodeList.get(position);
|
}
|
|
@Override
|
public long getItemId(int position) {
|
return position;
|
}
|
|
@Override
|
public View getView(int position, View convertView, ViewGroup parent) {
|
if (convertView == null) {
|
convertView = new TextView(parent.getContext());
|
((TextView) convertView).setGravity(Gravity.CENTER);
|
}
|
final VideoDetailInfo videoDetailInfo = (VideoDetailInfo) getItem(position);
|
if (DownloadUtils.isOffline(parent.getContext(), mVideoInfo.getId(),
|
videoDetailInfo.getId())) {
|
((TextView) convertView)
|
.setBackgroundResource(R.drawable.episode_offlined);
|
} else {
|
((TextView) convertView)
|
.setBackgroundResource(R.drawable.episode_unwatched);
|
}
|
((TextView) convertView).setTextColor(parent.getResources().getColor(
|
R.color.black));
|
((TextView) convertView).setText(TextUtils.isEmpty(videoDetailInfo
|
.getTag()) ? videoDetailInfo.getName() : videoDetailInfo
|
.getTag());
|
|
convertView.setOnClickListener(new OnClickListener() {
|
|
@Override
|
public void onClick(View v) {
|
if (!DownloadUtils.isOffline(v.getContext(),
|
mVideoInfo.getId(), videoDetailInfo.getId())) {
|
if (mSelectedToDownLoads.contains(videoDetailInfo)) {
|
mSelectedToDownLoads.remove(videoDetailInfo);
|
v.setBackgroundResource(R.drawable.episode_unwatched);
|
} else {
|
mSelectedToDownLoads.add(videoDetailInfo);
|
v.setBackgroundResource(R.drawable.episode_offlined);
|
}
|
}
|
}
|
});
|
return convertView;
|
}
|
|
public List<VideoDetailInfo> getSelectedToDownLoads() {
|
|
Collections.sort(mSelectedToDownLoads,
|
new Comparator<VideoDetailInfo>() {
|
|
@Override
|
public int compare(VideoDetailInfo info1,
|
VideoDetailInfo info2) {
|
|
return info1.getId().compareTo(info2.getId());
|
}
|
});
|
return mSelectedToDownLoads;
|
}
|
}
|