package com.hanju.video.app.ui.media;
|
|
import java.util.ArrayList;
|
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.hanju.video.app.R;
|
import com.hanju.video.app.entity.VideoDetailInfo;
|
import com.hanju.video.app.entity.VideoInfo;
|
import com.hanju.video.app.util.DownloadUtils;
|
|
public class GridEpisodeAdapter4 extends BaseAdapter {
|
|
private VideoInfo mVideoInfo;
|
|
private List<VideoDetailInfo> mSelectedToDownLoads;
|
|
public GridEpisodeAdapter4(VideoInfo videoInfo) {
|
super();
|
this.mVideoInfo = videoInfo;
|
this.mSelectedToDownLoads = new ArrayList<VideoDetailInfo>();
|
}
|
|
@Override
|
public int getCount() {
|
return mVideoInfo == null ? 0
|
: (mVideoInfo.getVideoDetailList() == null ? 0 : mVideoInfo.getVideoDetailList().size());
|
}
|
|
@Override
|
public Object getItem(int position) {
|
return mVideoInfo.getVideoDetailList().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())) {
|
convertView.setBackgroundResource(R.drawable.episode_offlined2);
|
} else {
|
convertView.setBackgroundResource(R.drawable.episode_unwatched2);
|
}
|
((TextView) convertView).setTextColor(parent.getResources().getColor(android.R.color.white));
|
((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_unwatched2);
|
} else {
|
mSelectedToDownLoads.add(videoDetailInfo);
|
v.setBackgroundResource(R.drawable.episode_offlined2);
|
}
|
}
|
}
|
});
|
return convertView;
|
}
|
|
public List<VideoDetailInfo> getSelectedToDownLoads() {
|
return mSelectedToDownLoads;
|
}
|
}
|