aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/RichInputConnection.java
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2012-09-18 00:21:47 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-09-18 00:21:48 -0700
commitb128b1cdfee1956dff2cefc6d5308706a7fc186f (patch)
treef80fa7296d9292cef961b6c380bda7ffb81405fa /java/src/com/android/inputmethod/latin/RichInputConnection.java
parent8adc0154e6a1412e8b2a7ba5b2a67650062e0dbf (diff)
parent90a91272447fd64bc54e06f08f45b11c45930767 (diff)
downloadlatinime-b128b1cdfee1956dff2cefc6d5308706a7fc186f.tar.gz
latinime-b128b1cdfee1956dff2cefc6d5308706a7fc186f.tar.xz
latinime-b128b1cdfee1956dff2cefc6d5308706a7fc186f.zip
Merge "Take space state into account for caps (A11)" into jb-mr1-dev
Diffstat (limited to 'java/src/com/android/inputmethod/latin/RichInputConnection.java')
-rw-r--r--java/src/com/android/inputmethod/latin/RichInputConnection.java21
1 files changed, 19 insertions, 2 deletions
diff --git a/java/src/com/android/inputmethod/latin/RichInputConnection.java b/java/src/com/android/inputmethod/latin/RichInputConnection.java
index b85f9dcd7..cbc6a93fa 100644
--- a/java/src/com/android/inputmethod/latin/RichInputConnection.java
+++ b/java/src/com/android/inputmethod/latin/RichInputConnection.java
@@ -190,7 +190,23 @@ public class RichInputConnection {
}
}
- public int getCursorCapsMode(final int inputType, final Locale locale) {
+ /**
+ * Gets the caps modes we should be in after this specific string.
+ *
+ * This returns a bit set of TextUtils#CAP_MODE_*, masked by the inputType argument.
+ * This method also supports faking an additional space after the string passed in argument,
+ * to support cases where a space will be added automatically, like in phantom space
+ * state for example.
+ * Note that for English, we are using American typography rules (which are not specific to
+ * American English, it's just the most common set of rules for English).
+ *
+ * @param inputType a mask of the caps modes to test for.
+ * @param locale what language should be considered.
+ * @param hasSpaceBefore if we should consider there should be a space after the string.
+ * @return the caps modes that should be on as a set of bits
+ */
+ public int getCursorCapsMode(final int inputType, final Locale locale,
+ final boolean hasSpaceBefore) {
mIC = mParent.getCurrentInputConnection();
if (null == mIC) return Constants.TextUtils.CAP_MODE_OFF;
if (!TextUtils.isEmpty(mComposingText)) return Constants.TextUtils.CAP_MODE_OFF;
@@ -205,7 +221,8 @@ public class RichInputConnection {
}
// This never calls InputConnection#getCapsMode - in fact, it's a static method that
// never blocks or initiates IPC.
- return StringUtils.getCapsMode(mCommittedTextBeforeComposingText, inputType, locale);
+ return StringUtils.getCapsMode(mCommittedTextBeforeComposingText, inputType, locale,
+ hasSpaceBefore);
}
public CharSequence getTextBeforeCursor(final int i, final int j) {