From deccc23564304b11d58590041f25adffdf6e1b6a Mon Sep 17 00:00:00 2001 From: Jean Chalard Date: Fri, 13 Jun 2014 16:50:05 +0900 Subject: [CM1] Let predictions be aware of capitalize mode. Bug: 15554503 Change-Id: If5e8c0d94ed26d929400ccbb0d45ac23dd98d180 --- .../android/inputmethod/latin/WordComposer.java | 28 ++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) (limited to 'java/src/com/android/inputmethod/latin/WordComposer.java') diff --git a/java/src/com/android/inputmethod/latin/WordComposer.java b/java/src/com/android/inputmethod/latin/WordComposer.java index 6ce1f85c5..21fe7e0eb 100644 --- a/java/src/com/android/inputmethod/latin/WordComposer.java +++ b/java/src/com/android/inputmethod/latin/WordComposer.java @@ -310,12 +310,18 @@ public final class WordComposer { } /** - * Whether or not the user typed a capital letter as the first letter in the word, and no - * other letter is capitalized + * Whether this composer is composing or about to compose a word in which only the first letter + * is a capital. + * + * If we do have a composing word, we just return whether the word has indeed only its first + * character capitalized. If we don't, then we return a value based on the capitalized mode, + * which tell us what is likely to happen for the next composing word. + * * @return capitalization preference */ - public boolean isOnlyFirstCharCapitalized() { - return mIsOnlyFirstCharCapitalized; + public boolean isOrWillBeOnlyFirstCharCapitalized() { + return isComposingWord() ? mIsOnlyFirstCharCapitalized + : (CAPS_MODE_OFF != mCapitalizedMode); } /** @@ -365,6 +371,20 @@ public final class WordComposer { mCapitalizedMode = mode; } + /** + * Before fetching suggestions, we don't necessarily know about the capitalized mode yet. + * + * If we don't have a composing word yet, we take a note of this mode so that we can then + * supply this information to the suggestion process. If we have a composing word, then + * the previous mode has priority over this. + * @param mode the mode just before fetching suggestions + */ + public void adviseCapitalizedModeBeforeFetchingSuggestions(final int mode) { + if (!isComposingWord()) { + mCapitalizedMode = mode; + } + } + /** * Returns whether the word was automatically capitalized. * @return whether the word was automatically capitalized -- cgit v1.2.3-83-g751a