aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/com/android/inputmethod/latin/KeyboardSwitcher.java')
-rw-r--r--java/src/com/android/inputmethod/latin/KeyboardSwitcher.java29
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();