diff options
| author | Tadashi G. Takaoka <takaoka@google.com> | 2011-06-23 08:35:21 -0700 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-06-23 08:35:21 -0700 |
| commit | 80b79bf9a2bc2ad1e1e9c53782657f47fb1de2c2 (patch) | |
| tree | 17fd9338fa5e8493184f286401dca7ca39f2d0e3 /java/src/com/android/inputmethod/keyboard/KeyboardId.java | |
| parent | da9b1325133ed5096c06782537e66f75d8f5cf3e (diff) | |
| parent | cd96a691b14b384face577d907f6c1aa33b47233 (diff) | |
Merge "Fix "Show settings key" option on 7" device"
Diffstat (limited to 'java/src/com/android/inputmethod/keyboard/KeyboardId.java')
| -rw-r--r-- | java/src/com/android/inputmethod/keyboard/KeyboardId.java | 41 |
1 files changed, 35 insertions, 6 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardId.java b/java/src/com/android/inputmethod/keyboard/KeyboardId.java index b91134dd6..9c63c198c 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyboardId.java +++ b/java/src/com/android/inputmethod/keyboard/KeyboardId.java @@ -37,6 +37,11 @@ public class KeyboardId { public static final int MODE_PHONE = 4; public static final int MODE_NUMBER = 5; + public static final int F2KEY_MODE_NONE = 0; + public static final int F2KEY_MODE_SETTINGS = 1; + public static final int F2KEY_MODE_SHORTCUT_IME = 2; + public static final int F2KEY_MODE_SHORTCUT_IME_OR_SETTINGS = 3; + public final Locale mLocale; public final int mOrientation; public final int mWidth; @@ -44,7 +49,10 @@ public class KeyboardId { public final int mXmlId; public final boolean mNavigateAction; public final boolean mPasswordInput; + // TODO: Clean up these booleans and modes. public final boolean mHasSettingsKey; + public final int mF2KeyMode; + public final boolean mClobberSettingsKey; public final boolean mVoiceKeyEnabled; public final boolean mHasVoiceKey; public final int mImeAction; @@ -56,8 +64,9 @@ public class KeyboardId { private final int mHashCode; public KeyboardId(String xmlName, int xmlId, Locale locale, int orientation, int width, - int mode, EditorInfo attribute, boolean hasSettingsKey, boolean voiceKeyEnabled, - boolean hasVoiceKey, boolean enableShiftLock) { + int mode, EditorInfo attribute, boolean hasSettingsKey, int f2KeyMode, + boolean clobberSettingsKey, boolean voiceKeyEnabled, boolean hasVoiceKey, + boolean enableShiftLock) { final int inputType = (attribute != null) ? attribute.inputType : 0; final int imeOptions = (attribute != null) ? attribute.imeOptions : 0; this.mLocale = locale; @@ -72,6 +81,8 @@ public class KeyboardId { this.mPasswordInput = InputTypeCompatUtils.isPasswordInputType(inputType) || InputTypeCompatUtils.isVisiblePasswordInputType(inputType); this.mHasSettingsKey = hasSettingsKey; + this.mF2KeyMode = f2KeyMode; + this.mClobberSettingsKey = clobberSettingsKey; this.mVoiceKeyEnabled = voiceKeyEnabled; this.mHasVoiceKey = hasVoiceKey; // We are interested only in {@link EditorInfo#IME_MASK_ACTION} enum value and @@ -92,6 +103,8 @@ public class KeyboardId { mNavigateAction, mPasswordInput, hasSettingsKey, + f2KeyMode, + clobberSettingsKey, voiceKeyEnabled, hasVoiceKey, mImeAction, @@ -101,14 +114,16 @@ public class KeyboardId { public KeyboardId cloneWithNewLayout(String xmlName, int xmlId) { return new KeyboardId(xmlName, xmlId, mLocale, mOrientation, mWidth, mMode, mAttribute, - mHasSettingsKey, mVoiceKeyEnabled, mHasVoiceKey, mEnableShiftLock); + mHasSettingsKey, mF2KeyMode, mClobberSettingsKey, mVoiceKeyEnabled, mHasVoiceKey, + mEnableShiftLock); } public KeyboardId cloneWithNewGeometry(int width) { if (mWidth == width) return this; return new KeyboardId(mXmlName, mXmlId, mLocale, mOrientation, width, mMode, mAttribute, - mHasSettingsKey, mVoiceKeyEnabled, mHasVoiceKey, mEnableShiftLock); + mHasSettingsKey, mF2KeyMode, mClobberSettingsKey, mVoiceKeyEnabled, mHasVoiceKey, + mEnableShiftLock); } public int getXmlId() { @@ -149,6 +164,8 @@ public class KeyboardId { && other.mNavigateAction == this.mNavigateAction && other.mPasswordInput == this.mPasswordInput && other.mHasSettingsKey == this.mHasSettingsKey + && other.mF2KeyMode == this.mF2KeyMode + && other.mClobberSettingsKey == this.mClobberSettingsKey && other.mVoiceKeyEnabled == this.mVoiceKeyEnabled && other.mHasVoiceKey == this.mHasVoiceKey && other.mImeAction == this.mImeAction @@ -162,12 +179,14 @@ public class KeyboardId { @Override public String toString() { - return String.format("[%s.xml %s %s%d %s %s %s%s%s%s%s%s]", + return String.format("[%s.xml %s %s%d %s %s %s%s%s%s%s%s%s%s]", mXmlName, mLocale, (mOrientation == 1 ? "port" : "land"), mWidth, modeName(mMode), EditorInfoCompatUtils.imeOptionsName(mImeAction), + f2KeyModeName(mF2KeyMode), + (mClobberSettingsKey ? " clobberSettingsKey" : ""), (mNavigateAction ? " navigateAction" : ""), (mPasswordInput ? " passwordInput" : ""), (mHasSettingsKey ? " hasSettingsKey" : ""), @@ -185,7 +204,17 @@ public class KeyboardId { case MODE_IM: return "im"; case MODE_PHONE: return "phone"; case MODE_NUMBER: return "number"; + default: return null; + } + } + + public static String f2KeyModeName(int f2KeyMode) { + switch (f2KeyMode) { + case F2KEY_MODE_NONE: return "none"; + case F2KEY_MODE_SETTINGS: return "settings"; + case F2KEY_MODE_SHORTCUT_IME: return "shortcutIme"; + case F2KEY_MODE_SHORTCUT_IME_OR_SETTINGS: return "shortcutImeOrSettings"; + default: return null; } - return null; } } |
