package cri.sanity.screen;
import android.content.Intent;
import android.os.Bundle;
import android.preference.CheckBoxPreference;
import cri.sanity.*;
import cri.sanity.pref.*;
import cri.sanity.util.*;
public class BlockerActivity extends ScreenActivity
{
private static final String KEY_BLOCK = "block";
private static final String KEY_HELP = "block_help";
private static final String KEY_HISTORY = "block_history";
private static final String KEY_FILTER = "filter_block";
private static final String KEY_SMS_SHARED = "blocksms_shared";
private static final String KEY_SMS_HISTORY = "blocksms_history";
private static final String KEY_SMS_FILTER = "filter_blocksms";
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
on(KEY_BLOCK, new Change(){ public boolean on(){
prefFilter().updateSum((Boolean)value);
return true;
}});
on(K.BLOCK_MODE+K.WS, new Change(){ public boolean on(){
final int mode = Integer.parseInt((String)value);
pref(K.BLOCK_RESUME+K.WS).setEnabled(mode == Blocker.MODE_RADIO);
pref(K.BLOCK_PICKUP ).setEnabled(mode == Blocker.MODE_RADIO || mode == Blocker.MODE_HANGUP);
pref(K.BLOCK_SKIP ).setEnabled(mode != Blocker.MODE_SILENT);
return true;
}});
final int mode = A.geti(K.BLOCK_MODE);
pref(K.BLOCK_RESUME+K.WS).setEnabled(mode == Blocker.MODE_RADIO );
pref(K.BLOCK_PICKUP ).setEnabled(mode == Blocker.MODE_RADIO || mode == Blocker.MODE_HANGUP);
pref(K.BLOCK_SKIP ).setEnabled(mode != Blocker.MODE_SILENT);
final boolean isSmsFilter = A.is(K.BLOCK_SMS_FILTER);
prefSmsFilter().setEnabled(isSmsFilter);
((CheckBoxPreference)pref(KEY_SMS_SHARED)).setChecked(!isSmsFilter);
on(KEY_HISTORY, new Click(){ public boolean on(){
startActivity(new Intent(A.app(), CallHistoryActivity.class));
return true;
}});
on(KEY_HELP, new Click(){ public boolean on(){
Alert.msg(A.s(R.string.block_help_title), A.rawstr(R.raw.block_methods), null, null, Alert.NONE);
return true;
}});
on(KEY_SMS_SHARED, new Change(){ public boolean on(){
final boolean on = (Boolean)value;
final PFilter p = prefSmsFilter();
p.updateSum(!on);
p.setEnabled(!on);
return true;
}});
on(KEY_SMS_HISTORY, new Click(){ public boolean on(){
startActivity(new Intent(A.app(), SmsHistoryActivity.class));
return true;
}});
fullOnly(K.BLOCK_MODE+K.WS, K.BLOCK_RESUME+K.WS, K.BLOCK_PICKUP, K.BLOCK_SKIP, K.BLOCK_NOTIFY,
K.BLOCK_SMS_MAX+K.WS, KEY_SMS_FILTER, KEY_SMS_SHARED);
}
@Override
public void onResume()
{
super.onResume();
setChecked(KEY_BLOCK , A.is(K.BLOCK_FILTER));
setChecked(KEY_SMS_SHARED, !A.is(K.BLOCK_SMS_FILTER));
}
private PFilter prefFilter () { return (PFilter)pref(KEY_FILTER ); }
private PFilter prefSmsFilter() { return (PFilter)pref(KEY_SMS_FILTER); }
}