aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/Suggest.java
diff options
context:
space:
mode:
authorKen Wakasa <kwakasa@google.com>2010-09-28 00:32:35 +0900
committerKen Wakasa <kwakasa@google.com>2010-09-28 01:15:11 +0900
commit0b4ae1f578e768eec4ada90aeb81d11acb10eb2e (patch)
treed0062970c6907bab4d88c90a3b719fe07b551467 /java/src/com/android/inputmethod/latin/Suggest.java
parent3a2b90357ce056765d5c9d6dec0335c308e21717 (diff)
downloadlatinime-0b4ae1f578e768eec4ada90aeb81d11acb10eb2e.tar.gz
latinime-0b4ae1f578e768eec4ada90aeb81d11acb10eb2e.tar.xz
latinime-0b4ae1f578e768eec4ada90aeb81d11acb10eb2e.zip
Capitalize the displayed text in the suggestion bar when all of the user typed chars are upper case
bug:3014227 Change-Id: Ic453e2fde57ce51be00f3a506e1c9328103ca99a
Diffstat (limited to 'java/src/com/android/inputmethod/latin/Suggest.java')
-rwxr-xr-xjava/src/com/android/inputmethod/latin/Suggest.java12
1 files changed, 9 insertions, 3 deletions
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);