diff options
author | 2010-11-23 17:55:22 -0800 | |
---|---|---|
committer | 2010-11-24 00:16:00 -0800 | |
commit | 2c60d6e28ecf7d6f7e97a504ebfa97e286d931ed (patch) | |
tree | 675324b2b2a854aa3c974bf02834074df57739b3 /java/src/com/android/inputmethod/latin/KeyboardSwitcher.java | |
parent | 6624fd873681160295fe4475aff54512ca905b98 (diff) | |
download | latinime-2c60d6e28ecf7d6f7e97a504ebfa97e286d931ed.tar.gz latinime-2c60d6e28ecf7d6f7e97a504ebfa97e286d931ed.tar.xz latinime-2c60d6e28ecf7d6f7e97a504ebfa97e286d931ed.zip |
Support dedicated number/date keyboard layout
Bug: 3009716
Change-Id: Idc12cc9d8ee4f5febfae4e11712e2aaca327a6ea
Diffstat (limited to 'java/src/com/android/inputmethod/latin/KeyboardSwitcher.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/KeyboardSwitcher.java | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java b/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java index 68c35791c..b5dd3eed4 100644 --- a/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java +++ b/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java @@ -40,6 +40,7 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha public static final int MODE_IM = 3; public static final int MODE_WEB = 4; public static final int MODE_PHONE = 5; + public static final int MODE_NUMBER = 6; // Changing DEFAULT_LAYOUT_ID also requires prefs_for_debug.xml to be matched with. public static final String DEFAULT_LAYOUT_ID = "5"; @@ -239,6 +240,7 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha case MODE_IM: return "im"; case MODE_WEB: return "web"; case MODE_PHONE: return "phone"; + case MODE_NUMBER: return "number"; } return null; } @@ -287,10 +289,6 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha KeyboardId id = getKeyboardId(mode, imeOptions, isSymbols); LatinKeyboard keyboard = getKeyboard(id); - if (mode == MODE_PHONE) { - mInputView.setPhoneKeyboard(keyboard); - } - mCurrentId = id; mInputView.setKeyboard(keyboard); } @@ -331,11 +329,26 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha final boolean enableShiftLock; if (isSymbols) { - xmlId = mode == MODE_PHONE ? R.xml.kbd_phone_symbols : R.xml.kbd_symbols; + if (mode == MODE_PHONE) { + xmlId = R.xml.kbd_phone_symbols; + } else if (mode == MODE_NUMBER) { + // Note: MODE_NUMBER keyboard layout has no "switch alpha symbol" key. + xmlId = R.xml.kbd_number; + } else { + xmlId = R.xml.kbd_symbols; + } enableShiftLock = false; - } else { // QWERTY - xmlId = mode == MODE_PHONE ? R.xml.kbd_phone : R.xml.kbd_qwerty; - enableShiftLock = mode == MODE_PHONE ? false : true; + } else { + if (mode == MODE_PHONE) { + xmlId = R.xml.kbd_phone; + enableShiftLock = false; + } else if (mode == MODE_NUMBER) { + xmlId = R.xml.kbd_number; + enableShiftLock = false; + } else { + xmlId = R.xml.kbd_qwerty; + enableShiftLock = true; + } } final int orientation = mInputMethodService.getResources().getConfiguration().orientation; final Locale locale = mSubtypeSwitcher.getInputLocale(); |