diff --git a/java/res/values-xlarge/config.xml b/java/res/values-xlarge/config.xml index 4ceca45f1ed8071b46988254d17b630b90b1a0de..e8e21306d69f8006221dfeeb919d35ac746bc213 100644 --- a/java/res/values-xlarge/config.xml +++ b/java/res/values-xlarge/config.xml @@ -27,6 +27,8 @@ <bool name="config_sliding_key_input_enabled">false</bool> <!-- Whether or not Popup on key press is enabled by default --> <bool name="config_default_popup_preview">false</bool> + <!-- This configuration is the index of the array {@link KeyboardSwitcher.KEYBOARD_THEMES}. --> + <string name="config_default_keyboard_theme_id">5</string> <string name="config_text_size_of_language_on_spacebar">medium</string> <integer name="config_max_popup_keyboard_column">9</integer> </resources> diff --git a/java/res/values/config.xml b/java/res/values/config.xml index 5db2e82b0b65f07d1e953deee386bc7522de35c6..8bdda5574a40c5e54025788bd4d6dc187c18be35 100644 --- a/java/res/values/config.xml +++ b/java/res/values/config.xml @@ -44,6 +44,8 @@ <integer name="config_long_press_shift_key_timeout">1200</integer> <integer name="config_touch_noise_threshold_millis">40</integer> <dimen name="config_touch_noise_threshold_distance">2.0mm</dimen> + <!-- This configuration is the index of the array {@link KeyboardSwitcher.KEYBOARD_THEMES}. --> + <string name="config_default_keyboard_theme_id">4</string> <string name="config_text_size_of_language_on_spacebar">small</string> <integer name="config_max_popup_keyboard_column">9</integer> <!-- Whether or not auto-correction should be enabled by default --> diff --git a/java/res/xml/prefs_for_debug.xml b/java/res/xml/prefs_for_debug.xml index c42fe6602f4eb293343542f7cfc2cda564dccbe7..2dad171487ca7f6f5430fd329af25c6a16de3a91 100644 --- a/java/res/xml/prefs_for_debug.xml +++ b/java/res/xml/prefs_for_debug.xml @@ -32,7 +32,7 @@ android:persistent="true" android:entryValues="@array/keyboard_layout_modes_values" android:entries="@array/keyboard_layout_modes" - android:defaultValue="5" + android:defaultValue="@string/config_default_keyboard_theme_id" /> <CheckBoxPreference diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java index 76cb8ff29b03e58a916b4d8a4838e8a2cfa4c2c0..d085030a1232d0df17743cc73063a594fc6d4abd 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java +++ b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java @@ -39,16 +39,15 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha private static final boolean DEBUG = false; public static final boolean DEBUG_STATE = false; - // Changing DEFAULT_LAYOUT_ID also requires prefs_for_debug.xml to be matched with. - public static final String DEFAULT_LAYOUT_ID = "5"; + private static String sConfigDefaultKeyboardThemeId; public static final String PREF_KEYBOARD_LAYOUT = "pref_keyboard_layout_20100902"; - private static final int[] THEMES = new int [] { + private static final int[] KEYBOARD_THEMES = { R.layout.input_basic, R.layout.input_basic_highcontrast, R.layout.input_stone_normal, R.layout.input_stone_bold, R.layout.input_gingerbread, - R.layout.input_honeycomb, // DEFAULT_LAYOUT_ID + R.layout.input_honeycomb, }; private SubtypeSwitcher mSubtypeSwitcher; @@ -111,8 +110,15 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha sInstance.mPrefs = prefs; sInstance.mSubtypeSwitcher = SubtypeSwitcher.getInstance(); - sInstance.mLayoutId = Integer.valueOf( - prefs.getString(PREF_KEYBOARD_LAYOUT, DEFAULT_LAYOUT_ID)); + try { + sConfigDefaultKeyboardThemeId = ims.getString( + R.string.config_default_keyboard_theme_id); + sInstance.mLayoutId = Integer.valueOf( + prefs.getString(PREF_KEYBOARD_LAYOUT, sConfigDefaultKeyboardThemeId)); + } catch (NumberFormatException e) { + sConfigDefaultKeyboardThemeId = "0"; + sInstance.mLayoutId = 0; + } prefs.registerOnSharedPreferenceChangeListener(sInstance); } @@ -609,8 +615,8 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha if (mInputView != null) { mInputView.closing(); } - if (THEMES.length <= layoutId) { - layoutId = Integer.valueOf(DEFAULT_LAYOUT_ID); + if (KEYBOARD_THEMES.length <= layoutId) { + layoutId = Integer.valueOf(sConfigDefaultKeyboardThemeId); } Utils.GCUtils.getInstance().reset(); @@ -618,7 +624,7 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha for (int i = 0; i < Utils.GCUtils.GC_TRY_LOOP_MAX && tryGC; ++i) { try { mInputView = (LatinKeyboardView) mInputMethodService.getLayoutInflater( - ).inflate(THEMES[layoutId], null); + ).inflate(KEYBOARD_THEMES[layoutId], null); tryGC = false; } catch (OutOfMemoryError e) { Log.w(TAG, "load keyboard failed: " + e); @@ -651,7 +657,7 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { if (PREF_KEYBOARD_LAYOUT.equals(key)) { final int layoutId = Integer.valueOf( - sharedPreferences.getString(key, DEFAULT_LAYOUT_ID)); + sharedPreferences.getString(key, sConfigDefaultKeyboardThemeId)); createInputViewInternal(layoutId, false); postSetInputView(); } else if (Settings.PREF_SETTINGS_KEY.equals(key)) {