Exemple #1
0
 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;
 }
Exemple #3
0
  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;
  }
Exemple #6
0
  @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);
  }
Exemple #9
0
  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);
    }
  }