am c40b807c: Straighten out prefs reading code

* commit 'c40b807ca420123d90cd9479a453051f975b7629':
  Straighten out prefs reading code
main
Jean Chalard 2011-12-09 11:00:50 -08:00 committed by Android Git Automerger
commit e232bb8e00
2 changed files with 31 additions and 20 deletions

View File

@ -178,7 +178,7 @@ public class Settings extends InputMethodSettingsActivity
final PreferenceGroup miscSettings = final PreferenceGroup miscSettings =
(PreferenceGroup) findPreference(PREF_MISC_SETTINGS); (PreferenceGroup) findPreference(PREF_MISC_SETTINGS);
if (!SettingsValues.isShowSettingsKeyOption(res)) { if (!SettingsValues.isShowSettingsKeyOptionEnabled(res)) {
generalSettings.removePreference(mShowSettingsKeyPreference); generalSettings.removePreference(mShowSettingsKeyPreference);
} }

View File

@ -96,28 +96,24 @@ public class SettingsValues {
mHintToSaveText = context.getText(R.string.hint_add_to_dictionary); mHintToSaveText = context.getText(R.string.hint_add_to_dictionary);
// Get the settings preferences // Get the settings preferences
final boolean hasVibrator = VibratorCompatWrapper.getInstance(context).hasVibrator(); mAutoCap = prefs.getBoolean(Settings.PREF_AUTO_CAP, true);
mVibrateOn = hasVibrator && prefs.getBoolean(Settings.PREF_VIBRATE_ON, mVibrateOn = isVibrateOn(context, prefs, res);
res.getBoolean(R.bool.config_default_vibration_enabled));
mSoundOn = prefs.getBoolean(Settings.PREF_SOUND_ON, mSoundOn = prefs.getBoolean(Settings.PREF_SOUND_ON,
res.getBoolean(R.bool.config_default_sound_enabled)); res.getBoolean(R.bool.config_default_sound_enabled));
mKeyPreviewPopupOn = isKeyPreviewPopupEnabled(prefs, res); mKeyPreviewPopupOn = isKeyPreviewPopupEnabled(prefs, res);
mKeyPreviewPopupDismissDelay = getKeyPreviewPopupDismissDelay(prefs, res); mShowSettingsKey = isSettingsKeyShown(prefs, res);
mAutoCap = prefs.getBoolean(Settings.PREF_AUTO_CAP, true); mUseContactsDict = prefs.getBoolean(Settings.PREF_KEY_USE_CONTACTS_DICT, true);
mAutoCorrectEnabled = isAutoCorrectEnabled(prefs, res); mAutoCorrectEnabled = isAutoCorrectEnabled(prefs, res);
mBigramSuggestionEnabled = mAutoCorrectEnabled mBigramSuggestionEnabled = mAutoCorrectEnabled
&& isBigramSuggestionEnabled(prefs, res, mAutoCorrectEnabled); && isBigramSuggestionEnabled(prefs, res, mAutoCorrectEnabled);
mBigramPredictionEnabled = mBigramSuggestionEnabled mBigramPredictionEnabled = mBigramSuggestionEnabled
&& isBigramPredictionEnabled(prefs, res); && isBigramPredictionEnabled(prefs, res);
mAutoCorrectionThreshold = getAutoCorrectionThreshold(prefs, res);
mUseContactsDict = prefs.getBoolean(Settings.PREF_KEY_USE_CONTACTS_DICT, true);
mEnableSuggestionSpanInsertion = mEnableSuggestionSpanInsertion =
prefs.getBoolean(Settings.PREF_KEY_ENABLE_SPAN_INSERT, true); prefs.getBoolean(Settings.PREF_KEY_ENABLE_SPAN_INSERT, true);
final boolean defaultShowSettingsKey = res.getBoolean(
R.bool.config_default_show_settings_key); // Compute other readable settings
mShowSettingsKey = isShowSettingsKeyOption(res) mKeyPreviewPopupDismissDelay = getKeyPreviewPopupDismissDelay(prefs, res);
? prefs.getBoolean(Settings.PREF_SHOW_SETTINGS_KEY, defaultShowSettingsKey) mAutoCorrectionThreshold = getAutoCorrectionThreshold(prefs, res);
: defaultShowSettingsKey;
final String voiceModeMain = res.getString(R.string.voice_mode_main); final String voiceModeMain = res.getString(R.string.voice_mode_main);
final String voiceModeOff = res.getString(R.string.voice_mode_off); final String voiceModeOff = res.getString(R.string.voice_mode_off);
final String voiceMode = prefs.getString(Settings.PREF_VOICE_MODE, voiceModeMain); final String voiceMode = prefs.getString(Settings.PREF_VOICE_MODE, voiceModeMain);
@ -153,6 +149,26 @@ public class SettingsValues {
return wordSeparators; return wordSeparators;
} }
private static boolean isSettingsKeyShown(final SharedPreferences prefs, final Resources res) {
final boolean defaultShowSettingsKey = res.getBoolean(
R.bool.config_default_show_settings_key);
return isShowSettingsKeyOptionEnabled(res)
? prefs.getBoolean(Settings.PREF_SHOW_SETTINGS_KEY, defaultShowSettingsKey)
: defaultShowSettingsKey;
}
public static boolean isShowSettingsKeyOptionEnabled(final Resources resources) {
// TODO: Read this once and for all into a public final member
return resources.getBoolean(R.bool.config_enable_show_settings_key_option);
}
private static boolean isVibrateOn(final Context context, final SharedPreferences prefs,
final Resources res) {
final boolean hasVibrator = VibratorCompatWrapper.getInstance(context).hasVibrator();
return hasVibrator && prefs.getBoolean(Settings.PREF_VIBRATE_ON,
res.getBoolean(R.bool.config_default_vibration_enabled));
}
public boolean isSuggestedPunctuation(int code) { public boolean isSuggestedPunctuation(int code) {
return mSuggestPuncs.contains(String.valueOf((char)code)); return mSuggestPuncs.contains(String.valueOf((char)code));
} }
@ -242,16 +258,11 @@ public class SettingsValues {
return autoCorrectionThreshold; return autoCorrectionThreshold;
} }
public static boolean isShowSettingsKeyOption(final Resources resources) {
return resources.getBoolean(R.bool.config_enable_show_settings_key_option);
}
public boolean isSettingsKeyEnabled() { public boolean isSettingsKeyEnabled() {
return mShowSettingsKey; return mShowSettingsKey;
} }
public boolean isVoiceKeyEnabled(EditorInfo editorInfo) { public boolean isVoiceKeyEnabled(final EditorInfo editorInfo) {
final boolean shortcutImeEnabled = SubtypeSwitcher.getInstance().isShortcutImeEnabled(); final boolean shortcutImeEnabled = SubtypeSwitcher.getInstance().isShortcutImeEnabled();
final int inputType = (editorInfo != null) ? editorInfo.inputType : 0; final int inputType = (editorInfo != null) ? editorInfo.inputType : 0;
return shortcutImeEnabled && mVoiceKeyEnabled return shortcutImeEnabled && mVoiceKeyEnabled