From 0b4ae1f578e768eec4ada90aeb81d11acb10eb2e Mon Sep 17 00:00:00 2001 From: Ken Wakasa Date: Tue, 28 Sep 2010 00:32:35 +0900 Subject: Capitalize the displayed text in the suggestion bar when all of the user typed chars are upper case bug:3014227 Change-Id: Ic453e2fde57ce51be00f3a506e1c9328103ca99a --- java/src/com/android/inputmethod/latin/Suggest.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'java/src/com/android/inputmethod/latin/Suggest.java') diff --git a/java/src/com/android/inputmethod/latin/Suggest.java b/java/src/com/android/inputmethod/latin/Suggest.java index 92bbe4362..3b898941f 100755 --- a/java/src/com/android/inputmethod/latin/Suggest.java +++ b/java/src/com/android/inputmethod/latin/Suggest.java @@ -96,7 +96,10 @@ public class Suggest implements Dictionary.WordCallback { private boolean mHaveCorrection; private CharSequence mOriginalWord; private String mLowerOriginalWord; - private boolean mCapitalize; + + // TODO: Remove these member variables by passing more context to addWord() callback method + private boolean mIsFirstCharCapitalized; + private boolean mIsAllUpperCase; private int mCorrectionMode = CORRECTION_BASIC; @@ -219,7 +222,8 @@ public class Suggest implements Dictionary.WordCallback { boolean includeTypedWordIfValid, CharSequence prevWordForBigram) { LatinImeLogger.onStartSuggestion(prevWordForBigram); mHaveCorrection = false; - mCapitalize = wordComposer.isCapitalized(); + mIsFirstCharCapitalized = wordComposer.isFirstCharCapitalized(); + mIsAllUpperCase = wordComposer.isAllUpperCase(); collectGarbage(mSuggestions, mPrefMaxSuggestions); Arrays.fill(mPriorities, 0); Arrays.fill(mNextLettersFrequencies, 0); @@ -453,7 +457,9 @@ public class Suggest implements Dictionary.WordCallback { StringBuilder sb = poolSize > 0 ? (StringBuilder) mStringPool.remove(poolSize - 1) : new StringBuilder(getApproxMaxWordLength()); sb.setLength(0); - if (mCapitalize) { + if (mIsAllUpperCase) { + sb.append(new String(word, offset, length).toUpperCase()); + } else if (mIsFirstCharCapitalized) { sb.append(Character.toUpperCase(word[offset])); if (length > 1) { sb.append(word, offset + 1, length - 1); -- cgit v1.2.3-83-g751a