aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/DictionaryFacilitatorForSuggest.java
diff options
context:
space:
mode:
authorKeisuke Kuroyanagi <ksk@google.com>2014-01-27 23:38:09 -0800
committerAndroid Git Automerger <android-git-automerger@android.com>2014-01-27 23:38:09 -0800
commit927437177dc643f78271bc8910d7a6d059aa92c4 (patch)
tree9f6ac1faca36b85e320564c6aa31eba5e1b26e7b /java/src/com/android/inputmethod/latin/DictionaryFacilitatorForSuggest.java
parenta2129ea38bf66fb97e20d272466dfbb3062b4cec (diff)
parent25270ec5405a8221a2e69acf86d70e46783be56d (diff)
downloadlatinime-927437177dc643f78271bc8910d7a6d059aa92c4.tar.gz
latinime-927437177dc643f78271bc8910d7a6d059aa92c4.tar.xz
latinime-927437177dc643f78271bc8910d7a6d059aa92c4.zip
am 25270ec5: Merge "Check probability before adding to the user history dict."
* commit '25270ec5405a8221a2e69acf86d70e46783be56d': Check probability before adding to the user history dict.
Diffstat (limited to 'java/src/com/android/inputmethod/latin/DictionaryFacilitatorForSuggest.java')
-rw-r--r--java/src/com/android/inputmethod/latin/DictionaryFacilitatorForSuggest.java25
1 files changed, 24 insertions, 1 deletions
diff --git a/java/src/com/android/inputmethod/latin/DictionaryFacilitatorForSuggest.java b/java/src/com/android/inputmethod/latin/DictionaryFacilitatorForSuggest.java
index fb9517220..8a8a45f35 100644
--- a/java/src/com/android/inputmethod/latin/DictionaryFacilitatorForSuggest.java
+++ b/java/src/com/android/inputmethod/latin/DictionaryFacilitatorForSuggest.java
@@ -44,6 +44,10 @@ import java.util.concurrent.TimeUnit;
public class DictionaryFacilitatorForSuggest {
public static final String TAG = DictionaryFacilitatorForSuggest.class.getSimpleName();
+ // HACK: This threshold is being used when adding a capitalized entry in the User History
+ // dictionary.
+ private static final int CAPITALIZED_FORM_MAX_PROBABILITY_FOR_INSERT = 140;
+
private final Context mContext;
public final Locale mLocale;
@@ -389,7 +393,26 @@ public class DictionaryFacilitatorForSuggest {
if (maxFreq == 0) {
return;
}
- final String secondWord = wasAutoCapitalized ? suggestion.toLowerCase(mLocale) : suggestion;
+ final String suggestionLowerCase = suggestion.toLowerCase(mLocale);
+ final String secondWord;
+ if (wasAutoCapitalized) {
+ secondWord = suggestionLowerCase;
+ } else {
+ // HACK: We'd like to avoid adding the capitalized form of common words to the User
+ // History dictionary in order to avoid suggesting them until the dictionary
+ // consolidation is done.
+ // TODO: Remove this hack when ready.
+ final int lowerCasefreqInMainDict = mMainDictionary != null ?
+ mMainDictionary.getFrequency(suggestionLowerCase) :
+ Dictionary.NOT_A_PROBABILITY;
+ if (maxFreq < lowerCasefreqInMainDict
+ && lowerCasefreqInMainDict >= CAPITALIZED_FORM_MAX_PROBABILITY_FOR_INSERT) {
+ // Use lower cased word as the word can be a distracter of the popular word.
+ secondWord = suggestionLowerCase;
+ } else {
+ secondWord = suggestion;
+ }
+ }
// We demote unrecognized words (frequency < 0, below) by specifying them as "invalid".
// We don't add words with 0-frequency (assuming they would be profanity etc.).
final boolean isValid = maxFreq > 0;