package cri.sanity.pref;
import android.content.Context;
import android.content.Intent;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceClickListener;
import android.util.AttributeSet;
import cri.sanity.screen.FilterActivity;
import cri.sanity.*;
public final class PFilter extends Preference implements OnPreferenceClickListener
{
private CharSequence sum;
public PFilter(Context ctx) { super(ctx); init(); }
public PFilter(Context ctx, AttributeSet attrs) { super(ctx, attrs); init(); }
public PFilter(Context ctx, AttributeSet attrs, int style) { super(ctx, attrs, style); init(); }
private void init() {
CharSequence t = getTitle();
if(t==null || t.length()<=0) setTitle(R.string.filter_cat);
sum = getSummary();
if(sum==null || sum.length()<=0) sum = A.s(R.string.filter_sum);
updateSum();
setPersistent(false);
setWidgetLayoutResource(R.layout.img_call);
setOnPreferenceClickListener(this);
}
public final String sect() {
final String key = getKey();
return key.substring(key.lastIndexOf('_') + 1);
}
public final String filterKey() { return "filter_enable_"+sect(); }
public final void updateSum() {
setSummary(sum + " (" + A.s(A.is(filterKey())? R.string.active : R.string.inactive) + ')');
}
public final void updateSum(boolean enable) {
A.putc(filterKey(), enable);
updateSum();
}
@Override
public boolean onPreferenceClick(Preference p) {
final String sect = sect();
if(A.empty(sect)) return true;
String title = null;
try { title = A.s(A.rstring(getKey())); } catch(Exception e ) {
try { title = A.s(A.rstring(sect+"_cat")); } catch(Exception e2) {}}
Intent i = new Intent(A.app(), FilterActivity.class);
i.putExtra(FilterActivity.EXTRA_SECT , sect );
i.putExtra(FilterActivity.EXTRA_TITLE, title);
FilterActivity.pref = this;
getContext().startActivity(i);
return true;
}
}