diff options
author | 2010-01-15 18:21:58 -0800 | |
---|---|---|
committer | 2010-01-25 15:27:43 -0800 | |
commit | 359f168161074acb11fcd7a443c91fe3cc010e1d (patch) | |
tree | 9b2e01c9602868e80f51671b67ef5409992aea53 /src | |
parent | 440d1fd333e07673961416f0336dcd1789a82218 (diff) | |
download | latinime-359f168161074acb11fcd7a443c91fe3cc010e1d.tar.gz latinime-359f168161074acb11fcd7a443c91fe3cc010e1d.tar.xz latinime-359f168161074acb11fcd7a443c91fe3cc010e1d.zip |
Fix for #2373295 : Capitalize suggestions when typing a capitalized word.
When the user starts typing a word with a capital, whether automatically due
to sentence beginning or since the user pressed shift, then all suggestions
presented are capitalized as well, to be more WYSIWYG.
Diffstat (limited to 'src')
-rwxr-xr-x | src/com/android/inputmethod/latin/Suggest.java | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/com/android/inputmethod/latin/Suggest.java b/src/com/android/inputmethod/latin/Suggest.java index 002f23064..c3fe99635 100755 --- a/src/com/android/inputmethod/latin/Suggest.java +++ b/src/com/android/inputmethod/latin/Suggest.java @@ -26,6 +26,8 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import com.android.inputmethod.latin.WordComposer; + /** * This class loads a dictionary and provides a list of suggestions for a given sequence of * characters. This includes corrections and completions. @@ -55,6 +57,7 @@ public class Suggest implements Dictionary.WordCallback { private boolean mHaveCorrection; private CharSequence mOriginalWord; private String mLowerOriginalWord; + private boolean mCapitalize; private int mCorrectionMode = CORRECTION_BASIC; @@ -156,6 +159,7 @@ public class Suggest implements Dictionary.WordCallback { public List<CharSequence> getSuggestions(View view, WordComposer wordComposer, boolean includeTypedWordIfValid) { mHaveCorrection = false; + mCapitalize = wordComposer.isCapitalized(); collectGarbage(); Arrays.fill(mPriorities, 0); @@ -300,7 +304,14 @@ public class Suggest implements Dictionary.WordCallback { StringBuilder sb = poolSize > 0 ? (StringBuilder) mStringPool.remove(poolSize - 1) : new StringBuilder(32); sb.setLength(0); - sb.append(word, offset, length); + if (mCapitalize) { + sb.append(Character.toUpperCase(word[offset])); + if (length > 1) { + sb.append(word, offset + 1, length - 1); + } + } else { + sb.append(word, offset, length); + } mSuggestions.add(pos, sb); if (mSuggestions.size() > prefMaxSuggestions) { CharSequence garbage = mSuggestions.remove(prefMaxSuggestions); |