下面列出了怎么用android.preference.CheckBoxPreference的API类实例代码及写法,或者点击链接到github查看源代码。
private void disableLastCheckedPref() {
Collection<CheckBoxPreference> checked = new ArrayList<CheckBoxPreference>(3);
if (decode1D.isChecked()) {
checked.add(decode1D);
}
if (decodeQR.isChecked()) {
checked.add(decodeQR);
}
if (decodeDataMatrix.isChecked()) {
checked.add(decodeDataMatrix);
}
boolean disable = checked.size() < 2;
CheckBoxPreference[] checkBoxPreferences = {decode1D, decodeQR, decodeDataMatrix};
for (CheckBoxPreference pref : checkBoxPreferences) {
pref.setEnabled(!(disable && checked.contains(pref)));
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Set dummy name for preferences so that they don't mix with global ones.
// FIXME we should not be writing these out to a file, since they are written to
// the DB in onSharedPreferenceChanged().
getPreferenceManager().setSharedPreferencesName("account");
addPreferencesFromResource(R.xml.account_settings);
Intent intent = getIntent();
mProviderId = intent.getLongExtra(ImServiceConstants.EXTRA_INTENT_PROVIDER_ID, -1);
mAccountId = intent.getLongExtra(ImServiceConstants.EXTRA_INTENT_ACCOUNT_ID, -1);
if (mProviderId < 0) {
Log.e(LOG_TAG, "AccountSettingsActivity intent requires provider id extra");
throw new RuntimeException(
"AccountSettingsActivity must be created with an provider id");
}
mDeviceName = (EditTextPreference) findPreference(("pref_account_xmpp_resource"));
mServer = (EditTextPreference) findPreference(("pref_account_server"));
mUseProxy = (CheckBoxPreference) findPreference(("pref_security_use_proxy"));
mProxyServer = (EditTextPreference) findPreference(("pref_security_proxy_host"));
mProxyPort = (EditTextPreference) findPreference(("pref_security_proxy_port"));
}
private static void replaceAllCheckBoxPreferencesBySwitchPreferences(
final PreferenceGroup group) {
final ArrayList<Preference> preferences = new ArrayList<>();
final int count = group.getPreferenceCount();
for (int index = 0; index < count; index++) {
preferences.add(group.getPreference(index));
}
group.removeAll();
for (int index = 0; index < count; index++) {
final Preference preference = preferences.get(index);
if (preference instanceof CheckBoxPreference) {
addSwitchPreferenceBasedOnCheckBoxPreference((CheckBoxPreference)preference, group);
} else {
group.addPreference(preference);
if (preference instanceof PreferenceGroup) {
replaceAllCheckBoxPreferencesBySwitchPreferences((PreferenceGroup)preference);
}
}
}
}
static CheckBoxPreference addPreference(PreferenceFragment fragment) {
//>5.1// static SwitchPreference addPreference(PreferenceFragment fragment) {
PreferenceGroup pg = (PreferenceGroup) fragment.findPreference(PREFERENCE_CATEGORY_KEY);
if (pg != null) {
/*<5.1*/ CheckBoxPreference p = new CheckBoxPreference(pg.getContext());
//>5.1// SwitchPreference p = new SwitchPreference(pg.getContext());
p.setKey(PREFERENCE_KEY);
p.setTitle(PREFERENCE_TITLE);
p.setSummary(PREFERENCE_SUMMARY);
p.setPersistent(false);
pg.addPreference(p);
return p;
} else {
Log.e("FakeSignatureGlobalUI", "cannot find '" + PREFERENCE_CATEGORY_KEY +"' preference category");
return null;
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
ThemeUtils.setThemeFromPreferences(this);
mTimestampWhenApplyingTheme = System.currentTimeMillis();
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.game_settings);
findPreference("show_hints").setOnPreferenceChangeListener(mShowHintsChanged);
findPreference("theme").setOnPreferenceChangeListener(((preference, newValue) -> { recreate(); return true; }));
ListPreference themePreference = (ListPreference) findPreference("theme");
mScreenCustomTheme = (PreferenceGroup)findPreference("screen_custom_theme");
enableScreenCustomTheme(themePreference.getValue());
mScreenCustomTheme.setOnPreferenceChangeListener((preference, newValue) -> { recreate(); return true; });
mHighlightSimilarNotesPreference = (CheckBoxPreference)findPreference("highlight_similar_notes");
CheckBoxPreference highlightSimilarCellsPreference = (CheckBoxPreference)findPreference("highlight_similar_cells");
highlightSimilarCellsPreference.setOnPreferenceChangeListener(mHighlightSimilarCellsChanged);
mHighlightSimilarNotesPreference.setEnabled(highlightSimilarCellsPreference.isChecked());
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Generate random User-Agent if it is unset
new Randomizer(getActivity()).cached_useragent();
setTitle(getString(R.string.pref_category_connection));
addPreferencesFromResource(R.xml.pref_conn);
PreferenceScreen screen = getPreferenceScreen();
final CheckBoxPreference pref_mainet = (CheckBoxPreference)
screen.findPreference("pref_mainet");
final LoginFormPreference pref_mainet_creds = (LoginFormPreference)
screen.findPreference("pref_mainet_credentials");
pref_mainet_creds.setEnabled(pref_mainet.isChecked());
pref_mainet.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
pref_mainet_creds.setEnabled((Boolean) newValue);
return true;
}
});
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.pref_notification);
setHasOptionsMenu(true);
// Bind the summaries of EditText/List/Dialog/Ringtone preferences
// to their values. When their values change, their summaries are
// updated to reflect the new value, per the Android Design
// guidelines.
bindPreferenceSummaryToValue(findPreference("notifications_new_message_ringtone"));
preferenceScreen = getPreferenceScreen();
sendNotificationPreference = (Preference) this.findPreference("notifications_send");
sendNotificationWithDelayPreference = (Preference) this.findPreference("notifications_with_delay_send");
switchPreference = (SwitchPreference) this.findPreference("notifications_new_message");
ringtonePreference = (RingtonePreference) this.findPreference("notifications_new_message_ringtone");
vibratePreference = (CheckBoxPreference) this.findPreference("notifications_new_message_vibrate");
notificationsSlider = (SliderPreference) this.findPreference("notifications_slider");
setNotificationPreferences();
sendNotificationPreference.setOnPreferenceClickListener(sendNotificationListener);
sendNotificationWithDelayPreference.setOnPreferenceClickListener(sendNotificationWithDelayListener);
switchPreference.setOnPreferenceClickListener(switchPreferenceListener);
}
@TargetApi(14)
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
/*
* SwitchPreferences calls multiple times the onPreferenceChange() method
* It is due to the bug in SwitchPreference implementation.
* And it's solved in API 21+
*/
//if (C.SDK >= 14) {
if (C.SDK >= 21) {
switchPreference = (SwitchPreference) findPreference("run");
} else {
checkBoxPreference = (CheckBoxPreference) findPreference("run");
}
findPreference("run").setOnPreferenceChangeListener(this);
serviceReceiver = new ServiceReceiver();
sp = new SP(getActivity());
}
static void addSwitchPreferenceBasedOnCheckBoxPreference(final CheckBoxPreference checkBox,
final PreferenceGroup group) {
final SwitchPreference switchPref = new SwitchPreference(checkBox.getContext());
switchPref.setTitle(checkBox.getTitle());
switchPref.setKey(checkBox.getKey());
switchPref.setOrder(checkBox.getOrder());
switchPref.setPersistent(checkBox.isPersistent());
switchPref.setEnabled(checkBox.isEnabled());
switchPref.setChecked(checkBox.isChecked());
switchPref.setSummary(checkBox.getSummary());
switchPref.setSummaryOn(checkBox.getSummaryOn());
switchPref.setSummaryOff(checkBox.getSummaryOff());
switchPref.setSwitchTextOn(EMPTY_TEXT);
switchPref.setSwitchTextOff(EMPTY_TEXT);
group.addPreference(switchPref);
switchPref.setDependency(checkBox.getDependency());
}
static CheckBoxPreference addPreference(PreferenceFragment fragment) {
//>5.1// static SwitchPreference addPreference(PreferenceFragment fragment) {
PreferenceGroup pg = (PreferenceGroup) fragment.findPreference(PREFERENCE_CATEGORY_KEY);
if (pg != null) {
/*<5.1*/ CheckBoxPreference p = new CheckBoxPreference(pg.getContext());
//>5.1// SwitchPreference p = new SwitchPreference(pg.getContext());
p.setKey(PREFERENCE_KEY);
p.setTitle(PREFERENCE_TITLE);
p.setSummary(PREFERENCE_SUMMARY);
p.setPersistent(false);
pg.addPreference(p);
return p;
} else {
Log.e("FakeSignatureGlobalUI", "cannot find '" + PREFERENCE_CATEGORY_KEY +"' preference category");
return null;
}
}
private void preparePreferenceStealthMode(){
final CheckBoxPreference stealth_mode = (CheckBoxPreference) findPreference(Config.STEALTH_MODE);
stealth_mode.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object o) {
SharedPreferences.Editor editor =
PreferenceManager.getDefaultSharedPreferences(getActivity()).edit();
if (!(Boolean) o) {
StealthMode.showApp(context);
editor.putBoolean(Config.STEALTH_MODE, (Boolean) o);
editor.putString(Config.STEALTH_MODE_PASSWORD, "");
editor.apply();
} else {
editor.putBoolean(Config.STEALTH_MODE, (Boolean) o);
editor.apply();
}
return true;
}
});
}
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
if (key.equals(getString(R.string.pref_key_disable_search_history))) {
CheckBoxPreference disableSearchHistoryPreference = (CheckBoxPreference)findPreference(key);
// If Search History is disabled, clear the Search History database.
if(disableSearchHistoryPreference.isChecked()) {
SearchHistoryDb.getSearchHistoryDb().deleteAllSearchHistory();
Toast.makeText(getActivity(), getString(R.string.pref_disable_search_history_deleted), Toast.LENGTH_LONG).show();
}
} else if (key.equals(getString(R.string.pref_key_disable_playback_status))) {
CheckBoxPreference disablePlaybackStatusPreference = (CheckBoxPreference)findPreference(key);
if(disablePlaybackStatusPreference.isChecked()) {
PlaybackStatusDb.getPlaybackStatusDb().deleteAllPlaybackHistory();
Toast.makeText(getActivity(), getString(R.string.pref_disable_playback_status_deleted), Toast.LENGTH_LONG).show();
}
}
}
@Override
public void addPreferencesOnScreen(PreferenceGroup preferenceGroup) {
Context context = preferenceGroup.getContext();
addPasswordPreference(preferenceGroup);
CheckBoxPreference onionPref = new LazyPreferences.CheckBoxPreference(context);
onionPref.setTitle(R.string.pref_use_onion);
onionPref.setSummary(R.string.pref_use_onion_summary);
onionPref.setKey(getSharedKey(PREF_KEY_USE_ONION));
onionPref.setDefaultValue(false);
onionPref.setDisableDependentsState(true);
preferenceGroup.addPreference(onionPref);
EditTextPreference domainPref = new EditTextPreference(context);
domainPref.setTitle(R.string.pref_domain);
domainPref.setDialogTitle(R.string.pref_domain);
domainPref.setSummary(resources.getString(R.string.pref_domain_summary, DOMAINS_HINT));
domainPref.setKey(getSharedKey(PREF_KEY_DOMAIN));
domainPref.getEditText().setHint(DEFAULT_DOMAIN);
domainPref.getEditText().setSingleLine();
domainPref.getEditText().setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_URI);
preferenceGroup.addPreference(domainPref);
domainPref.setDependency(getSharedKey(PREF_KEY_USE_ONION));
addProxyPreferences(preferenceGroup);
}
private void update_nfc_expiry_preferences(Boolean show_age) {
try {
;
final PreferenceScreen nfcScreen = (PreferenceScreen) findPreference("xdrip_plus_nfc_settings");
final String nfc_expiry_days_string = AllPrefsFragment.this.prefs.getString("nfc_expiry_days", "14.5");
final CheckBoxPreference nfc_show_age = (CheckBoxPreference) findPreference("nfc_show_age");
nfc_show_age.setSummaryOff("Show the sensor expiry time based on " + nfc_expiry_days_string + " days");
if (show_age == null) show_age = nfc_show_age.isChecked();
if (show_age) {
nfcScreen.removePreference(nfc_expiry_days);
} else {
nfc_expiry_days.setOrder(3);
nfcScreen.addPreference(nfc_expiry_days);
}
} catch (NullPointerException e) {
//
}
}
@Override
public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
String key = preference.getKey();
if (getString(R.string.pre_clear_cache).equals(key)) {
clearCache();
} else if (getString(R.string.pre_reputation).equals(key)) {
soureApp();
} else if (getString(R.string.pre_share).equals(key)) {
shareFriend();
} else if (getString(R.string.pre_feedback).equals(key)) {
feedback();
} else if (getString(R.string.pre_version).equals(key)) {
version();
} else if (getString(R.string.pre_hid_benefits).equals(key)) {
seleteSex((CheckBoxPreference) preference);
} else if (getString(R.string.pre_app_wall).equals(key)) {
appWall();
}
return super.onPreferenceTreeClick(preferenceScreen, preference);
}
@Override
public void onResume() {
Log.d(getClass().getSimpleName(), "onResume");
super.onResume();
getPreferenceScreen().getSharedPreferences()
.registerOnSharedPreferenceChangeListener(listener);
CheckBoxPreference preference_enabled = (CheckBoxPreference) this.findPreference(getString(R.string.key_pref_enabled));
preference_enabled.setChecked(OverlayService.isRunning());
}
@DexAppend
@Override
public void onCreate(Bundle icicle) {
/*<5.1*/ CheckBoxPreference p = FakeSignatureGlobalUI.addPreference(this);
//>5.1// SwitchPreference p = FakeSignatureGlobalUI.addPreference(this);
if (p != null) {
mFakeSignatureGlobalPreference = p;
/*>4.1*/ mAllPrefs.add(p);
//>4.2// /*<7.0*/ if (!android.os.Process.myUserHandle().equals(android.os.UserHandle.OWNER)) disableForUser(p); else
//>7.0// if (!((android.os.UserManager) getActivity().getSystemService(android.content.Context.USER_SERVICE)).isAdminUser()) disableForUser(p); else
/*>4.1*/ /*<5.1*/ if (RESET_IF_DEVELOPER_OPTIONS_DISABLED) mResetCbPrefs.add(p);
//>5.1// if (RESET_IF_DEVELOPER_OPTIONS_DISABLED) mResetSwitchPrefs.add(p);
}
}
@SuppressWarnings("deprecation")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.prefs_list_content);
addPreferencesFromResource(R.xml.float_display_preference);
prefs = new Prefs(this);
colorList = (MyListPreference) findPreference("color");
colorList.setOnPreferenceChangeListener(this);
alphaSb = (MySeekBarPreference) findPreference("alpha");// 找到preference
alphaSb.setDefaultProgressValue(prefs.getAlpha());// 设置起始时的进度
alphaSb.setMax(255);// 设置最大的数值,不超过10000。如果超过了请在seekbarPreference源码中进行修改max值
alphaSb.setOnSeekBarPrefsChangeListener(this);// 设置监听器
rightCBox = (CheckBoxPreference) findPreference("rightMode");
rightCBox.setOnPreferenceChangeListener(this);
widthSb = (MySeekBarPreference) findPreference("width");
widthSb.setMax(80);
widthSb.setDefaultProgressValue(prefs.getWidth());
widthSb.setOnSeekBarPrefsChangeListener(this);
heightSb = (MySeekBarPreference) findPreference("height");
heightSb.setMax(1000);
heightSb.setDefaultProgressValue(prefs.getHeight());
heightSb.setOnSeekBarPrefsChangeListener(this);
distanceSb = (MySeekBarPreference) findPreference("distance");
distanceSb.setMax(1000);
distanceSb.setDefaultProgressValue(prefs.getDistance());
distanceSb.setOnSeekBarPrefsChangeListener(this);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.device_admin_encryption);
mEncryptionCategory = (PreferenceCategory) findPreference(KEY_CATEGORY_ENCRYPTION);
mRequireEncryption = (CheckBoxPreference) findPreference(KEY_REQUIRE_ENCRYPTION);
mActivateEncryption = (PreferenceScreen) findPreference(KEY_ACTIVATE_ENCRYPTION);
mRequireEncryption.setOnPreferenceChangeListener(this);
mActivateEncryption.setOnPreferenceClickListener(this);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_NDT_CHECK) {
((CheckBoxPreference) findPreference("ndt")).setChecked(ConfigHelper.isNDT(this));
}
else if (requestCode == REQUEST_LOOP_MODE_CHECK) {
((CheckBoxPreference) findPreference("loop_mode")).setChecked(ConfigHelper.isLoopMode(this));
}
}
public static CheckBoxPreference Check(Context context, PreferenceCategory category, String caption, String summary, String key, Object defaultValue, boolean enabled) {
CheckBoxPreference retval = new CheckBoxPreference(context);
retval.setTitle(caption);
retval.setSummary(summary);
retval.setEnabled(enabled);
retval.setKey(key);
retval.setDefaultValue(defaultValue);
if (category != null) category.addPreference(retval);
return retval;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
checkBoxPreference = (CheckBoxPreference) findPreference("run");
checkBoxPreference.setOnPreferenceChangeListener(this);
serviceReceiver = new ServiceReceiver();
sp = new SP(this);
}
/** Добавить категорию настроек домена (в т.ч. https) */
private void addDomainPreferences(PreferenceGroup group) {
Context context = group.getContext();
Preference.OnPreferenceChangeListener updateDomainListener = new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
if (preference.getKey().equals(getSharedKey(PREF_KEY_DOMAIN))) {
updateDomain((String) newValue, preferences.getBoolean(getSharedKey(PREF_KEY_USE_HTTPS_MAKABA), true));
return true;
} else if (preference.getKey().equals(getSharedKey(PREF_KEY_USE_HTTPS_MAKABA))) {
updateDomain(preferences.getString(getSharedKey(PREF_KEY_DOMAIN), DEFAULT_DOMAIN), (boolean)newValue);
return true;
}
return false;
}
};
PreferenceCategory domainCat = new PreferenceCategory(context);
domainCat.setTitle(R.string.makaba_prefs_domain_category);
group.addPreference(domainCat);
EditTextPreference domainPref = new EditTextPreference(context); //поле ввода домена
domainPref.setTitle(R.string.pref_domain);
domainPref.setDialogTitle(R.string.pref_domain);
domainPref.setSummary(resources.getString(R.string.pref_domain_summary, DOMAINS_HINT));
domainPref.setKey(getSharedKey(PREF_KEY_DOMAIN));
domainPref.getEditText().setHint(DEFAULT_DOMAIN);
domainPref.getEditText().setSingleLine();
domainPref.getEditText().setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_URI);
domainPref.setOnPreferenceChangeListener(updateDomainListener);
domainCat.addPreference(domainPref);
CheckBoxPreference httpsPref = new LazyPreferences.CheckBoxPreference(context); //чекбокс "использовать https"
httpsPref.setTitle(R.string.pref_use_https);
httpsPref.setSummary(R.string.pref_use_https_summary);
httpsPref.setKey(getSharedKey(PREF_KEY_USE_HTTPS_MAKABA));
httpsPref.setDefaultValue(true);
httpsPref.setOnPreferenceChangeListener(updateDomainListener);
domainCat.addPreference(httpsPref);
}
/**
* {@inheritDoc}
*/
@Override
public void setValue(@NonNull Preference preference,
@NonNull ConfigBase.Option option,
@NonNull Object value) {
CheckBoxPreference cbp = (CheckBoxPreference) preference;
cbp.setChecked((Boolean) value);
}
public static CheckBoxPreference Check(Context context, PreferenceCategory category, int caption, int summary, String key, Object defaultValue, boolean enabled) {
CheckBoxPreference retval = new CheckBoxPreference(context);
if (caption > 0) retval.setTitle(caption);
if (summary > 0) retval.setSummary(summary);
retval.setEnabled(enabled);
retval.setKey(key);
retval.setDefaultValue(defaultValue);
if (category != null) category.addPreference(retval);
return retval;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Set dummy name for preferences so that they don't mix with global ones.
// FIXME we should not be writing these out to a file, since they are written to
// the DB in onSharedPreferenceChanged().
getPreferenceManager().setSharedPreferencesName("account");
addPreferencesFromResource(R.xml.account_settings);
Intent intent = getIntent();
mProviderId = intent.getLongExtra(ImServiceConstants.EXTRA_INTENT_PROVIDER_ID, -1);
mAccountId = intent.getLongExtra(ImServiceConstants.EXTRA_INTENT_ACCOUNT_ID, -1);
if (mProviderId < 0) {
Log.e(ImApp.LOG_TAG, "AccountSettingsActivity intent requires provider id extra");
throw new RuntimeException(
"AccountSettingsActivity must be created with an provider id");
}
mXmppResource = (EditTextPreference) findPreference(("pref_account_xmpp_resource"));
mXmppResourcePrio = (EditTextPreference) findPreference(("pref_account_xmpp_resource_prio"));
mPort = (EditTextPreference) findPreference(("pref_account_port"));
mServer = (EditTextPreference) findPreference(("pref_account_server"));
mAllowPlainAuth = (CheckBoxPreference) findPreference(("pref_security_allow_plain_auth"));
mRequireTls = (CheckBoxPreference) findPreference(("pref_security_require_tls"));
mDoDnsSrv = (CheckBoxPreference) findPreference(("pref_security_do_dns_srv"));
mUseProxy = (CheckBoxPreference) findPreference(("pref_security_use_proxy"));
mProxyServer = (EditTextPreference) findPreference(("pref_security_proxy_host"));
mProxyPort = (EditTextPreference) findPreference(("pref_security_proxy_port"));
}
@Override
protected void onCreate(Bundle savedInstanceState)
{
// TODO: Implement this method
super.onCreate(savedInstanceState);
//this.getListView().setBackgroundResource(R.color.deepskyblue);
addPreferencesFromResource(R.xml.settings);
cb_use_first_size = (CheckBoxPreference)findPreference("cb_use_first_size");
edit_pic_width = (EditTextPreference)findPreference("edit_pic_width");
edit_pic_height = (EditTextPreference)findPreference("edit_pic_height");
isSelected=cb_use_first_size.isChecked();
setTwoEditEnabled();
cb_use_first_size.setOnPreferenceChangeListener(new OnPreferenceChangeListener()
{
public boolean onPreferenceChange(Preference p1, Object p2)
{
if (p1.getKey().equals("cb_use_first_size"))
{
isSelected=!cb_use_first_size.isChecked();
setTwoEditEnabled();
}
return true;
}
});
}
/**
* wait for activate device admin
* @param requestCode
* @param resultCode
* @param data
*/
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE_DEVICE_ADMIN) {
// if not activate the permission, set the check false
if (Activity.RESULT_OK == resultCode) {
CheckBoxPreference cbp = (CheckBoxPreference) findPreference(Constant.KEY_CB_DEVICE_ADMIN);
cbp.setChecked(true);
}
waitForResult = false;
}
}
@Test
public void withTitleTest() {
CheckBoxPreference pref = new CheckBoxPreference(getApplicationContext());
assertThat(pref, not(withTitle(R.string.other_string)));
assertThat(pref, not(withTitleText("not null")));
pref.setTitle(R.string.other_string);
assertThat(pref, withTitle(R.string.other_string));
assertThat(pref, not(withTitle(R.string.something)));
assertThat(pref, withTitleText("Goodbye!!"));
assertThat(pref, not(withTitleText("Hello Mars")));
assertThat(pref, withTitleText(is("Goodbye!!")));
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.settings);
sp = PreferenceManager.getDefaultSharedPreferences(getActivity());
locationInfo = ConfigPreferences.getLocationConfig(getActivity());
//disable and enable praying notification related setting
if (ConfigPreferences.getPrayingNotification(getActivity()) == false) {
getPreferenceScreen().findPreference("silent").setEnabled(false);
getPreferenceScreen().findPreference("vibration").setEnabled(false);
getPreferenceScreen().findPreference("led").setEnabled(false);
}
//disable or enable silent related settings
if(ConfigPreferences.getSilentMood(getActivity()) == false){
getPreferenceScreen().findPreference("vibration").setEnabled(false);
}
if (locationInfo != null) {
Log.i("DATA_SETTING" ,"locationInfo.dls : "+(locationInfo.dls > 0));
CheckBoxPreference checked = (CheckBoxPreference) getPreferenceScreen().findPreference("day_light");
checked.setChecked(locationInfo.dls > 0);
ListPreference wayPref = (ListPreference) getPreferenceScreen().findPreference("calculations");
Log.i("DATA_SETTING" ,"locationInfo.way : "+locationInfo.way);
wayPref.setValueIndex(locationInfo.way);
ListPreference mazhapPref = (ListPreference) getPreferenceScreen().findPreference("mazhab");
mazhapPref.setValueIndex(locationInfo.mazhab);
Log.i("DATA_SETTING" ,"locationInfo.mazhab : "+locationInfo.mazhab);
}
listPreference = (ListPreference) findPreference("language");
String lang = ConfigPreferences.getApplicationLanguage(getActivity()).equalsIgnoreCase("en") ? "English" : "العربية";
listPreference.setSummary(getString(R.string.language_summary)
+ " (" + lang + ") ");
}