Loading java/src/com/android/inputmethod/accessibility/AccessibilityUtils.java +2 −2 Original line number Diff line number Diff line Loading @@ -28,8 +28,8 @@ import android.view.accessibility.AccessibilityManager; import android.view.inputmethod.EditorInfo; import com.android.inputmethod.compat.AudioManagerCompatWrapper; import com.android.inputmethod.compat.InputTypeCompatUtils; import com.android.inputmethod.compat.SettingsSecureCompatUtils; import com.android.inputmethod.latin.InputTypeUtils; import com.android.inputmethod.latin.R; public class AccessibilityUtils { Loading Loading @@ -132,7 +132,7 @@ public class AccessibilityUtils { return false; // Don't speak if the IME is connected to a password field. return InputTypeCompatUtils.isPasswordInputType(editorInfo.inputType); return InputTypeUtils.isPasswordInputType(editorInfo.inputType); } /** Loading java/src/com/android/inputmethod/keyboard/KeyboardId.java +3 −3 Original line number Diff line number Diff line Loading @@ -21,7 +21,7 @@ import android.text.TextUtils; import android.view.inputmethod.EditorInfo; import com.android.inputmethod.compat.EditorInfoCompatUtils; import com.android.inputmethod.compat.InputTypeCompatUtils; import com.android.inputmethod.latin.InputTypeUtils; import java.util.Arrays; import java.util.Locale; Loading Loading @@ -140,8 +140,8 @@ public class KeyboardId { public boolean passwordInput() { final int inputType = mEditorInfo.inputType; return InputTypeCompatUtils.isPasswordInputType(inputType) || InputTypeCompatUtils.isVisiblePasswordInputType(inputType); return InputTypeUtils.isPasswordInputType(inputType) || InputTypeUtils.isVisiblePasswordInputType(inputType); } public boolean isMultiLine() { Loading java/src/com/android/inputmethod/keyboard/KeyboardSet.java +2 −2 Original line number Diff line number Diff line Loading @@ -27,8 +27,8 @@ import android.util.Xml; import android.view.inputmethod.EditorInfo; import com.android.inputmethod.compat.EditorInfoCompatUtils; import com.android.inputmethod.compat.InputTypeCompatUtils; import com.android.inputmethod.keyboard.KeyboardSet.Params.ElementParams; import com.android.inputmethod.latin.InputTypeUtils; import com.android.inputmethod.latin.LatinIME; import com.android.inputmethod.latin.LatinImeLogger; import com.android.inputmethod.latin.LocaleUtils; Loading Loading @@ -379,7 +379,7 @@ public class KeyboardSet { case InputType.TYPE_CLASS_PHONE: return KeyboardId.MODE_PHONE; case InputType.TYPE_CLASS_TEXT: if (InputTypeCompatUtils.isEmailVariation(variation)) { if (InputTypeUtils.isEmailVariation(variation)) { return KeyboardId.MODE_EMAIL; } else if (variation == InputType.TYPE_TEXT_VARIATION_URI) { return KeyboardId.MODE_URL; Loading java/src/com/android/inputmethod/latin/InputAttributes.java +3 −5 Original line number Diff line number Diff line Loading @@ -20,8 +20,6 @@ import android.text.InputType; import android.util.Log; import android.view.inputmethod.EditorInfo; import com.android.inputmethod.compat.InputTypeCompatUtils; /** * Class to hold attributes of the input field. */ Loading Loading @@ -66,9 +64,9 @@ public class InputAttributes { 0 != (inputType & InputType.TYPE_TEXT_FLAG_AUTO_COMPLETE); // Make sure that passwords are not displayed in {@link SuggestionsView}. if (InputTypeCompatUtils.isPasswordInputType(inputType) || InputTypeCompatUtils.isVisiblePasswordInputType(inputType) || InputTypeCompatUtils.isEmailVariation(variation) if (InputTypeUtils.isPasswordInputType(inputType) || InputTypeUtils.isVisiblePasswordInputType(inputType) || InputTypeUtils.isEmailVariation(variation) || InputType.TYPE_TEXT_VARIATION_URI == variation || InputType.TYPE_TEXT_VARIATION_FILTER == variation || flagNoSuggestions Loading java/src/com/android/inputmethod/compat/InputTypeCompatUtils.java→java/src/com/android/inputmethod/latin/InputTypeUtils.java +90 −0 Original line number Diff line number Diff line /* * Copyright (C) 2011 The Android Open Source Project * Copyright (C) 2012 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of Loading @@ -14,55 +14,28 @@ * the License. */ package com.android.inputmethod.compat; package com.android.inputmethod.latin; import android.text.InputType; import java.lang.reflect.Field; public class InputTypeCompatUtils { private static final Field FIELD_InputType_TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS = CompatUtils.getField(InputType.class, "TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS"); private static final Field FIELD_InputType_TYPE_TEXT_VARIATION_WEB_PASSWORD = CompatUtils .getField(InputType.class, "TYPE_TEXT_VARIATION_WEB_PASSWORD"); private static final Field FIELD_InputType_TYPE_NUMBER_VARIATION_PASSWORD = CompatUtils .getField(InputType.class, "TYPE_NUMBER_VARIATION_PASSWORD"); private static final Integer OBJ_InputType_TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS = (Integer) CompatUtils.getFieldValue(null, null, FIELD_InputType_TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS); private static final Integer OBJ_InputType_TYPE_TEXT_VARIATION_WEB_PASSWORD = (Integer) CompatUtils.getFieldValue(null, null, FIELD_InputType_TYPE_TEXT_VARIATION_WEB_PASSWORD); private static final Integer OBJ_InputType_TYPE_NUMBER_VARIATION_PASSWORD = (Integer) CompatUtils.getFieldValue(null, null, FIELD_InputType_TYPE_NUMBER_VARIATION_PASSWORD); private static final int WEB_TEXT_PASSWORD_INPUT_TYPE; private static final int WEB_TEXT_EMAIL_ADDRESS_INPUT_TYPE; private static final int NUMBER_PASSWORD_INPUT_TYPE; public class InputTypeUtils implements InputType { private static final int WEB_TEXT_PASSWORD_INPUT_TYPE = TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_WEB_PASSWORD; private static final int WEB_TEXT_EMAIL_ADDRESS_INPUT_TYPE = TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS; private static final int NUMBER_PASSWORD_INPUT_TYPE = TYPE_CLASS_NUMBER | TYPE_NUMBER_VARIATION_PASSWORD; private static final int TEXT_PASSWORD_INPUT_TYPE = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD; TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_PASSWORD; private static final int TEXT_VISIBLE_PASSWORD_INPUT_TYPE = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD; TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_VISIBLE_PASSWORD; static { WEB_TEXT_PASSWORD_INPUT_TYPE = OBJ_InputType_TYPE_TEXT_VARIATION_WEB_PASSWORD != null ? InputType.TYPE_CLASS_TEXT | OBJ_InputType_TYPE_TEXT_VARIATION_WEB_PASSWORD : 0; WEB_TEXT_EMAIL_ADDRESS_INPUT_TYPE = OBJ_InputType_TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS != null ? InputType.TYPE_CLASS_TEXT | OBJ_InputType_TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS : 0; NUMBER_PASSWORD_INPUT_TYPE = OBJ_InputType_TYPE_NUMBER_VARIATION_PASSWORD != null ? InputType.TYPE_CLASS_NUMBER | OBJ_InputType_TYPE_NUMBER_VARIATION_PASSWORD : 0; private InputTypeUtils() { // This utility class is not publicly instantiable. } private static boolean isWebEditTextInputType(int inputType) { return inputType == (InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_WEB_EDIT_TEXT); return inputType == (TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_WEB_EDIT_TEXT); } private static boolean isWebPasswordInputType(int inputType) { Loading @@ -85,18 +58,17 @@ public class InputTypeCompatUtils { } private static boolean isWebEmailAddressVariation(int variation) { return OBJ_InputType_TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS != null && variation == OBJ_InputType_TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS; return variation == TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS; } public static boolean isEmailVariation(int variation) { return variation == InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS return variation == TYPE_TEXT_VARIATION_EMAIL_ADDRESS || isWebEmailAddressVariation(variation); } public static boolean isWebInputType(int inputType) { final int maskedInputType = inputType & (InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_VARIATION); inputType & (TYPE_MASK_CLASS | TYPE_MASK_VARIATION); return isWebEditTextInputType(maskedInputType) || isWebPasswordInputType(maskedInputType) || isWebEmailAddressInputType(maskedInputType); } Loading @@ -104,7 +76,7 @@ public class InputTypeCompatUtils { // Please refer to TextView.isPasswordInputType public static boolean isPasswordInputType(int inputType) { final int maskedInputType = inputType & (InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_VARIATION); inputType & (TYPE_MASK_CLASS | TYPE_MASK_VARIATION); return isTextPasswordInputType(maskedInputType) || isWebPasswordInputType(maskedInputType) || isNumberPasswordInputType(maskedInputType); } Loading @@ -112,7 +84,7 @@ public class InputTypeCompatUtils { // Please refer to TextView.isVisiblePasswordInputType public static boolean isVisiblePasswordInputType(int inputType) { final int maskedInputType = inputType & (InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_VARIATION); inputType & (TYPE_MASK_CLASS | TYPE_MASK_VARIATION); return maskedInputType == TEXT_VISIBLE_PASSWORD_INPUT_TYPE; } } Loading
java/src/com/android/inputmethod/accessibility/AccessibilityUtils.java +2 −2 Original line number Diff line number Diff line Loading @@ -28,8 +28,8 @@ import android.view.accessibility.AccessibilityManager; import android.view.inputmethod.EditorInfo; import com.android.inputmethod.compat.AudioManagerCompatWrapper; import com.android.inputmethod.compat.InputTypeCompatUtils; import com.android.inputmethod.compat.SettingsSecureCompatUtils; import com.android.inputmethod.latin.InputTypeUtils; import com.android.inputmethod.latin.R; public class AccessibilityUtils { Loading Loading @@ -132,7 +132,7 @@ public class AccessibilityUtils { return false; // Don't speak if the IME is connected to a password field. return InputTypeCompatUtils.isPasswordInputType(editorInfo.inputType); return InputTypeUtils.isPasswordInputType(editorInfo.inputType); } /** Loading
java/src/com/android/inputmethod/keyboard/KeyboardId.java +3 −3 Original line number Diff line number Diff line Loading @@ -21,7 +21,7 @@ import android.text.TextUtils; import android.view.inputmethod.EditorInfo; import com.android.inputmethod.compat.EditorInfoCompatUtils; import com.android.inputmethod.compat.InputTypeCompatUtils; import com.android.inputmethod.latin.InputTypeUtils; import java.util.Arrays; import java.util.Locale; Loading Loading @@ -140,8 +140,8 @@ public class KeyboardId { public boolean passwordInput() { final int inputType = mEditorInfo.inputType; return InputTypeCompatUtils.isPasswordInputType(inputType) || InputTypeCompatUtils.isVisiblePasswordInputType(inputType); return InputTypeUtils.isPasswordInputType(inputType) || InputTypeUtils.isVisiblePasswordInputType(inputType); } public boolean isMultiLine() { Loading
java/src/com/android/inputmethod/keyboard/KeyboardSet.java +2 −2 Original line number Diff line number Diff line Loading @@ -27,8 +27,8 @@ import android.util.Xml; import android.view.inputmethod.EditorInfo; import com.android.inputmethod.compat.EditorInfoCompatUtils; import com.android.inputmethod.compat.InputTypeCompatUtils; import com.android.inputmethod.keyboard.KeyboardSet.Params.ElementParams; import com.android.inputmethod.latin.InputTypeUtils; import com.android.inputmethod.latin.LatinIME; import com.android.inputmethod.latin.LatinImeLogger; import com.android.inputmethod.latin.LocaleUtils; Loading Loading @@ -379,7 +379,7 @@ public class KeyboardSet { case InputType.TYPE_CLASS_PHONE: return KeyboardId.MODE_PHONE; case InputType.TYPE_CLASS_TEXT: if (InputTypeCompatUtils.isEmailVariation(variation)) { if (InputTypeUtils.isEmailVariation(variation)) { return KeyboardId.MODE_EMAIL; } else if (variation == InputType.TYPE_TEXT_VARIATION_URI) { return KeyboardId.MODE_URL; Loading
java/src/com/android/inputmethod/latin/InputAttributes.java +3 −5 Original line number Diff line number Diff line Loading @@ -20,8 +20,6 @@ import android.text.InputType; import android.util.Log; import android.view.inputmethod.EditorInfo; import com.android.inputmethod.compat.InputTypeCompatUtils; /** * Class to hold attributes of the input field. */ Loading Loading @@ -66,9 +64,9 @@ public class InputAttributes { 0 != (inputType & InputType.TYPE_TEXT_FLAG_AUTO_COMPLETE); // Make sure that passwords are not displayed in {@link SuggestionsView}. if (InputTypeCompatUtils.isPasswordInputType(inputType) || InputTypeCompatUtils.isVisiblePasswordInputType(inputType) || InputTypeCompatUtils.isEmailVariation(variation) if (InputTypeUtils.isPasswordInputType(inputType) || InputTypeUtils.isVisiblePasswordInputType(inputType) || InputTypeUtils.isEmailVariation(variation) || InputType.TYPE_TEXT_VARIATION_URI == variation || InputType.TYPE_TEXT_VARIATION_FILTER == variation || flagNoSuggestions Loading
java/src/com/android/inputmethod/compat/InputTypeCompatUtils.java→java/src/com/android/inputmethod/latin/InputTypeUtils.java +90 −0 Original line number Diff line number Diff line /* * Copyright (C) 2011 The Android Open Source Project * Copyright (C) 2012 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of Loading @@ -14,55 +14,28 @@ * the License. */ package com.android.inputmethod.compat; package com.android.inputmethod.latin; import android.text.InputType; import java.lang.reflect.Field; public class InputTypeCompatUtils { private static final Field FIELD_InputType_TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS = CompatUtils.getField(InputType.class, "TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS"); private static final Field FIELD_InputType_TYPE_TEXT_VARIATION_WEB_PASSWORD = CompatUtils .getField(InputType.class, "TYPE_TEXT_VARIATION_WEB_PASSWORD"); private static final Field FIELD_InputType_TYPE_NUMBER_VARIATION_PASSWORD = CompatUtils .getField(InputType.class, "TYPE_NUMBER_VARIATION_PASSWORD"); private static final Integer OBJ_InputType_TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS = (Integer) CompatUtils.getFieldValue(null, null, FIELD_InputType_TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS); private static final Integer OBJ_InputType_TYPE_TEXT_VARIATION_WEB_PASSWORD = (Integer) CompatUtils.getFieldValue(null, null, FIELD_InputType_TYPE_TEXT_VARIATION_WEB_PASSWORD); private static final Integer OBJ_InputType_TYPE_NUMBER_VARIATION_PASSWORD = (Integer) CompatUtils.getFieldValue(null, null, FIELD_InputType_TYPE_NUMBER_VARIATION_PASSWORD); private static final int WEB_TEXT_PASSWORD_INPUT_TYPE; private static final int WEB_TEXT_EMAIL_ADDRESS_INPUT_TYPE; private static final int NUMBER_PASSWORD_INPUT_TYPE; public class InputTypeUtils implements InputType { private static final int WEB_TEXT_PASSWORD_INPUT_TYPE = TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_WEB_PASSWORD; private static final int WEB_TEXT_EMAIL_ADDRESS_INPUT_TYPE = TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS; private static final int NUMBER_PASSWORD_INPUT_TYPE = TYPE_CLASS_NUMBER | TYPE_NUMBER_VARIATION_PASSWORD; private static final int TEXT_PASSWORD_INPUT_TYPE = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD; TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_PASSWORD; private static final int TEXT_VISIBLE_PASSWORD_INPUT_TYPE = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD; TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_VISIBLE_PASSWORD; static { WEB_TEXT_PASSWORD_INPUT_TYPE = OBJ_InputType_TYPE_TEXT_VARIATION_WEB_PASSWORD != null ? InputType.TYPE_CLASS_TEXT | OBJ_InputType_TYPE_TEXT_VARIATION_WEB_PASSWORD : 0; WEB_TEXT_EMAIL_ADDRESS_INPUT_TYPE = OBJ_InputType_TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS != null ? InputType.TYPE_CLASS_TEXT | OBJ_InputType_TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS : 0; NUMBER_PASSWORD_INPUT_TYPE = OBJ_InputType_TYPE_NUMBER_VARIATION_PASSWORD != null ? InputType.TYPE_CLASS_NUMBER | OBJ_InputType_TYPE_NUMBER_VARIATION_PASSWORD : 0; private InputTypeUtils() { // This utility class is not publicly instantiable. } private static boolean isWebEditTextInputType(int inputType) { return inputType == (InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_WEB_EDIT_TEXT); return inputType == (TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_WEB_EDIT_TEXT); } private static boolean isWebPasswordInputType(int inputType) { Loading @@ -85,18 +58,17 @@ public class InputTypeCompatUtils { } private static boolean isWebEmailAddressVariation(int variation) { return OBJ_InputType_TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS != null && variation == OBJ_InputType_TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS; return variation == TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS; } public static boolean isEmailVariation(int variation) { return variation == InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS return variation == TYPE_TEXT_VARIATION_EMAIL_ADDRESS || isWebEmailAddressVariation(variation); } public static boolean isWebInputType(int inputType) { final int maskedInputType = inputType & (InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_VARIATION); inputType & (TYPE_MASK_CLASS | TYPE_MASK_VARIATION); return isWebEditTextInputType(maskedInputType) || isWebPasswordInputType(maskedInputType) || isWebEmailAddressInputType(maskedInputType); } Loading @@ -104,7 +76,7 @@ public class InputTypeCompatUtils { // Please refer to TextView.isPasswordInputType public static boolean isPasswordInputType(int inputType) { final int maskedInputType = inputType & (InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_VARIATION); inputType & (TYPE_MASK_CLASS | TYPE_MASK_VARIATION); return isTextPasswordInputType(maskedInputType) || isWebPasswordInputType(maskedInputType) || isNumberPasswordInputType(maskedInputType); } Loading @@ -112,7 +84,7 @@ public class InputTypeCompatUtils { // Please refer to TextView.isVisiblePasswordInputType public static boolean isVisiblePasswordInputType(int inputType) { final int maskedInputType = inputType & (InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_VARIATION); inputType & (TYPE_MASK_CLASS | TYPE_MASK_VARIATION); return maskedInputType == TEXT_VISIBLE_PASSWORD_INPUT_TYPE; } }