protected void updateSummaries() { // 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() != null ? lp.getEntry().toString() : ""; } else { value = this.mPref.getString(key, ""); } // 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); } } }
@Override public boolean onPreferenceClick(final Preference preference) { final ClipboardManager cm = (ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE); switch (preference.getKey()) { case "license": new LicensesDialog.Builder(getActivity()) .setNotices(R.raw.notices) .setIncludeOwnLicense(true) .build() .showAppCompat(); break; default: new AlertDialog.Builder(getActivity()) .setMessage("复制到剪贴板?") .setPositiveButton( "确定", (dialogInterface, i) -> { ClipData myClip; CharSequence text = preference.getSummary(); myClip = ClipData.newPlainText("text", text); cm.setPrimaryClip(myClip); }) .setNegativeButton( "取消", (dialogInterface, i) -> { dialogInterface.cancel(); }) .show(); break; } return true; }
protected void updateSummaries() { Resources res = getResources(); // for all text preferences, set summary as current database value for (String key : mPref.mValues.keySet()) { Preference pref = this.findPreference(key); if (key.equals("deckConf")) { String groupName = getOptionsGroupName(); int count = getOptionsGroupCount(); // Escape "%" in groupName as it's treated as a token groupName = groupName.replaceAll("%", "%%"); pref.setSummary( res.getQuantityString(R.plurals.deck_conf_group_summ, count, groupName, count)); continue; } 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() != null ? lp.getEntry().toString() : ""; } else { value = this.mPref.getString(key, ""); } // 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); } } // Update summaries of preference items that don't have values (aren't in mValues) int subDeckCount = getSubdeckCount(); this.findPreference("confSetSubdecks") .setSummary( res.getQuantityString( R.plurals.deck_conf_set_subdecks_summ, subDeckCount, subDeckCount)); }
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { Preference p = findPreference(key); if (p instanceof EditTextPreference) { p.setSummary(sharedPreferences.getString(key, (String) p.getSummary())); } else if (p instanceof ListPreference) { p.setSummary((String) ((ListPreference) p).getEntry()); } }
@Override public boolean onPreferenceChange(Preference preference, Object value) { if (defaultSummary == null) { CharSequence firstSummary = preference.getSummary(); if (firstSummary != null) { defaultSummary = firstSummary.toString(); } } onSummaryChange(preference, value, defaultSummary); return true; }
@SuppressWarnings("deprecation") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.setting); Preference pf = findPreference("about"); EditTextPreference editPf = (EditTextPreference) findPreference("print"); try { pf.setSummary( pf.getSummary() + getPackageManager().getPackageInfo(getPackageName(), 0).versionName); } catch (Exception e) { e.printStackTrace(); } }
@SuppressWarnings("deprecation") private void checkItemVisibility() { boolean hasFlattrToken = FlattrUtils.hasToken(); ui.findPreference(PreferenceController.PREF_FLATTR_SETTINGS) .setEnabled(FlattrUtils.hasAPICredentials()); ui.findPreference(PreferenceController.PREF_FLATTR_AUTH).setEnabled(!hasFlattrToken); ui.findPreference(PreferenceController.PREF_FLATTR_REVOKE).setEnabled(hasFlattrToken); ui.findPreference(PreferenceController.PREF_AUTO_FLATTR_PREFS).setEnabled(hasFlattrToken); boolean autoDownload = UserPreferences.isEnableAutodownload(); ui.findPreference(UserPreferences.PREF_EPISODE_CACHE_SIZE).setEnabled(autoDownload); ui.findPreference(UserPreferences.PREF_ENABLE_AUTODL_ON_BATTERY).setEnabled(autoDownload); ui.findPreference(UserPreferences.PREF_ENABLE_AUTODL_WIFI_FILTER).setEnabled(autoDownload); setSelectedNetworksEnabled(autoDownload && UserPreferences.isEnableAutodownloadWifiFilter()); ui.findPreference(PREF_SEND_CRASH_REPORT).setEnabled(CrashReportWriter.getFile().exists()); if (Build.VERSION.SDK_INT >= 16) { ui.findPreference(UserPreferences.PREF_SONIC).setEnabled(true); } else { Preference prefSonic = ui.findPreference(UserPreferences.PREF_SONIC); prefSonic.setSummary("[Android 4.1+]\n" + prefSonic.getSummary()); } }
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.preferences); clearCache = findPreference(CLEAR_CACHE); about = findPreference(ABOUT_APP); version = findPreference(APP_VERSION); clearCache.setSummary(clearCache.getSummary() + "1.2 M"); version.setOnPreferenceChangeListener( new Preference.OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { if ((Boolean) newValue) { Snackbar.make(getView(), "已开启", Snackbar.LENGTH_SHORT).show(); } return true; } }); clearCache.setOnPreferenceClickListener(this); about.setOnPreferenceClickListener(this); }
private void saveSettings() { SharedPreferences preferences = Preferences.getPreferences(this).getPreferences(); K9.setK9Language(mLanguage.getValue()); K9.setK9Theme(themeNameToId(mTheme.getValue())); K9.setUseFixedMessageViewTheme(mFixedMessageTheme.isChecked()); K9.setK9MessageViewThemeSetting(themeNameToId(mMessageTheme.getValue())); K9.setK9ComposerThemeSetting(themeNameToId(mComposerTheme.getValue())); K9.setAnimations(mAnimations.isChecked()); K9.setGesturesEnabled(mGestures.isChecked()); K9.setUseVolumeKeysForNavigation(mVolumeNavigation.getCheckedItems()[0]); K9.setUseVolumeKeysForListNavigation(mVolumeNavigation.getCheckedItems()[1]); K9.setStartIntegratedInbox( !mHideSpecialAccounts.isChecked() && mStartIntegratedInbox.isChecked()); K9.setNotificationHideSubject( NotificationHideSubject.valueOf(mNotificationHideSubject.getValue())); int index = 0; K9.setConfirmDelete(mConfirmActions.getCheckedItems()[index++]); K9.setConfirmDeleteStarred(mConfirmActions.getCheckedItems()[index++]); if (NotificationController.platformSupportsExtendedNotifications()) { K9.setConfirmDeleteFromNotification(mConfirmActions.getCheckedItems()[index++]); } K9.setConfirmSpam(mConfirmActions.getCheckedItems()[index++]); K9.setConfirmDiscardMessage(mConfirmActions.getCheckedItems()[index++]); K9.setMeasureAccounts(mMeasureAccounts.isChecked()); K9.setCountSearchMessages(mCountSearch.isChecked()); K9.setHideSpecialAccounts(mHideSpecialAccounts.isChecked()); K9.setMessageListPreviewLines(Integer.parseInt(mPreviewLines.getValue())); K9.setMessageListCheckboxes(mCheckboxes.isChecked()); K9.setMessageListStars(mStars.isChecked()); K9.setShowCorrespondentNames(mShowCorrespondentNames.isChecked()); K9.setMessageListSenderAboveSubject(mSenderAboveSubject.isChecked()); K9.setShowContactName(mShowContactName.isChecked()); K9.setShowContactPicture(mShowContactPicture.isChecked()); K9.setColorizeMissingContactPictures(mColorizeMissingContactPictures.isChecked()); K9.setUseBackgroundAsUnreadIndicator(mBackgroundAsUnreadIndicator.isChecked()); K9.setThreadedViewEnabled(mThreadedView.isChecked()); K9.setChangeContactNameColor(mChangeContactNameColor.isChecked()); K9.setMessageViewFixedWidthFont(mFixedWidth.isChecked()); K9.setMessageViewReturnToList(mReturnToList.isChecked()); K9.setMessageViewShowNext(mShowNext.isChecked()); K9.setAutofitWidth(mAutofitWidth.isChecked()); K9.setQuietTimeEnabled(mQuietTimeEnabled.isChecked()); boolean[] enabledRefileActions = mVisibleRefileActions.getCheckedItems(); K9.setMessageViewDeleteActionVisible(enabledRefileActions[VISIBLE_REFILE_ACTIONS_DELETE]); K9.setMessageViewArchiveActionVisible(enabledRefileActions[VISIBLE_REFILE_ACTIONS_ARCHIVE]); K9.setMessageViewMoveActionVisible(enabledRefileActions[VISIBLE_REFILE_ACTIONS_MOVE]); K9.setMessageViewCopyActionVisible(enabledRefileActions[VISIBLE_REFILE_ACTIONS_COPY]); K9.setMessageViewSpamActionVisible(enabledRefileActions[VISIBLE_REFILE_ACTIONS_SPAM]); K9.setCheckMailDuringDoze(checkMailDuringDoze.isChecked()); K9.setNotificationDuringQuietTimeEnabled(!mDisableNotificationDuringQuietTime.isChecked()); K9.setQuietTimeStarts(mQuietTimeStarts.getTime()); K9.setQuietTimeEnds(mQuietTimeEnds.getTime()); K9.setWrapFolderNames(mWrapFolderNames.isChecked()); if (mNotificationQuickDelete != null) { K9.setNotificationQuickDeleteBehaviour( NotificationQuickDelete.valueOf(mNotificationQuickDelete.getValue())); } if (mLockScreenNotificationVisibility != null) { K9.setLockScreenNotificationVisibility( K9.LockScreenNotificationVisibility.valueOf( mLockScreenNotificationVisibility.getValue())); } K9.setSplitViewMode(SplitViewMode.valueOf(mSplitViewMode.getValue())); K9.setAttachmentDefaultPath(mAttachmentPathPreference.getSummary().toString()); boolean needsRefresh = K9.setBackgroundOps(mBackgroundOps.getValue()); if (!K9.DEBUG && mDebugLogging.isChecked()) { Toast.makeText(this, R.string.debug_logging_enabled, Toast.LENGTH_LONG).show(); } K9.DEBUG = mDebugLogging.isChecked(); K9.DEBUG_SENSITIVE = mSensitiveLogging.isChecked(); K9.setHideUserAgent(mHideUserAgent.isChecked()); K9.setHideTimeZone(mHideTimeZone.isChecked()); Editor editor = preferences.edit(); K9.save(editor); editor.commit(); if (needsRefresh) { MailService.actionReset(this, null); } }