package kc.spark.pixels.android.ui.corelist;
import kc.get.pixel.list.android.R;
import kc.spark.pixels.android.cloud.api.Device;
import kc.spark.pixels.android.ui.util.Ui;
import org.solemnsilence.util.TLog;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.GradientDrawable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
public class DeviceListAdapter extends ArrayAdapter<Device> {
Device selectedForPopupActions;
public DeviceListAdapter(Context ctx) {
super(ctx, R.layout.core_row);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(
Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.core_row, parent, false);
ViewHolder holder = new ViewHolder();
holder.activeStripe = Ui.findView(convertView, R.id.active_core_stripe);
holder.coreName = Ui.findView(convertView, R.id.core_name);
convertView.setTag(holder);
}
ViewHolder holder = (ViewHolder) convertView.getTag();
final Device device = getItem(position);
holder.coreName.setText(device.name);
Drawable[] compoundDrawables = holder.coreName.getCompoundDrawables();
GradientDrawable dotDrawable = (GradientDrawable) compoundDrawables[0];
dotDrawable.setColor(device.color);
holder.activeStripe.setBackgroundColor(device.color);
if (convertView.isActivated()) {
holder.activeStripe.setVisibility(View.VISIBLE);
} else {
holder.activeStripe.setVisibility(View.INVISIBLE);
}
return convertView;
}
static class ViewHolder {
TextView coreName;
View activeStripe;
}
static final TLog log = new TLog(DeviceListAdapter.class);
}