package net.dev123.yibo.service.adapter;
import net.dev123.yibo.R;
import net.dev123.yibo.common.Constants;
import net.dev123.yibo.common.GlobalResource;
import net.dev123.yibo.common.theme.Theme;
import net.dev123.yibo.common.theme.ThemeUtil;
import net.dev123.yibo.service.listener.ThemeOperateClickListener;
import net.dev123.yibo.service.task.ImageLoad4ThumbnailTask;
import android.content.Context;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
public class ThemeHolder {
private static final String TAG = "ThemeHolder";
private Context context;
ImageView ivThemePicture;
TextView tvThemeName;
TextView tvFileSize;
Button btnThemeOperate;
ThemeOperateClickListener operateClickListener;
ImageLoad4ThumbnailTask themePictureTask;
public ThemeHolder(View convertView) {
if (convertView == null) {
throw new IllegalArgumentException("convertView is null!");
}
context = convertView.getContext();
ivThemePicture = (ImageView) convertView.findViewById(R.id.ivThemePicture);
tvThemeName = (TextView) convertView.findViewById(R.id.tvThemeName);
tvFileSize = (TextView) convertView.findViewById(R.id.tvFileSize);
btnThemeOperate = (Button) convertView.findViewById(R.id.btnThemeOperate);
Theme theme = ThemeUtil.createTheme(context);
tvThemeName.setTextColor(theme.getColor("content"));
tvFileSize.setTextColor(theme.getColor("remark"));
ThemeUtil.setBtnActionNegative(btnThemeOperate);
operateClickListener = new ThemeOperateClickListener();
btnThemeOperate.setOnClickListener(operateClickListener);
}
public void reset() {
if (ivThemePicture != null) {
ivThemePicture.setImageDrawable(GlobalResource.getDefaultThumbnail(context));
}
if (tvFileSize != null) {
tvFileSize.setText("");
}
if (btnThemeOperate != null) {
btnThemeOperate.setVisibility(View.VISIBLE);
btnThemeOperate.setText(R.string.btn_loading);
btnThemeOperate.setTextAppearance(btnThemeOperate.getContext(), R.style.btn_action_negative);
ThemeUtil.setBtnActionNegative(btnThemeOperate);
btnThemeOperate.setEnabled(false);
}
themePictureTask = null;
}
public void recycle() {
if (themePictureTask != null) {
themePictureTask.cancel(true);
}
if (Constants.DEBUG) Log.d(TAG, "user convertView recycle");
}
}