aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/inputlogic
diff options
context:
space:
mode:
authorAdrian Velicu <adrianv@google.com>2014-09-22 17:35:31 +0900
committerAdrian Velicu <adrianv@google.com>2014-09-30 15:48:48 +0900
commit9586d69bdf90fe24a83c0c6ba22589f28ae6cd03 (patch)
tree25261ed4f07beeafbda918b93a0e1763f0a75125 /java/src/com/android/inputmethod/latin/inputlogic
parent0c2cdcc7350e8dc0e97f0aa4f343984f3cf39f72 (diff)
downloadlatinime-9586d69bdf90fe24a83c0c6ba22589f28ae6cd03.tar.gz
latinime-9586d69bdf90fe24a83c0c6ba22589f28ae6cd03.tar.xz
latinime-9586d69bdf90fe24a83c0c6ba22589f28ae6cd03.zip
Avoid double space when autocorrect is triggered
Bug: 17596034 Change-Id: Iaa6cc066eefd2436195a91791f2628e9a5f1c449
Diffstat (limited to 'java/src/com/android/inputmethod/latin/inputlogic')
-rw-r--r--java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java
index 27af1611a..d7e1eba8b 100644
--- a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java
+++ b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java
@@ -1591,6 +1591,10 @@ public final class InputLogic {
final String committedWordString = committedWord.toString();
final int cancelLength = committedWord.length();
final String separatorString = mLastComposedWord.mSeparatorString;
+ // If our separator is a space, we won't actually commit it,
+ // but set the space state to PHANTOM so that a space will be inserted
+ // on the next keypress
+ final boolean usePhantomSpace = separatorString.equals(Constants.STRING_SPACE);
// We want java chars, not codepoints for the following.
final int separatorLength = separatorString.length();
// TODO: should we check our saved separator against the actual contents of the text view?
@@ -1611,7 +1615,8 @@ public final class InputLogic {
if (!TextUtils.isEmpty(committedWord)) {
mDictionaryFacilitator.removeWordFromPersonalizedDicts(committedWordString);
}
- final String stringToCommit = originallyTypedWord + separatorString;
+ final String stringToCommit = originallyTypedWord +
+ (usePhantomSpace ? "" : separatorString);
final SpannableString textToCommit = new SpannableString(stringToCommit);
if (committedWord instanceof SpannableString) {
final SpannableString committedWordWithSuggestionSpans = (SpannableString)committedWord;
@@ -1663,6 +1668,9 @@ public final class InputLogic {
} else {
mConnection.commitText(textToCommit, 1);
}
+ if (usePhantomSpace) {
+ mSpaceState = SpaceState.PHANTOM;
+ }
} else {
// For languages without spaces, we revert the typed string but the cursor is flush
// with the typed word, so we need to resume suggestions right away.