From c5a2b51924ba816a1bcbc1e42ea65e58bd4f44e7 Mon Sep 17 00:00:00 2001 From: satok <satok@google.com> Date: Fri, 22 Apr 2011 15:52:21 +0900 Subject: [PATCH] Add an debug option to use spacebar switcher Change-Id: Icc483f097696a1c5a2a7ab037afce19c9cfe837f --- java/res/values/strings.xml | 2 ++ java/res/xml/prefs_for_debug.xml | 7 +++++++ .../com/android/inputmethod/latin/DebugSettings.java | 8 ++++++++ .../com/android/inputmethod/latin/SubtypeSwitcher.java | 10 +++++++--- 4 files changed, 24 insertions(+), 3 deletions(-) diff --git a/java/res/values/strings.xml b/java/res/values/strings.xml index 66dc7d71c3..fddc4c67ee 100644 --- a/java/res/values/strings.xml +++ b/java/res/values/strings.xml @@ -55,6 +55,8 @@ <string name="prefs_suggestion_visibility_show_name">Always show</string> <string name="prefs_suggestion_visibility_show_only_portrait_name">Show on portrait mode</string> <string name="prefs_suggestion_visibility_hide_name">Always hide</string> + <!-- Option to enable spacebar language switcher [CHAR LIMIT=20]--> + <string name="prefs_use_spacebar_language_switch">Use the spacebar language switcher</string> <!-- Option to show/hide the settings key --> <string name="prefs_settings_key">Show settings key</string> diff --git a/java/res/xml/prefs_for_debug.xml b/java/res/xml/prefs_for_debug.xml index 2dad171487..477461df4c 100644 --- a/java/res/xml/prefs_for_debug.xml +++ b/java/res/xml/prefs_for_debug.xml @@ -35,6 +35,13 @@ android:defaultValue="@string/config_default_keyboard_theme_id" /> + <CheckBoxPreference + android:key="use_spacebar_language_switch" + android:title="@string/prefs_use_spacebar_language_switch" + android:persistent="true" + android:defaultValue="false" + /> + <CheckBoxPreference android:key="debug_mode" android:title="@string/prefs_debug_mode" diff --git a/java/src/com/android/inputmethod/latin/DebugSettings.java b/java/src/com/android/inputmethod/latin/DebugSettings.java index 2f1e7c2b8c..fd62d61c33 100644 --- a/java/src/com/android/inputmethod/latin/DebugSettings.java +++ b/java/src/com/android/inputmethod/latin/DebugSettings.java @@ -33,6 +33,7 @@ public class DebugSettings extends PreferenceActivity private boolean mServiceNeedsRestart = false; private CheckBoxPreference mDebugMode; + private CheckBoxPreference mUseSpacebarLanguageSwitch; @Override protected void onCreate(Bundle icicle) { @@ -60,6 +61,13 @@ public class DebugSettings extends PreferenceActivity updateDebugMode(); mServiceNeedsRestart = true; } + } else if (key.equals(SubtypeSwitcher.USE_SPACEBAR_LANGUAGE_SWITCH_KEY)) { + if (mUseSpacebarLanguageSwitch != null) { + mUseSpacebarLanguageSwitch.setChecked( + prefs.getBoolean(SubtypeSwitcher.USE_SPACEBAR_LANGUAGE_SWITCH_KEY, + getResources().getBoolean( + R.bool.config_use_spacebar_language_switcher))); + } } } diff --git a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java index 6321955334..160b677e1d 100644 --- a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java +++ b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java @@ -52,6 +52,8 @@ public class SubtypeSwitcher { private static final String VOICE_MODE = "voice"; private static final String SUBTYPE_EXTRAVALUE_REQUIRE_NETWORK_CONNECTIVITY = "requireNetworkConnectivity"; + public static final String USE_SPACEBAR_LANGUAGE_SWITCH_KEY = "use_spacebar_language_switch"; + private final TextUtils.SimpleStringSplitter mLocaleSplitter = new TextUtils.SimpleStringSplitter(LOCALE_SEPARATER); @@ -61,6 +63,7 @@ public class SubtypeSwitcher { private /* final */ Resources mResources; private /* final */ ConnectivityManager mConnectivityManager; private /* final */ boolean mConfigUseSpacebarLanguageSwitcher; + private /* final */ SharedPreferences mPrefs; private final ArrayList<InputMethodSubtypeCompatWrapper> mEnabledKeyboardSubtypesOfCurrentInputMethod = new ArrayList<InputMethodSubtypeCompatWrapper>(); @@ -112,10 +115,8 @@ public class SubtypeSwitcher { mInputLocaleStr = null; mCurrentSubtype = null; mAllEnabledSubtypesOfCurrentInputMethod = null; - // TODO: Voice input should be created here mVoiceInputWrapper = null; - mConfigUseSpacebarLanguageSwitcher = service.getResources().getBoolean( - R.bool.config_use_spacebar_language_switcher); + mPrefs = prefs; final NetworkInfo info = mConnectivityManager.getActiveNetworkInfo(); mIsNetworkConnected = (info != null && info.isConnected()); @@ -133,6 +134,9 @@ public class SubtypeSwitcher { // Update parameters which are changed outside LatinIME. This parameters affect UI so they // should be updated every time onStartInputview. public void updateParametersOnStartInputView() { + mConfigUseSpacebarLanguageSwitcher = mPrefs.getBoolean(USE_SPACEBAR_LANGUAGE_SWITCH_KEY, + mService.getResources().getBoolean( + R.bool.config_use_spacebar_language_switcher)); updateEnabledSubtypes(); updateShortcutIME(); } -- GitLab