diff options
author | 2013-09-05 15:46:04 +0900 | |
---|---|---|
committer | 2013-09-05 16:25:41 +0900 | |
commit | 21a89c1137cba469ad664a63259be370d1650a56 (patch) | |
tree | a9b22ed4eeb2d6fa938b3c6a427501ed55cdc148 /java/src/com/android/inputmethod/latin/settings/SettingsValues.java | |
parent | e0502496da24e658124538bb0bd9a867e4c1d1c0 (diff) | |
download | latinime-21a89c1137cba469ad664a63259be370d1650a56.tar.gz latinime-21a89c1137cba469ad664a63259be370d1650a56.tar.xz latinime-21a89c1137cba469ad664a63259be370d1650a56.zip |
Consolidate voice input key options no.1
Change-Id: I2f928522a0795f57b4133072f270d8fd2498cae9
Diffstat (limited to 'java/src/com/android/inputmethod/latin/settings/SettingsValues.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/settings/SettingsValues.java | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/java/src/com/android/inputmethod/latin/settings/SettingsValues.java b/java/src/com/android/inputmethod/latin/settings/SettingsValues.java index 32730d23f..072bb8731 100644 --- a/java/src/com/android/inputmethod/latin/settings/SettingsValues.java +++ b/java/src/com/android/inputmethod/latin/settings/SettingsValues.java @@ -64,7 +64,7 @@ public final class SettingsValues { public final boolean mVibrateOn; public final boolean mSoundOn; public final boolean mKeyPreviewPopupOn; - private final String mVoiceMode; + private final boolean mShowsVoiceInputKey; public final boolean mIncludesOtherImesInLanguageSwitchList; public final boolean mShowsLanguageSwitchKey; public final boolean mUseContactsDict; @@ -90,8 +90,6 @@ public final class SettingsValues { public final float mAutoCorrectionThreshold; public final boolean mCorrectionEnabled; public final int mSuggestionVisibility; - private final boolean mVoiceKeyEnabled; - private final boolean mVoiceKeyOnMain; public final boolean mBoostPersonalizationDictionaryForDebug; public final boolean mUseOnlyPersonalizationDictionaryForDebug; @@ -137,9 +135,7 @@ public final class SettingsValues { mKeyPreviewPopupOn = Settings.readKeyPreviewPopupEnabled(prefs, res); mSlidingKeyInputPreviewEnabled = prefs.getBoolean( Settings.PREF_SLIDING_KEY_INPUT_PREVIEW, true); - final String voiceModeMain = res.getString(R.string.voice_mode_main); - final String voiceModeOff = res.getString(R.string.voice_mode_off); - mVoiceMode = prefs.getString(Settings.PREF_VOICE_MODE, voiceModeMain); + mShowsVoiceInputKey = needsToShowVoiceInputKey(prefs, res); final String autoCorrectionThresholdRawValue = prefs.getString( Settings.PREF_AUTO_CORRECTION_THRESHOLD, res.getString(R.string.auto_correction_threshold_mode_index_modest)); @@ -159,8 +155,6 @@ public final class SettingsValues { mKeyPreviewPopupDismissDelay = Settings.readKeyPreviewPopupDismissDelay(prefs, res); mAutoCorrectionThreshold = readAutoCorrectionThreshold(res, autoCorrectionThresholdRawValue); - mVoiceKeyEnabled = mVoiceMode != null && !mVoiceMode.equals(voiceModeOff); - mVoiceKeyOnMain = mVoiceMode != null && mVoiceMode.equals(voiceModeMain); mGestureInputEnabled = Settings.readGestureInputEnabled(prefs, res); mGestureTrailEnabled = prefs.getBoolean(Settings.PREF_GESTURE_PREVIEW_TRAIL, true); mGestureFloatingPreviewTextEnabled = prefs.getBoolean( @@ -201,7 +195,7 @@ public final class SettingsValues { mSoundOn = true; mKeyPreviewPopupOn = true; mSlidingKeyInputPreviewEnabled = true; - mVoiceMode = "0"; + mShowsVoiceInputKey = true; mIncludesOtherImesInLanguageSwitchList = false; mShowsLanguageSwitchKey = true; mUseContactsDict = true; @@ -214,8 +208,6 @@ public final class SettingsValues { mKeypressSoundVolume = 1; mKeyPreviewPopupDismissDelay = 70; mAutoCorrectionThreshold = 1; - mVoiceKeyEnabled = true; - mVoiceKeyOnMain = true; mGestureInputEnabled = true; mGestureTrailEnabled = true; mGestureFloatingPreviewTextEnabled = true; @@ -274,14 +266,10 @@ public final class SettingsValues { public boolean isVoiceKeyEnabled(final EditorInfo editorInfo) { final boolean shortcutImeEnabled = SubtypeSwitcher.getInstance().isShortcutImeEnabled(); final int inputType = (editorInfo != null) ? editorInfo.inputType : 0; - return shortcutImeEnabled && mVoiceKeyEnabled + return shortcutImeEnabled && mShowsVoiceInputKey && !InputTypeUtils.isPasswordInputType(inputType); } - public boolean isVoiceKeyOnMain() { - return mVoiceKeyOnMain; - } - public boolean isLanguageSwitchKeyEnabled() { if (!mShowsLanguageSwitchKey) { return false; @@ -372,4 +360,18 @@ public final class SettingsValues { } return autoCorrectionThreshold; } + + private static boolean needsToShowVoiceInputKey(SharedPreferences prefs, Resources res) { + final String voiceModeMain = res.getString(R.string.voice_mode_main); + final String voiceMode = prefs.getString(Settings.PREF_VOICE_MODE_OBSOLETE, voiceModeMain); + final boolean showsVoiceInputKey = voiceMode == null || voiceMode.equals(voiceModeMain); + if (!showsVoiceInputKey) { + // Migrate settings from PREF_VOICE_MODE_OBSOLETE to PREF_VOICE_INPUT_KEY + // Set voiceModeMain as a value of obsolete voice mode settings. + prefs.edit().putString(Settings.PREF_VOICE_MODE_OBSOLETE, voiceModeMain).apply(); + // Disable voice input key. + prefs.edit().putBoolean(Settings.PREF_VOICE_INPUT_KEY, false).apply(); + } + return prefs.getBoolean(Settings.PREF_VOICE_INPUT_KEY, true); + } } |