From 6bca9ac43d0db9a83b02577783cc609ecf13e3f4 Mon Sep 17 00:00:00 2001 From: Jean Chalard Date: Thu, 26 Dec 2013 23:13:58 +0900 Subject: Fix a bug where predictions would not pop upon manual pick Bug: 12295276 Change-Id: Id359c92acde44758b12929e7bac719d5c9c7577b --- java/src/com/android/inputmethod/latin/WordComposer.java | 2 +- java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) (limited to 'java/src') diff --git a/java/src/com/android/inputmethod/latin/WordComposer.java b/java/src/com/android/inputmethod/latin/WordComposer.java index 7da97e57a..f078c7346 100644 --- a/java/src/com/android/inputmethod/latin/WordComposer.java +++ b/java/src/com/android/inputmethod/latin/WordComposer.java @@ -472,7 +472,7 @@ public final class WordComposer { mCapsCount = 0; mDigitsCount = 0; mIsBatchMode = false; - mPreviousWordForSuggestion = mTypedWord.toString(); + mPreviousWordForSuggestion = committedWord; mTypedWord.setLength(0); mCodePointSize = 0; mTrailingSingleQuotesCount = 0; diff --git a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java index 488ce6e7b..59b722134 100644 --- a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java +++ b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java @@ -1621,8 +1621,11 @@ public final class InputLogic { chosenWord, separatorString, prevWord); final boolean shouldDiscardPreviousWordForSuggestion; if (0 == StringUtils.codePointCount(separatorString)) { - // Separator is 0-length. Discard the word only if the current language has spaces. - shouldDiscardPreviousWordForSuggestion = settingsValues.mCurrentLanguageHasSpaces; + // Separator is 0-length, we can keep the previous word for suggestion. Either this + // was a manual pick or the language has no spaces in which case we want to keep the + // previous word, or it was the keyboard closing or the cursor moving in which case it + // will be reset anyway. + shouldDiscardPreviousWordForSuggestion = false; } else { // Otherwise, we discard if the separator contains any non-whitespace. shouldDiscardPreviousWordForSuggestion = -- cgit v1.2.3-83-g751a