package com.mechinn.android.ouralliance.widget;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.util.AttributeSet;
import com.mechinn.android.ouralliance.adapter.EventListPreferenceAdapter;
import com.mechinn.android.ouralliance.data.Event;
import java.util.List;
/**
* Created by mechinn on 2/19/14.
*/
public class EventListPreference extends android.preference.ListPreference {
public static final String TAG = "CompetitionListPreference";
private EventListPreferenceAdapter listAdapter = null;
public EventListPreference(Context context, AttributeSet attrs) {
super(context, attrs);
listAdapter = new EventListPreferenceAdapter(context);
}
public void setDefaultSummary(String summary) {
listAdapter.setDefaultSummary(summary);
}
public void swapAdapter(List<Event> list, long id) {
listAdapter.swapList(list, id);
if(null!=list && list.size()>0) {
this.setSummary(listAdapter.getEntry(this.getValue()));
} else {
this.setSummary("Must download competitions");
}
}
public Event get() {
return listAdapter.getSelected(this.getValue());
}
@Override
public CharSequence[] getEntries() {
return listAdapter.getEntries();
}
@Override
public CharSequence getEntry() {
return listAdapter.getEntry(this.getValue());
}
@Override
public CharSequence[] getEntryValues() {
return listAdapter.getEntryValues();
}
@Override
protected void onPrepareDialogBuilder(AlertDialog.Builder builder) {
builder.setPositiveButton(null,null).setAdapter(listAdapter, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
EventListPreference.this.setValue(listAdapter.getValue(which).toString());
setSummary(listAdapter.getEntry(which));
}
});
}
}