aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2012-06-28 15:20:52 +0900
committerJean Chalard <jchalard@google.com>2012-06-29 12:54:11 +0900
commit5110e2cb5115bc7d8337a63427b895eeb74c9cd5 (patch)
tree56ecaebff509708f6902d454572b18fff4b4b3c2 /java/src
parent8fcd7694ae34e9dd30f3bfaf682ded566f40847d (diff)
downloadlatinime-5110e2cb5115bc7d8337a63427b895eeb74c9cd5.tar.gz
latinime-5110e2cb5115bc7d8337a63427b895eeb74c9cd5.tar.xz
latinime-5110e2cb5115bc7d8337a63427b895eeb74c9cd5.zip
Optimization (A8)
Change-Id: I2b9e8cc6a13fd9af84a5189e4d3fbb2b05c68d46
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/latin/Suggest.java22
1 files changed, 13 insertions, 9 deletions
diff --git a/java/src/com/android/inputmethod/latin/Suggest.java b/java/src/com/android/inputmethod/latin/Suggest.java
index f4f82f9c5..b02de9a4a 100644
--- a/java/src/com/android/inputmethod/latin/Suggest.java
+++ b/java/src/com/android/inputmethod/latin/Suggest.java
@@ -245,13 +245,20 @@ public class Suggest {
final ArrayList<SuggestedWordInfo> suggestionsContainer =
new ArrayList<SuggestedWordInfo>(suggestionsSet);
- for (int i = 0; i < suggestionsContainer.size(); ++i) {
+ final int suggestionsCount = suggestionsContainer.size();
+ if (isFirstCharCapitalized || isAllUpperCase || 0 != trailingSingleQuotesCount) {
+ for (int i = 0; i < suggestionsCount; ++i) {
+ final SuggestedWordInfo wordInfo = suggestionsContainer.get(i);
+ final SuggestedWordInfo transformedWordInfo = getTransformedSuggestedWordInfo(
+ wordInfo, mLocale, isAllUpperCase, isFirstCharCapitalized,
+ trailingSingleQuotesCount);
+ suggestionsContainer.set(i, transformedWordInfo);
+ }
+ }
+
+ for (int i = 0; i < suggestionsCount; ++i) {
final SuggestedWordInfo wordInfo = suggestionsContainer.get(i);
- final SuggestedWordInfo transformedWordInfo = getTransformedSuggestedWordInfo(wordInfo,
- mLocale, isAllUpperCase, isFirstCharCapitalized, trailingSingleQuotesCount);
- suggestionsContainer.set(i, transformedWordInfo);
- LatinImeLogger.onAddSuggestedWord(transformedWordInfo.mWord.toString(),
- transformedWordInfo.mSourceDict);
+ LatinImeLogger.onAddSuggestedWord(wordInfo.mWord.toString(), wordInfo.mSourceDict);
}
if (!isPrediction) {
@@ -347,9 +354,6 @@ public class Suggest {
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));