aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2012-06-26 19:46:43 +0900
committerJean Chalard <jchalard@google.com>2012-06-26 19:49:01 +0900
commitec8b27fe49bd0a149cf7dcd36d1b0d966b03a3b5 (patch)
tree630daf9148c15d4114c18d109aef4e79285dc474 /java/src
parent0131170da9ec8c36880b0c31bd066974150f341d (diff)
downloadlatinime-ec8b27fe49bd0a149cf7dcd36d1b0d966b03a3b5.tar.gz
latinime-ec8b27fe49bd0a149cf7dcd36d1b0d966b03a3b5.tar.xz
latinime-ec8b27fe49bd0a149cf7dcd36d1b0d966b03a3b5.zip
Cut out a method for clarity
Change-Id: I1dc668698a5cd840297e713a26a525f5e32d35d6
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/latin/Suggest.java38
1 files changed, 25 insertions, 13 deletions
diff --git a/java/src/com/android/inputmethod/latin/Suggest.java b/java/src/com/android/inputmethod/latin/Suggest.java
index cb1ec8f7c..3289d6a23 100644
--- a/java/src/com/android/inputmethod/latin/Suggest.java
+++ b/java/src/com/android/inputmethod/latin/Suggest.java
@@ -427,26 +427,38 @@ public class Suggest {
return true;
}
- final StringBuilder sb = new StringBuilder(getApproxMaxWordLength());
- if (mIsAllUpperCase) {
- sb.append(word.toString().toUpperCase(mLocale));
- } else if (mIsFirstCharCapitalized) {
- sb.append(StringUtils.toTitleCase(word.toString(), mLocale));
- } else {
- sb.append(word);
- }
- for (int i = mTrailingSingleQuotesCount - 1; i >= 0; --i) {
- sb.appendCodePoint(Keyboard.CODE_SINGLE_QUOTE);
- }
- suggestions.add(pos, new SuggestedWordInfo(sb, score, wordInfo.mKind));
+ final SuggestedWordInfo transformedWordInfo = getTransformedSuggestedWordInfo(wordInfo,
+ mLocale, mIsAllUpperCase, mIsFirstCharCapitalized, mTrailingSingleQuotesCount);
+ suggestions.add(pos, transformedWordInfo);
if (suggestions.size() > prefMaxSuggestions) {
suggestions.remove(prefMaxSuggestions);
} else {
- LatinImeLogger.onAddSuggestedWord(sb.toString(), dicTypeId, dataTypeForLog);
+ LatinImeLogger.onAddSuggestedWord(transformedWordInfo.mWord.toString(), dicTypeId,
+ dataTypeForLog);
}
return true;
}
+ private static SuggestedWordInfo getTransformedSuggestedWordInfo(
+ final SuggestedWordInfo wordInfo, final Locale locale, final boolean isAllUpperCase,
+ final boolean isFirstCharCapitalized, final int trailingSingleQuotesCount) {
+ if (!isFirstCharCapitalized && !isAllUpperCase && 0 == trailingSingleQuotesCount) {
+ return wordInfo;
+ }
+ final StringBuilder sb = new StringBuilder(getApproxMaxWordLength());
+ if (isAllUpperCase) {
+ sb.append(wordInfo.mWord.toString().toUpperCase(locale));
+ } else if (isFirstCharCapitalized) {
+ sb.append(StringUtils.toTitleCase(wordInfo.mWord.toString(), locale));
+ } else {
+ sb.append(wordInfo.mWord);
+ }
+ for (int i = trailingSingleQuotesCount - 1; i >= 0; --i) {
+ sb.appendCodePoint(Keyboard.CODE_SINGLE_QUOTE);
+ }
+ return new SuggestedWordInfo(sb, wordInfo.mScore, wordInfo.mKind);
+ }
+
public void close() {
final HashSet<Dictionary> dictionaries = new HashSet<Dictionary>();
dictionaries.addAll(mDictionaries.values());