Straighten out prefs reading code

Change-Id: Ibf9113a8ef07ac720100ee32d2e5ef321e8ddd98
This commit is contained in:
Jean Chalard 2011-12-09 18:54:07 +09:00
parent bab1f045f4
commit c40b807ca4
2 changed files with 31 additions and 20 deletions

View file

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

View file

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