use of android.preference.CheckBoxPreference in project qksms by moezbhatti.
the class SettingsFragment method onPreferenceChange.
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
String key = preference.getKey();
String valueString = newValue == null ? "null" : newValue.toString();
if (key.equals(NOTIFICATION_LED_COLOR)) {
// Format the color as a nice string if it's the LED color.
valueString = ThemeManager.getColorString(Integer.parseInt(valueString));
}
Log.d(TAG, "onPreferenceChange key:" + key + " newValue: " + valueString);
AnalyticsManager.getInstance().sendEvent(AnalyticsManager.CATEGORY_PREFERENCE_CHANGE, key, valueString);
switch(key) {
case BACKGROUND:
ThemeManager.setTheme(ThemeManager.Theme.fromString((String) newValue));
break;
case STATUS_TINT:
ThemeManager.setStatusBarTintEnabled(mContext, (Boolean) newValue);
break;
case NAVIGATION_TINT:
ThemeManager.setNavigationBarTintEnabled(mContext, (Boolean) newValue);
break;
case FONT_FAMILY:
preference.setSummary(mFontFamilies[Integer.parseInt("" + newValue)]);
break;
case FONT_SIZE:
preference.setSummary(mFontSizes[Integer.parseInt("" + newValue)]);
break;
case FONT_WEIGHT:
int i = Integer.parseInt("" + newValue);
preference.setSummary(mFontWeights[i == 2 ? 0 : 1]);
break;
case COLOR_SENT:
ThemeManager.setSentBubbleColored((Boolean) newValue);
break;
case COLOR_RECEIVED:
ThemeManager.setReceivedBubbleColored((Boolean) newValue);
break;
case NIGHT_AUTO:
updateAlarmManager(mContext, (Boolean) newValue);
break;
case DAY_START:
case NIGHT_START:
updateAlarmManager(mContext, true);
break;
case DELETE_OLD_MESSAGES:
if ((Boolean) newValue) {
new QKDialog().setContext(mContext).setTitle(R.string.pref_delete_old_messages).setMessage(R.string.dialog_delete_old_messages).setPositiveButton(R.string.yes, v -> {
QKPreferences.setBoolean(QKPreference.AUTO_DELETE, true);
((CheckBoxPreference) preference).setChecked(true);
DeleteOldMessagesService.setupAutoDeleteAlarm(mContext);
mContext.makeToast(R.string.toast_deleting_old_messages);
}).setNegativeButton(R.string.cancel, null).show();
return false;
}
break;
case DELETE_UNREAD_MESSAGES:
preference.setSummary(mContext.getString(R.string.pref_delete_old_messages_unread_summary, newValue));
break;
case DELETE_READ_MESSAGES:
preference.setSummary(mContext.getString(R.string.pref_delete_old_messages_read_summary, newValue));
break;
case YAPPY:
if ((Boolean) newValue) {
try {
EndlessJabberInterface.EnableIntegration(mContext, EndlessJabber.class, true, false);
} catch (Exception e) {
e.printStackTrace();
}
if (!EndlessJabberInterface.IsInstalled(mContext)) {
EndlessJabberInterface.OpenGooglePlayLink(mContext);
}
} else {
try {
EndlessJabberInterface.DisableIntegration(mContext, EndlessJabber.class);
} catch (Exception e) {
e.printStackTrace();
}
}
break;
case QUICKCOMPOSE:
NotificationManager.initQuickCompose(getActivity(), (Boolean) newValue, !(Boolean) newValue);
break;
case MMSC_URL:
case MMS_PROXY:
case MMS_PORT:
preference.setSummary(newValue.toString());
break;
case MAX_MMS_ATTACHMENT_SIZE:
// Update the summary in the list preference
ListPreference listpref = (ListPreference) preference;
int index = listpref.findIndexOfValue((String) newValue);
preference.setSummary(mMaxMmsAttachmentSizes[index]);
// Update the SMS helper static class with the new option
SmsHelper.setMaxAttachmentSizeSetting(mContext, (String) newValue);
break;
case DELAY_DURATION:
try {
int duration = Integer.parseInt((String) newValue);
if (duration < 1 || duration > 30)
throw new Exception("Duration out of bounds");
} catch (Exception e) {
Toast.makeText(mContext, R.string.delayed_duration_bounds_error, Toast.LENGTH_SHORT).show();
}
break;
}
return true;
}
use of android.preference.CheckBoxPreference in project qksms by moezbhatti.
the class SettingsFragment method onPreferenceClick.
@Override
public boolean onPreferenceClick(Preference preference) {
String key = preference.getKey() != null ? preference.getKey() : "";
AnalyticsManager.getInstance().sendEvent(AnalyticsManager.CATEGORY_PREFERENCE_CLICK, key, null);
// Categories
int resId = 0;
switch(key) {
case CATEGORY_APPEARANCE:
resId = R.xml.settings_appearance;
break;
case CATEGORY_GENERAL:
resId = R.xml.settings_general;
break;
case CATEGORY_NOTIFICATIONS:
resId = R.xml.settings_notifications;
break;
case CATEGORY_MMS:
resId = R.xml.settings_mms;
break;
case CATEGORY_QUICKREPLY:
resId = R.xml.settings_quickreply;
break;
case CATEGORY_QUICKCOMPOSE:
resId = R.xml.settings_quickcompose;
break;
case CATEGORY_ABOUT:
resId = R.xml.settings_about;
break;
}
if (resId != 0) {
Fragment fragment = SettingsFragment.newInstance(resId);
getFragmentManager().beginTransaction().addToBackStack(null).replace(R.id.content_frame, fragment, CATEGORY_TAG).commit();
}
switch(key) {
case THEME:
ThemeManager.showColorPickerDialog(mContext);
break;
case ICON:
ThemeManager.setIcon(mContext);
break;
case BUBBLES:
new BubblePreferenceDialog().setContext(mContext).show();
break;
case BLOCKED_FUTURE:
BlockedNumberDialog.showDialog(mContext);
break;
case SHOULD_I_ANSWER:
final String packageName = "org.mistergroup.muzutozvednout";
if (!PackageUtils.isAppInstalled(mContext, packageName)) {
String referrer = "referrer=utm_source%3Dqksms%26utm_medium%3Dapp%26utm_campaign%3Dqksmssettings";
new QKDialog().setContext(mContext).setTitle(R.string.dialog_should_i_answer_title).setMessage(R.string.dialog_should_i_answer_message).setNegativeButton(R.string.cancel, null).setPositiveButton(R.string.okay, v -> {
try {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + packageName + "&" + referrer)));
} catch (android.content.ActivityNotFoundException anfe) {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + packageName + "&" + referrer)));
}
}).show();
new Handler().postDelayed(() -> {
mPrefs.edit().putBoolean(SHOULD_I_ANSWER, false).commit();
((CheckBoxPreference) preference).setChecked(false);
}, 500);
}
break;
case NOTIFICATION_LED_COLOR:
mLedColorPickerDialog.show(getActivity().getFragmentManager(), "colorpicker");
break;
case DAY_START:
case NIGHT_START:
TimePickerFragment fragment = new TimePickerFragment();
fragment.setPreference(preference);
fragment.setOnPreferenceChangeListener(this);
fragment.show(getFragmentManager(), "timepicker");
break;
case QK_RESPONSES:
showQkResponseEditor();
break;
case AUTOMATICALLY_CONFIGURE_MMS:
// Show the MMS setup dialogs. See the MMSSetupDialog class for info about what the
// arguments mean.
MMSSetupFragment f = new MMSSetupFragment();
Bundle args = new Bundle();
args.putBoolean(MMSSetupFragment.ARG_ASK_FIRST, false);
args.putString(MMSSetupFragment.ARG_DONT_ASK_AGAIN_PREF, null);
f.setArguments(args);
getFragmentManager().beginTransaction().add(f, MMSSetupFragment.TAG).commit();
break;
case MMS_CONTACT_SUPPORT:
// Opens an email compose intent with MMS debugging information
MMSSetupFragment.contactSupport(getActivity());
break;
case CHANGELOG:
DialogHelper.showChangelog(mContext);
break;
case THANKS:
new QKDialog().setContext(mContext).setTitle(R.string.pref_about_thanks_title).setTripleLineItems(R.array.contributor_names, R.array.contributor_githubs, R.array.contributor_projects, new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String baseUrl = ((QKTextView) view.findViewById(R.id.list_item_subtitle)).getText().toString();
startBrowserIntent("https://" + baseUrl);
}
}).show();
break;
case DONATE:
DonationManager.getInstance(mContext).showDonateDialog();
break;
case GOOGLE_PLUS:
startBrowserIntent(GOOGLE_PLUS_URL);
break;
case GITHUB:
startBrowserIntent(GITHUB_URL);
break;
case CROWDIN:
startBrowserIntent(CROWDIN_URL);
break;
}
return false;
}
use of android.preference.CheckBoxPreference in project Klyph by jonathangerbaud.
the class PreferencesActivity method handleSetNotifications.
private void handleSetNotifications() {
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = sharedPreferences.edit();
@SuppressWarnings("deprecation") CheckBoxPreference cpref = (CheckBoxPreference) findPreference("preference_notifications");
pendingAnnounce = false;
final Session session = Session.getActiveSession();
List<String> permissions = session.getPermissions();
if (!permissions.containsAll(PERMISSIONS)) {
pendingAnnounce = true;
editor.putBoolean(KlyphPreferences.PREFERENCE_NOTIFICATIONS, false);
editor.commit();
cpref.setChecked(false);
AlertUtil.showAlert(this, R.string.preferences_notifications_permissions_title, R.string.preferences_notifications_permissions_message, R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
requestPublishPermissions(session);
}
}, R.string.cancel, null);
return;
}
editor.putBoolean(KlyphPreferences.PREFERENCE_NOTIFICATIONS, true);
editor.commit();
cpref.setChecked(true);
startOrStopNotificationsServices();
if (sharedPreferences.getBoolean(KlyphPreferences.PREFERENCE_NOTIFICATIONS_BIRTHDAY, false) == true)
KlyphService.startBirthdayService();
}
use of android.preference.CheckBoxPreference in project k-9 by k9mail.
the class FolderSettings method onCreate.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String folderName = (String) getIntent().getSerializableExtra(EXTRA_FOLDER_NAME);
String accountUuid = getIntent().getStringExtra(EXTRA_ACCOUNT);
Account mAccount = Preferences.getPreferences(this).getAccount(accountUuid);
try {
LocalStore localStore = mAccount.getLocalStore();
mFolder = localStore.getFolder(folderName);
mFolder.open(Folder.OPEN_MODE_RW);
} catch (MessagingException me) {
Timber.e(me, "Unable to edit folder %s preferences", folderName);
return;
}
boolean isPushCapable = false;
try {
Store store = mAccount.getRemoteStore();
isPushCapable = store.isPushCapable();
} catch (Exception e) {
Timber.e(e, "Could not get remote store");
}
addPreferencesFromResource(R.xml.folder_settings_preferences);
String displayName = FolderInfoHolder.getDisplayName(this, mAccount, mFolder.getName());
Preference category = findPreference(PREFERENCE_TOP_CATERGORY);
category.setTitle(displayName);
mInTopGroup = (CheckBoxPreference) findPreference(PREFERENCE_IN_TOP_GROUP);
mInTopGroup.setChecked(mFolder.isInTopGroup());
mIntegrate = (CheckBoxPreference) findPreference(PREFERENCE_INTEGRATE);
mIntegrate.setChecked(mFolder.isIntegrate());
mDisplayClass = (ListPreference) findPreference(PREFERENCE_DISPLAY_CLASS);
mDisplayClass.setValue(mFolder.getDisplayClass().name());
mDisplayClass.setSummary(mDisplayClass.getEntry());
mDisplayClass.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
public boolean onPreferenceChange(Preference preference, Object newValue) {
final String summary = newValue.toString();
int index = mDisplayClass.findIndexOfValue(summary);
mDisplayClass.setSummary(mDisplayClass.getEntries()[index]);
mDisplayClass.setValue(summary);
return false;
}
});
mSyncClass = (ListPreference) findPreference(PREFERENCE_SYNC_CLASS);
mSyncClass.setValue(mFolder.getRawSyncClass().name());
mSyncClass.setSummary(mSyncClass.getEntry());
mSyncClass.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
public boolean onPreferenceChange(Preference preference, Object newValue) {
final String summary = newValue.toString();
int index = mSyncClass.findIndexOfValue(summary);
mSyncClass.setSummary(mSyncClass.getEntries()[index]);
mSyncClass.setValue(summary);
return false;
}
});
mPushClass = (ListPreference) findPreference(PREFERENCE_PUSH_CLASS);
mPushClass.setEnabled(isPushCapable);
mPushClass.setValue(mFolder.getRawPushClass().name());
mPushClass.setSummary(mPushClass.getEntry());
mPushClass.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
public boolean onPreferenceChange(Preference preference, Object newValue) {
final String summary = newValue.toString();
int index = mPushClass.findIndexOfValue(summary);
mPushClass.setSummary(mPushClass.getEntries()[index]);
mPushClass.setValue(summary);
return false;
}
});
mNotifyClass = (ListPreference) findPreference(PREFERENCE_NOTIFY_CLASS);
mNotifyClass.setValue(mFolder.getRawNotifyClass().name());
mNotifyClass.setSummary(mNotifyClass.getEntry());
mNotifyClass.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
public boolean onPreferenceChange(Preference preference, Object newValue) {
final String summary = newValue.toString();
int index = mNotifyClass.findIndexOfValue(summary);
mNotifyClass.setSummary(mNotifyClass.getEntries()[index]);
mNotifyClass.setValue(summary);
return false;
}
});
}
use of android.preference.CheckBoxPreference in project Anki-Android by Ramblurr.
the class CramDeckOptions method updateSummaries.
protected void updateSummaries() {
mAllowCommit = false;
// for all text preferences, set summary as current database value
for (String key : mPref.mValues.keySet()) {
Preference pref = this.findPreference(key);
String value = null;
if (pref == null) {
continue;
} else if (pref instanceof CheckBoxPreference) {
continue;
} else if (pref instanceof ListPreference) {
ListPreference lp = (ListPreference) pref;
value = lp.getEntry().toString();
} else {
value = this.mPref.getString(key, "");
}
// update value for EditTexts
if (pref instanceof EditTextPreference) {
((EditTextPreference) pref).setText(value);
}
// update summary
if (!mPref.mSummaries.containsKey(key)) {
CharSequence s = pref.getSummary();
mPref.mSummaries.put(key, s != null ? pref.getSummary().toString() : null);
}
String summ = mPref.mSummaries.get(key);
if (summ != null && summ.contains("XXX")) {
pref.setSummary(summ.replace("XXX", value));
} else {
pref.setSummary(value);
}
}
mAllowCommit = true;
}
Aggregations