aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/latin/InputAttributes.java5
-rw-r--r--java/src/com/android/inputmethod/latin/InputTypeUtils.java28
-rw-r--r--java/src/com/android/inputmethod/latin/LatinIME.java4
-rw-r--r--java/src/com/android/inputmethod/latin/SettingsValues.java4
4 files changed, 31 insertions, 10 deletions
diff --git a/java/src/com/android/inputmethod/latin/InputAttributes.java b/java/src/com/android/inputmethod/latin/InputAttributes.java
index 2f7608a03..ed0aedbc4 100644
--- a/java/src/com/android/inputmethod/latin/InputAttributes.java
+++ b/java/src/com/android/inputmethod/latin/InputAttributes.java
@@ -65,6 +65,7 @@ public final class InputAttributes {
final boolean flagAutoComplete =
0 != (inputType & InputType.TYPE_TEXT_FLAG_AUTO_COMPLETE);
+ // TODO: Have a helper method in InputTypeUtils
// Make sure that passwords are not displayed in {@link SuggestionStripView}.
if (InputTypeUtils.isPasswordInputType(inputType)
|| InputTypeUtils.isVisiblePasswordInputType(inputType)
@@ -161,6 +162,10 @@ public final class InputAttributes {
Log.i(TAG, " TYPE_TEXT_FLAG_AUTO_COMPLETE");
}
+ public boolean shouldInsertSpacesAutomatically() {
+ return InputTypeUtils.isAutoSpaceFriendlyType(mInputType);
+ }
+
// Pretty print
@Override
public String toString() {
diff --git a/java/src/com/android/inputmethod/latin/InputTypeUtils.java b/java/src/com/android/inputmethod/latin/InputTypeUtils.java
index 500866a13..f1b413163 100644
--- a/java/src/com/android/inputmethod/latin/InputTypeUtils.java
+++ b/java/src/com/android/inputmethod/latin/InputTypeUtils.java
@@ -29,31 +29,37 @@ public final class InputTypeUtils implements InputType {
TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_PASSWORD;
private static final int TEXT_VISIBLE_PASSWORD_INPUT_TYPE =
TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_VISIBLE_PASSWORD;
+ private static final int SUPPRESSING_AUTO_SPACES_FIELD_TYPE =
+ InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS
+ | InputType.TYPE_TEXT_VARIATION_PASSWORD
+ | InputType.TYPE_TEXT_VARIATION_URI
+ | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
+ | InputType.TYPE_TEXT_VARIATION_WEB_PASSWORD;
private InputTypeUtils() {
// This utility class is not publicly instantiable.
}
- private static boolean isWebEditTextInputType(int inputType) {
+ private static boolean isWebEditTextInputType(final int inputType) {
return inputType == (TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_WEB_EDIT_TEXT);
}
- private static boolean isWebPasswordInputType(int inputType) {
+ private static boolean isWebPasswordInputType(final int inputType) {
return WEB_TEXT_PASSWORD_INPUT_TYPE != 0
&& inputType == WEB_TEXT_PASSWORD_INPUT_TYPE;
}
- private static boolean isWebEmailAddressInputType(int inputType) {
+ private static boolean isWebEmailAddressInputType(final int inputType) {
return WEB_TEXT_EMAIL_ADDRESS_INPUT_TYPE != 0
&& inputType == WEB_TEXT_EMAIL_ADDRESS_INPUT_TYPE;
}
- private static boolean isNumberPasswordInputType(int inputType) {
+ private static boolean isNumberPasswordInputType(final int inputType) {
return NUMBER_PASSWORD_INPUT_TYPE != 0
&& inputType == NUMBER_PASSWORD_INPUT_TYPE;
}
- private static boolean isTextPasswordInputType(int inputType) {
+ private static boolean isTextPasswordInputType(final int inputType) {
return inputType == TEXT_PASSWORD_INPUT_TYPE;
}
@@ -61,12 +67,12 @@ public final class InputTypeUtils implements InputType {
return variation == TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS;
}
- public static boolean isEmailVariation(int variation) {
+ public static boolean isEmailVariation(final int variation) {
return variation == TYPE_TEXT_VARIATION_EMAIL_ADDRESS
|| isWebEmailAddressVariation(variation);
}
- public static boolean isWebInputType(int inputType) {
+ public static boolean isWebInputType(final int inputType) {
final int maskedInputType =
inputType & (TYPE_MASK_CLASS | TYPE_MASK_VARIATION);
return isWebEditTextInputType(maskedInputType) || isWebPasswordInputType(maskedInputType)
@@ -74,7 +80,7 @@ public final class InputTypeUtils implements InputType {
}
// Please refer to TextView.isPasswordInputType
- public static boolean isPasswordInputType(int inputType) {
+ public static boolean isPasswordInputType(final int inputType) {
final int maskedInputType =
inputType & (TYPE_MASK_CLASS | TYPE_MASK_VARIATION);
return isTextPasswordInputType(maskedInputType) || isWebPasswordInputType(maskedInputType)
@@ -82,9 +88,13 @@ public final class InputTypeUtils implements InputType {
}
// Please refer to TextView.isVisiblePasswordInputType
- public static boolean isVisiblePasswordInputType(int inputType) {
+ public static boolean isVisiblePasswordInputType(final int inputType) {
final int maskedInputType =
inputType & (TYPE_MASK_CLASS | TYPE_MASK_VARIATION);
return maskedInputType == TEXT_VISIBLE_PASSWORD_INPUT_TYPE;
}
+
+ public static boolean isAutoSpaceFriendlyType(final int inputType) {
+ return 0 == (inputType & SUPPRESSING_AUTO_SPACES_FIELD_TYPE);
+ }
}
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index f6c5f8277..e3508ac44 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -2252,7 +2252,9 @@ public final class LatinIME extends InputMethodService implements KeyboardAction
// This essentially inserts a space, and that's it.
public void promotePhantomSpace() {
- sendKeyCodePoint(Constants.CODE_SPACE);
+ if (mCurrentSettings.shouldInsertSpacesAutomatically()) {
+ sendKeyCodePoint(Constants.CODE_SPACE);
+ }
}
// Used by the RingCharBuffer
diff --git a/java/src/com/android/inputmethod/latin/SettingsValues.java b/java/src/com/android/inputmethod/latin/SettingsValues.java
index 61536b573..ff2647add 100644
--- a/java/src/com/android/inputmethod/latin/SettingsValues.java
+++ b/java/src/com/android/inputmethod/latin/SettingsValues.java
@@ -271,6 +271,10 @@ public final class SettingsValues {
return mPhantomSpacePromotingSymbols.contains(String.valueOf((char)code));
}
+ public boolean shouldInsertSpacesAutomatically() {
+ return mInputAttributes.shouldInsertSpacesAutomatically();
+ }
+
private static boolean isAutoCorrectEnabled(final Resources res,
final String currentAutoCorrectionSetting) {
final String autoCorrectionOff = res.getString(