diff options
Diffstat (limited to 'java/src/com/android/inputmethod/latin/utils')
-rw-r--r-- | java/src/com/android/inputmethod/latin/utils/DistracterFilterCheckingExactMatchesAndSuggestions.java | 24 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/latin/utils/SuggestionResults.java | 14 |
2 files changed, 24 insertions, 14 deletions
diff --git a/java/src/com/android/inputmethod/latin/utils/DistracterFilterCheckingExactMatchesAndSuggestions.java b/java/src/com/android/inputmethod/latin/utils/DistracterFilterCheckingExactMatchesAndSuggestions.java index 56a04a856..09bb03f65 100644 --- a/java/src/com/android/inputmethod/latin/utils/DistracterFilterCheckingExactMatchesAndSuggestions.java +++ b/java/src/com/android/inputmethod/latin/utils/DistracterFilterCheckingExactMatchesAndSuggestions.java @@ -38,6 +38,7 @@ import com.android.inputmethod.latin.DictionaryFacilitator; import com.android.inputmethod.latin.DictionaryFacilitatorLruCache; import com.android.inputmethod.latin.NgramContext; import com.android.inputmethod.latin.RichInputMethodSubtype; +import com.android.inputmethod.latin.SuggestedWords; import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo; import com.android.inputmethod.latin.WordComposer; import com.android.inputmethod.latin.common.StringUtils; @@ -195,8 +196,7 @@ public class DistracterFilterCheckingExactMatchesAndSuggestions implements Distr mDistractersCache.put(cacheKey, Boolean.TRUE); return true; } - final boolean Word = dictionaryFacilitator.isValidWord(testedWord, false /* ignoreCase */); - if (Word) { + if (dictionaryFacilitator.isValidSuggestionWord(testedWord)) { // Valid word is not a distracter. if (DEBUG) { Log.d(TAG, "isDistracter: false (valid word)"); @@ -252,7 +252,9 @@ public class DistracterFilterCheckingExactMatchesAndSuggestions implements Distr suggestionResults = dictionaryFacilitator.getSuggestionResults(composer, NgramContext.EMPTY_PREV_WORDS_INFO, keyboard.getProximityInfo().getNativeProximityInfo(), - settingsValuesForSuggestion, 0 /* sessionId */); + settingsValuesForSuggestion, 0 /* sessionId */, + SuggestedWords.INPUT_STYLE_TYPING, + keyboard.getKeyboardLayout()); } if (suggestionResults.isEmpty()) { return false; @@ -288,14 +290,14 @@ public class DistracterFilterCheckingExactMatchesAndSuggestions implements Distr final Locale locale) { final DictionaryFacilitator dictionaryFacilitator = mDictionaryFacilitatorLruCache.get(locale); - if (dictionaryFacilitator.isValidWord(testedWord, false /* ignoreCase */)) { + if (dictionaryFacilitator.isValidSuggestionWord(testedWord)) { return false; } - final String lowerCaseTargetWord = testedWord.toLowerCase(locale); - if (testedWord.equals(lowerCaseTargetWord)) { + final String lowerCaseWord = testedWord.toLowerCase(locale); + if (testedWord.equals(lowerCaseWord)) { return false; } - if (dictionaryFacilitator.isValidWord(lowerCaseTargetWord, false /* ignoreCase */)) { + if (dictionaryFacilitator.isValidSuggestionWord(lowerCaseWord)) { return true; } if (StringUtils.getCapitalizationType(testedWord) == StringUtils.CAPITALIZE_FIRST @@ -314,10 +316,10 @@ public class DistracterFilterCheckingExactMatchesAndSuggestions implements Distr return HandlingType.getHandlingType(false /* shouldBeLowerCased */, false /* isOov */); } final boolean shouldBeLowerCased = shouldBeLowerCased(ngramContext, testedWord, locale); - final String caseModifiedWord = - shouldBeLowerCased ? testedWord.toLowerCase(locale) : testedWord; - final boolean isOov = !mDictionaryFacilitatorLruCache.get(locale).isValidWord( - caseModifiedWord, false /* ignoreCase */); + final String caseModifiedWord = shouldBeLowerCased + ? testedWord.toLowerCase(locale) : testedWord; + final boolean isOov = !mDictionaryFacilitatorLruCache.get(locale).isValidSuggestionWord( + caseModifiedWord); return HandlingType.getHandlingType(shouldBeLowerCased, isOov); } } diff --git a/java/src/com/android/inputmethod/latin/utils/SuggestionResults.java b/java/src/com/android/inputmethod/latin/utils/SuggestionResults.java index b319aeb8a..10e3994b6 100644 --- a/java/src/com/android/inputmethod/latin/utils/SuggestionResults.java +++ b/java/src/com/android/inputmethod/latin/utils/SuggestionResults.java @@ -33,14 +33,21 @@ public final class SuggestionResults extends TreeSet<SuggestedWordInfo> { // TODO: Instead of a boolean , we may want to include the context of this suggestion results, // such as {@link NgramContext}. public final boolean mIsBeginningOfSentence; + public final boolean mAutocorrectRecommendation; private final int mCapacity; public SuggestionResults(final int capacity, final boolean isBeginningOfSentence) { - this(sSuggestedWordInfoComparator, capacity, isBeginningOfSentence); + this(sSuggestedWordInfoComparator, capacity, isBeginningOfSentence, false); } - private SuggestionResults(final Comparator<SuggestedWordInfo> comparator, - final int capacity, final boolean isBeginningOfSentence) { + public SuggestionResults(final int capacity, final boolean isBeginningOfSentence, + final boolean autocorrectRecommendation) { + this(sSuggestedWordInfoComparator, capacity, isBeginningOfSentence, + autocorrectRecommendation); + } + + private SuggestionResults(final Comparator<SuggestedWordInfo> comparator, final int capacity, + final boolean isBeginningOfSentence, final boolean autocorrectRecommendation) { super(comparator); mCapacity = capacity; if (ProductionFlags.INCLUDE_RAW_SUGGESTIONS) { @@ -49,6 +56,7 @@ public final class SuggestionResults extends TreeSet<SuggestedWordInfo> { mRawSuggestions = null; } mIsBeginningOfSentence = isBeginningOfSentence; + mAutocorrectRecommendation = autocorrectRecommendation; } @Override |