aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2012-06-26 20:40:42 +0900
committerJean Chalard <jchalard@google.com>2012-06-26 20:40:42 +0900
commit7e49a2b6b8ad341d467d47adf45c58d22f4a05c6 (patch)
treeafa67985a4a5713f48de060885ae1f4c7a4675cc /java/src
parent22657dcba07fc54919020119408cb71d187a14fd (diff)
downloadlatinime-7e49a2b6b8ad341d467d47adf45c58d22f4a05c6.tar.gz
latinime-7e49a2b6b8ad341d467d47adf45c58d22f4a05c6.tar.xz
latinime-7e49a2b6b8ad341d467d47adf45c58d22f4a05c6.zip
Remove some special casing
This special casing is useless. If the word is the same as what user typed, the scoring algorithm already ensures that it comes out at the top. Actually, as is written in a comment here, code executed later is actively relying on this suggestion having the top score ! There is no need to test it for equalness and inserting it at the top then. Change-Id: I263a6de59b77ec72a2dcbb933361b8e16fca0681
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/latin/Suggest.java37
1 files changed, 10 insertions, 27 deletions
diff --git a/java/src/com/android/inputmethod/latin/Suggest.java b/java/src/com/android/inputmethod/latin/Suggest.java
index 851066de5..5858427ef 100644
--- a/java/src/com/android/inputmethod/latin/Suggest.java
+++ b/java/src/com/android/inputmethod/latin/Suggest.java
@@ -394,34 +394,17 @@ public class Suggest {
final int score = wordInfo.mScore;
int pos = 0;
- // Check if it's the same word, only caps are different
- if (StringUtils.equalsIgnoreCase(consideredWord, word)) {
- // TODO: remove this surrounding if clause and move this logic to
- // getSuggestedWordBuilder.
- if (suggestions.size() > 0) {
- final SuggestedWordInfo currentHighestWord = suggestions.get(0);
- // If the current highest word is also equal to typed word, we need to compare
- // frequency to determine the insertion position. This does not ensure strictly
- // correct ordering, but ensures the top score is on top which is enough for
- // removing duplicates correctly.
- if (StringUtils.equalsIgnoreCase(currentHighestWord.mWord, word)
- && score <= currentHighestWord.mScore) {
- pos = 1;
- }
- }
- } else {
- // Check the last one's score and bail
- if (suggestions.size() >= prefMaxSuggestions
- && suggestions.get(prefMaxSuggestions - 1).mScore >= score) return true;
- final int length = wordInfo.mCodePointCount;
- while (pos < suggestions.size()) {
- final int curScore = suggestions.get(pos).mScore;
- if (curScore < score
- || (curScore == score && length < suggestions.get(pos).mCodePointCount)) {
- break;
- }
- pos++;
+ // Check the last one's score and bail
+ if (suggestions.size() >= prefMaxSuggestions
+ && suggestions.get(prefMaxSuggestions - 1).mScore >= score) return true;
+ final int length = wordInfo.mCodePointCount;
+ while (pos < suggestions.size()) {
+ final int curScore = suggestions.get(pos).mScore;
+ if (curScore < score
+ || (curScore == score && length < suggestions.get(pos).mCodePointCount)) {
+ break;
}
+ pos++;
}
if (pos >= prefMaxSuggestions) {
return true;