package com.mechinn.android.ouralliance.adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.CheckedTextView;
import android.widget.ListAdapter;
import com.mechinn.android.ouralliance.data.Event;
import java.util.List;
/**
* Created by mechinn on 2/19/14.
*/
public class EventListPreferenceAdapter extends BaseAdapter implements ListAdapter {
public static final String TAG = "EventListPreferenceAdapter";
private long id;
private Context context;
private List<Event> list;
private CharSequence[] entries;
private CharSequence[] values;
private String defaultSummary;
public EventListPreferenceAdapter(Context context) {
this.context = context;
swapList(null, 0);
}
public void setDefaultSummary(String summary) {
defaultSummary = summary;
}
public void swapList(List<Event> list, long id) {
this.id = id;
this.list = list;
if(!isEmpty()) {
this.entries = new CharSequence[list.size()];
this.values = new CharSequence[list.size()];
for(int i=0;i<list.size();++i) {
this.entries[i] = list.get(i).toString();
this.values[i] = Long.toString(list.get(i).getId());
}
} else {
this.entries = new CharSequence[1];
this.entries[0] = ("");
this.values = new CharSequence[1];
this.values[0] = ("0");
}
this.notifyDataSetChanged();
}
public CharSequence[] getEntries() {
return this.entries;
}
public CharSequence getEntry(int which) {
return this.entries[which];
}
public CharSequence getEntry(CharSequence value) {
for(int i=0;i<this.values.length;++i) {
if(value.equals(this.values[i])) {
return this.entries[i];
}
}
return defaultSummary;
}
public CharSequence[] getEntryValues() {
return this.values;
}
public CharSequence getValue(int which) {
return this.values[which];
}
public int getPosition(CharSequence value) {
for(int i=0;i<this.values.length;++i) {
if(value.equals(this.values[i])) {
return i;
}
}
return -1;
}
public Event getSelected(CharSequence value) {
if(!isEmpty()) {
for(int i=0;i<values.length;++i) {
if(value.equals(values[i])) {
return list.get(i);
}
}
}
return null;
}
public boolean isEmpty() {
if(null!=list) {
return list.size()<1;
} else {
return true;
}
}
public int getCount() {
if(isEmpty()) {
return 0;
}
return list.size();
}
@Override
public Event getItem(int position) {
if(isEmpty()) {
return null;
}
return list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
public View getView(final int position, View convertView, ViewGroup parent) {
CheckedTextView container = (CheckedTextView) convertView;
if(!isEmpty()) {
if(null==convertView) {
LayoutInflater inflater = LayoutInflater.from(context);
container = (CheckedTextView) inflater.inflate(android.R.layout.select_dialog_singlechoice, parent, false);
}
container.setText(entries[position]);
}
return container;
}
}