aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/RichInputConnection.java
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2012-09-14 18:53:56 +0900
committerJean Chalard <jchalard@google.com>2012-09-18 18:48:49 +0900
commitd461bfd6601dfb6d4a4f78be0ff129597af895ff (patch)
tree9f164471d21737aed248f896ad853a9ae33d9f22 /java/src/com/android/inputmethod/latin/RichInputConnection.java
parent717d4938b534eab96f20bba57973f1371b6aff64 (diff)
downloadlatinime-d461bfd6601dfb6d4a4f78be0ff129597af895ff.tar.gz
latinime-d461bfd6601dfb6d4a4f78be0ff129597af895ff.tar.xz
latinime-d461bfd6601dfb6d4a4f78be0ff129597af895ff.zip
Support the gesture + phantom space case (A13)
Bug: 6950087 Change-Id: I198699f6e687ac74c35b9edfe469dce880d9ecaf
Diffstat (limited to 'java/src/com/android/inputmethod/latin/RichInputConnection.java')
-rw-r--r--java/src/com/android/inputmethod/latin/RichInputConnection.java11
1 files changed, 10 insertions, 1 deletions
diff --git a/java/src/com/android/inputmethod/latin/RichInputConnection.java b/java/src/com/android/inputmethod/latin/RichInputConnection.java
index cbc6a93fa..28c0c0f16 100644
--- a/java/src/com/android/inputmethod/latin/RichInputConnection.java
+++ b/java/src/com/android/inputmethod/latin/RichInputConnection.java
@@ -209,7 +209,16 @@ public class RichInputConnection {
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;
+ if (!TextUtils.isEmpty(mComposingText)) {
+ if (hasSpaceBefore) {
+ // If we have some composing text and a space before, then we should have
+ // MODE_CHARACTERS and MODE_WORDS on.
+ return (TextUtils.CAP_MODE_CHARACTERS | TextUtils.CAP_MODE_WORDS) & inputType;
+ } else {
+ // We have some composing text - we should be in MODE_CHARACTERS only.
+ return TextUtils.CAP_MODE_CHARACTERS & inputType;
+ }
+ }
// TODO: this will generally work, but there may be cases where the buffer contains SOME
// information but not enough to determine the caps mode accurately. This may happen after
// heavy pressing of delete, for example DEFAULT_TEXT_CACHE_SIZE - 5 times or so.