示例#1
0
  @Override
  public boolean onPreferenceChange(Preference preference, Object newValue) {
    if (getActivity() == null) {
      // Monkeys cause bad things. This callback may be delayed if for some reason the
      // preference screen was closed really quickly - just bail then.
      return false;
    }

    final String key = preference.getKey();

    if (PreferenceKeys.REMOVAL_ACTION.equals(key)) {
      final String removalAction = newValue.toString();
      mMailPrefs.setRemovalAction(removalAction);
      updateListSwipeTitle(removalAction);
    } else if (AUTO_ADVANCE_WIDGET.equals(key)) {
      final int prefsAutoAdvanceMode =
          AUTO_ADVANCE_VALUES[mAutoAdvance.findIndexOfValue((String) newValue)];
      mMailPrefs.setAutoAdvanceMode(prefsAutoAdvanceMode);
    } else if (!PreferenceKeys.CONVERSATION_LIST_SWIPE.equals(key)
        && !PreferenceKeys.SHOW_SENDER_IMAGES.equals(key)
        && !PreferenceKeys.DEFAULT_REPLY_ALL.equals(key)
        && !PreferenceKeys.CONVERSATION_OVERVIEW_MODE.equals(key)
        && !PreferenceKeys.CONFIRM_DELETE.equals(key)
        && !PreferenceKeys.CONFIRM_ARCHIVE.equals(key)
        && !PreferenceKeys.CONFIRM_SEND.equals(key)) {
      return false;
    }

    return true;
  }