am d631651b: Avoid the removal of high-ranking exactly typed candidates.

* commit 'd631651b1291aef52bdd6ea7caaf9b95c9704506':
  Avoid the removal of high-ranking exactly typed candidates.
main
Jean Chalard 2011-03-15 23:54:31 -07:00 committed by Android Git Automerger
commit 027992afdc
1 changed files with 14 additions and 1 deletions

View File

@ -454,7 +454,20 @@ public class Suggest implements Dictionary.WordCallback {
// Check if it's the same word, only caps are different
if (compareCaseInsensitive(mLowerOriginalWord, word, offset, length)) {
pos = 0;
// TODO: remove this surrounding if clause and move this logic to
// getSuggestedWordBuilder.
if (suggestions.size() > 0) {
final String currentHighestWordLowerCase =
suggestions.get(0).toString().toLowerCase();
// 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 (compareCaseInsensitive(currentHighestWordLowerCase, word, offset, length)
&& freq <= priorities[0]) {
pos = 1;
}
}
} else {
if (dataType == Dictionary.DataType.UNIGRAM) {
// Check if the word was already added before (by bigram data)