@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; }