diff options
author | 2011-05-27 00:15:50 -0700 | |
---|---|---|
committer | 2011-05-27 00:15:50 -0700 | |
commit | d0a88868ca96e466b53efd0154d36f0a8bf91bf4 (patch) | |
tree | c5f9ceaa121e879014a6e05650aea97d90ad250e /java/src | |
parent | b7e09a0fab67315244d6d662c56bb4e27598b88e (diff) | |
parent | ec8cb2eb53ae8fdc45c51cf58b01384161901b97 (diff) | |
download | latinime-d0a88868ca96e466b53efd0154d36f0a8bf91bf4.tar.gz latinime-d0a88868ca96e466b53efd0154d36f0a8bf91bf4.tar.xz latinime-d0a88868ca96e466b53efd0154d36f0a8bf91bf4.zip |
am ec8cb2eb: Merge "Remove web mode and add webInput boolean (DO NOT MERGE)" into honeycomb-mr2
* commit 'ec8cb2eb53ae8fdc45c51cf58b01384161901b97':
Remove web mode and add webInput boolean (DO NOT MERGE)
Diffstat (limited to 'java/src')
3 files changed, 30 insertions, 22 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardId.java b/java/src/com/android/inputmethod/keyboard/KeyboardId.java index 91dbf25cf..bb2c0e3ba 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyboardId.java +++ b/java/src/com/android/inputmethod/keyboard/KeyboardId.java @@ -33,17 +33,15 @@ public class KeyboardId { public static final int MODE_URL = 1; public static final int MODE_EMAIL = 2; 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; - // Should come up with implementing web & email mode clearer way. - public static final int MODE_WEB_EMAIL = 7; + public static final int MODE_PHONE = 4; + public static final int MODE_NUMBER = 5; public final Locale mLocale; public final int mOrientation; public final int mMode; public final int mXmlId; public final int mColorScheme; + public final boolean mWebInput; public final boolean mPasswordInput; public final boolean mHasSettingsKey; public final boolean mVoiceKeyEnabled; @@ -64,6 +62,7 @@ public class KeyboardId { this.mMode = mode; this.mXmlId = xmlId; this.mColorScheme = colorScheme; + this.mWebInput = Utils.isWebInputType(inputType); this.mPasswordInput = Utils.isPasswordInputType(inputType) || Utils.isVisiblePasswordInputType(inputType); this.mHasSettingsKey = hasSettingsKey; @@ -82,6 +81,7 @@ public class KeyboardId { mode, xmlId, colorScheme, + mWebInput, mPasswordInput, hasSettingsKey, voiceKeyEnabled, @@ -122,6 +122,7 @@ public class KeyboardId { && other.mMode == this.mMode && other.mXmlId == this.mXmlId && other.mColorScheme == this.mColorScheme + && other.mWebInput == this.mWebInput && other.mPasswordInput == this.mPasswordInput && other.mHasSettingsKey == this.mHasSettingsKey && other.mVoiceKeyEnabled == this.mVoiceKeyEnabled @@ -137,12 +138,13 @@ public class KeyboardId { @Override public String toString() { - return String.format("[%s.xml %s %s %s imeAction=%s %s%s%s%s%s%s]", + return String.format("[%s.xml %s %s %s imeAction=%s %s%s%s%s%s%s%s]", mXmlName, mLocale, (mOrientation == 1 ? "port" : "land"), modeName(mMode), imeOptionsName(mImeAction), + (mWebInput ? " webInput" : ""), (mPasswordInput ? " passwordInput" : ""), (mHasSettingsKey ? " hasSettingsKey" : ""), (mVoiceKeyEnabled ? " voiceKeyEnabled" : ""), @@ -158,10 +160,8 @@ public class KeyboardId { case MODE_URL: return "url"; case MODE_EMAIL: return "email"; case MODE_IM: return "im"; - case MODE_WEB: return "web"; case MODE_PHONE: return "phone"; case MODE_NUMBER: return "number"; - case MODE_WEB_EMAIL: return "webEmail"; } return null; } diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardParser.java b/java/src/com/android/inputmethod/keyboard/KeyboardParser.java index 6af0d537c..bc9e8f0a0 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyboardParser.java +++ b/java/src/com/android/inputmethod/keyboard/KeyboardParser.java @@ -419,6 +419,8 @@ public class KeyboardParser { try { final boolean modeMatched = matchInteger(a, R.styleable.Keyboard_Case_mode, id.mMode); + final boolean webInputMatched = matchBoolean(a, + R.styleable.Keyboard_Case_webInput, id.mWebInput); final boolean passwordInputMatched = matchBoolean(a, R.styleable.Keyboard_Case_passwordInput, id.mPasswordInput); final boolean settingsKeyMatched = matchBoolean(a, @@ -439,16 +441,18 @@ public class KeyboardParser { R.styleable.Keyboard_Case_languageCode, id.mLocale.getLanguage()); final boolean countryCodeMatched = matchString(a, R.styleable.Keyboard_Case_countryCode, id.mLocale.getCountry()); - final boolean selected = modeMatched && passwordInputMatched && settingsKeyMatched - && voiceEnabledMatched && voiceKeyMatched && colorSchemeMatched - && imeActionMatched && languageCodeMatched && countryCodeMatched; + final boolean selected = modeMatched && webInputMatched && passwordInputMatched + && settingsKeyMatched && voiceEnabledMatched && voiceKeyMatched + && colorSchemeMatched && imeActionMatched && languageCodeMatched + && countryCodeMatched; - if (DEBUG) Log.d(TAG, String.format("<%s%s%s%s%s%s%s%s%s%s> %s", TAG_CASE, + if (DEBUG) Log.d(TAG, String.format("<%s%s%s%s%s%s%s%s%s%s%s> %s", TAG_CASE, textAttr(KeyboardId.modeName( a.getInt(R.styleable.Keyboard_Case_mode, -1)), "mode"), textAttr(KeyboardId.colorSchemeName( viewAttr.getInt( R.styleable.KeyboardView_colorScheme, -1)), "colorSchemeName"), + booleanAttr(a, R.styleable.Keyboard_Case_webInput, "webInput"), booleanAttr(a, R.styleable.Keyboard_Case_passwordInput, "passwordInput"), booleanAttr(a, R.styleable.Keyboard_Case_hasSettingsKey, "hasSettingsKey"), booleanAttr(a, R.styleable.Keyboard_Case_voiceKeyEnabled, "voiceKeyEnabled"), diff --git a/java/src/com/android/inputmethod/latin/Utils.java b/java/src/com/android/inputmethod/latin/Utils.java index a895ba281..1cbc434b6 100644 --- a/java/src/com/android/inputmethod/latin/Utils.java +++ b/java/src/com/android/inputmethod/latin/Utils.java @@ -16,8 +16,6 @@ package com.android.inputmethod.latin; -import com.android.inputmethod.keyboard.KeyboardId; - import android.content.res.Resources; import android.inputmethodservice.InputMethodService; import android.os.AsyncTask; @@ -25,13 +23,14 @@ import android.os.Handler; import android.os.HandlerThread; import android.os.Process; import android.text.InputType; -import android.text.TextUtils; import android.text.format.DateUtils; import android.util.Log; import android.view.inputmethod.EditorInfo; import android.view.inputmethod.InputMethodInfo; import android.view.inputmethod.InputMethodManager; +import com.android.inputmethod.keyboard.KeyboardId; + import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; @@ -39,7 +38,6 @@ import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; import java.io.PrintWriter; -import java.lang.reflect.Field; import java.text.SimpleDateFormat; import java.util.Date; @@ -487,9 +485,7 @@ public class Utils { case InputType.TYPE_CLASS_PHONE: return KeyboardId.MODE_PHONE; case InputType.TYPE_CLASS_TEXT: - if (variation == InputType.TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS) { - return KeyboardId.MODE_WEB_EMAIL; - } else if (Utils.isEmailVariation(variation)) { + if (Utils.isEmailVariation(variation)) { return KeyboardId.MODE_EMAIL; } else if (variation == InputType.TYPE_TEXT_VARIATION_URI) { return KeyboardId.MODE_URL; @@ -497,9 +493,6 @@ public class Utils { return KeyboardId.MODE_IM; } else if (variation == InputType.TYPE_TEXT_VARIATION_FILTER) { return KeyboardId.MODE_TEXT; - } else if (variation == InputType.TYPE_TEXT_VARIATION_WEB_EDIT_TEXT - || variation == InputType.TYPE_TEXT_VARIATION_WEB_PASSWORD) { - return KeyboardId.MODE_WEB; } else { return KeyboardId.MODE_TEXT; } @@ -513,6 +506,17 @@ public class Utils { || variation == InputType.TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS; } + public static boolean isWebInputType(int inputType) { + final int variation = + inputType & (InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_VARIATION); + return (variation + == (InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_WEB_EDIT_TEXT)) + || (variation + == (InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_WEB_PASSWORD)) + || (variation + == (InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS)); + } + // Please refer to TextView.isPasswordInputType public static boolean isPasswordInputType(int inputType) { final int variation = |