Cut out a method for clarity
Change-Id: I1dc668698a5cd840297e713a26a525f5e32d35d6main
parent
0131170da9
commit
ec8b27fe49
|
@ -427,26 +427,38 @@ public class Suggest {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
final StringBuilder sb = new StringBuilder(getApproxMaxWordLength());
|
final SuggestedWordInfo transformedWordInfo = getTransformedSuggestedWordInfo(wordInfo,
|
||||||
if (mIsAllUpperCase) {
|
mLocale, mIsAllUpperCase, mIsFirstCharCapitalized, mTrailingSingleQuotesCount);
|
||||||
sb.append(word.toString().toUpperCase(mLocale));
|
suggestions.add(pos, transformedWordInfo);
|
||||||
} 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));
|
|
||||||
if (suggestions.size() > prefMaxSuggestions) {
|
if (suggestions.size() > prefMaxSuggestions) {
|
||||||
suggestions.remove(prefMaxSuggestions);
|
suggestions.remove(prefMaxSuggestions);
|
||||||
} else {
|
} else {
|
||||||
LatinImeLogger.onAddSuggestedWord(sb.toString(), dicTypeId, dataTypeForLog);
|
LatinImeLogger.onAddSuggestedWord(transformedWordInfo.mWord.toString(), dicTypeId,
|
||||||
|
dataTypeForLog);
|
||||||
}
|
}
|
||||||
return true;
|
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() {
|
public void close() {
|
||||||
final HashSet<Dictionary> dictionaries = new HashSet<Dictionary>();
|
final HashSet<Dictionary> dictionaries = new HashSet<Dictionary>();
|
||||||
dictionaries.addAll(mDictionaries.values());
|
dictionaries.addAll(mDictionaries.values());
|
||||||
|
|
Loading…
Reference in New Issue