diff options
Diffstat (limited to 'java/src/com/android/inputmethod/latin/SettingsValues.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/SettingsValues.java | 78 |
1 files changed, 40 insertions, 38 deletions
diff --git a/java/src/com/android/inputmethod/latin/SettingsValues.java b/java/src/com/android/inputmethod/latin/SettingsValues.java index 5e355a3b8..5e9c870d4 100644 --- a/java/src/com/android/inputmethod/latin/SettingsValues.java +++ b/java/src/com/android/inputmethod/latin/SettingsValues.java @@ -35,7 +35,7 @@ import java.util.HashMap; * When you call the constructor of this class, you may want to change the current system locale by * using {@link LocaleUtils.RunInLocale}. */ -public class SettingsValues { +public final class SettingsValues { private static final String TAG = SettingsValues.class.getSimpleName(); private static final int SUGGESTION_VISIBILITY_SHOW_VALUE @@ -246,64 +246,65 @@ public class SettingsValues { && orientation == Configuration.ORIENTATION_PORTRAIT); } - public boolean isWordSeparator(int code) { + public boolean isWordSeparator(final int code) { return mWordSeparators.contains(String.valueOf((char)code)); } - public boolean isSymbolExcludedFromWordSeparators(int code) { + public boolean isSymbolExcludedFromWordSeparators(final int code) { return mSymbolsExcludedFromWordSeparators.contains(String.valueOf((char)code)); } - public boolean isWeakSpaceStripper(int code) { + public boolean isWeakSpaceStripper(final int code) { // TODO: this does not work if the code does not fit in a char return mWeakSpaceStrippers.contains(String.valueOf((char)code)); } - public boolean isWeakSpaceSwapper(int code) { + public boolean isWeakSpaceSwapper(final int code) { // TODO: this does not work if the code does not fit in a char return mWeakSpaceSwappers.contains(String.valueOf((char)code)); } - public boolean isPhantomSpacePromotingSymbol(int code) { + public boolean isPhantomSpacePromotingSymbol(final int code) { // TODO: this does not work if the code does not fit in a char return mPhantomSpacePromotingSymbols.contains(String.valueOf((char)code)); } - private static boolean isAutoCorrectEnabled(final Resources resources, + private static boolean isAutoCorrectEnabled(final Resources res, final String currentAutoCorrectionSetting) { - final String autoCorrectionOff = resources.getString( + final String autoCorrectionOff = res.getString( R.string.auto_correction_threshold_mode_index_off); return !currentAutoCorrectionSetting.equals(autoCorrectionOff); } // Public to access from KeyboardSwitcher. Should it have access to some // process-global instance instead? - public static boolean isKeyPreviewPopupEnabled(SharedPreferences sp, Resources resources) { - final boolean showPopupOption = resources.getBoolean( + public static boolean isKeyPreviewPopupEnabled(final SharedPreferences prefs, + final Resources res) { + final boolean showPopupOption = res.getBoolean( R.bool.config_enable_show_popup_on_keypress_option); - if (!showPopupOption) return resources.getBoolean(R.bool.config_default_popup_preview); - return sp.getBoolean(Settings.PREF_POPUP_ON, - resources.getBoolean(R.bool.config_default_popup_preview)); + if (!showPopupOption) return res.getBoolean(R.bool.config_default_popup_preview); + return prefs.getBoolean(Settings.PREF_POPUP_ON, + res.getBoolean(R.bool.config_default_popup_preview)); } // Likewise - public static int getKeyPreviewPopupDismissDelay(SharedPreferences sp, - Resources resources) { + public static int getKeyPreviewPopupDismissDelay(final SharedPreferences prefs, + final Resources res) { // TODO: use mKeyPreviewPopupDismissDelayRawValue instead of reading it again here. - return Integer.parseInt(sp.getString(Settings.PREF_KEY_PREVIEW_POPUP_DISMISS_DELAY, - Integer.toString(resources.getInteger( + return Integer.parseInt(prefs.getString(Settings.PREF_KEY_PREVIEW_POPUP_DISMISS_DELAY, + Integer.toString(res.getInteger( R.integer.config_key_preview_linger_timeout)))); } - private static boolean isBigramPredictionEnabled(final SharedPreferences sp, - final Resources resources) { - return sp.getBoolean(Settings.PREF_BIGRAM_PREDICTIONS, resources.getBoolean( + private static boolean isBigramPredictionEnabled(final SharedPreferences prefs, + final Resources res) { + return prefs.getBoolean(Settings.PREF_BIGRAM_PREDICTIONS, res.getBoolean( R.bool.config_default_next_word_prediction)); } - private static float getAutoCorrectionThreshold(final Resources resources, + private static float getAutoCorrectionThreshold(final Resources res, final String currentAutoCorrectionSetting) { - final String[] autoCorrectionThresholdValues = resources.getStringArray( + final String[] autoCorrectionThresholdValues = res.getStringArray( R.array.auto_correction_threshold_values); // When autoCorrectionThreshold is greater than 1.0, it's like auto correction is off. float autoCorrectionThreshold = Float.MAX_VALUE; @@ -335,11 +336,11 @@ public class SettingsValues { return mVoiceKeyOnMain; } - public static boolean isLanguageSwitchKeySupressed(SharedPreferences sp) { - return sp.getBoolean(Settings.PREF_SUPPRESS_LANGUAGE_SWITCH_KEY, false); + public static boolean isLanguageSwitchKeySupressed(final SharedPreferences prefs) { + return prefs.getBoolean(Settings.PREF_SUPPRESS_LANGUAGE_SWITCH_KEY, false); } - public boolean isLanguageSwitchKeyEnabled(Context context) { + public boolean isLanguageSwitchKeyEnabled(final Context context) { if (mIsLanguageSwitchKeySuppressed) { return false; } @@ -352,7 +353,7 @@ public class SettingsValues { } } - public boolean isFullscreenModeAllowed(Resources res) { + public boolean isFullscreenModeAllowed(final Resources res) { return res.getBoolean(R.bool.config_use_fullscreen_mode); } @@ -362,15 +363,16 @@ public class SettingsValues { public static String getPrefAdditionalSubtypes(final SharedPreferences prefs, final Resources res) { - final String prefSubtypes = res.getString(R.string.predefined_subtypes, ""); - return prefs.getString(Settings.PREF_CUSTOM_INPUT_STYLES, prefSubtypes); + final String predefinedPrefSubtypes = AdditionalSubtype.createPrefSubtypes( + res.getStringArray(R.array.predefined_subtypes)); + return prefs.getString(Settings.PREF_CUSTOM_INPUT_STYLES, predefinedPrefSubtypes); } // Accessed from the settings interface, hence public - public static float getCurrentKeypressSoundVolume(final SharedPreferences sp, - final Resources res) { + public static float getCurrentKeypressSoundVolume(final SharedPreferences prefs, + final Resources res) { // TODO: use mVibrationDurationSettingsRawValue instead of reading it again here - final float volume = sp.getFloat(Settings.PREF_KEYPRESS_SOUND_VOLUME, -1.0f); + final float volume = prefs.getFloat(Settings.PREF_KEYPRESS_SOUND_VOLUME, -1.0f); if (volume >= 0) { return volume; } @@ -380,10 +382,10 @@ public class SettingsValues { } // Likewise - public static int getCurrentVibrationDuration(final SharedPreferences sp, - final Resources res) { + public static int getCurrentVibrationDuration(final SharedPreferences prefs, + final Resources res) { // TODO: use mKeypressVibrationDuration instead of reading it again here - final int ms = sp.getInt(Settings.PREF_VIBRATION_DURATION_SETTINGS, -1); + final int ms = prefs.getInt(Settings.PREF_VIBRATION_DURATION_SETTINGS, -1); if (ms >= 0) { return ms; } @@ -398,8 +400,8 @@ public class SettingsValues { return prefs.getBoolean(Settings.PREF_USABILITY_STUDY_MODE, true); } - public static long getLastUserHistoryWriteTime( - final SharedPreferences prefs, final String locale) { + public static long getLastUserHistoryWriteTime(final SharedPreferences prefs, + final String locale) { final String str = prefs.getString(Settings.PREF_LAST_USER_DICTIONARY_WRITE_TIME, ""); final HashMap<String, Long> map = LocaleUtils.localeAndTimeStrToHashMap(str); if (map.containsKey(locale)) { @@ -408,8 +410,8 @@ public class SettingsValues { return 0; } - public static void setLastUserHistoryWriteTime( - final SharedPreferences prefs, final String locale) { + public static void setLastUserHistoryWriteTime(final SharedPreferences prefs, + final String locale) { final String oldStr = prefs.getString(Settings.PREF_LAST_USER_DICTIONARY_WRITE_TIME, ""); final HashMap<String, Long> map = LocaleUtils.localeAndTimeStrToHashMap(oldStr); map.put(locale, System.currentTimeMillis()); |