diff options
author | 2012-09-11 01:34:51 -0700 | |
---|---|---|
committer | 2012-09-11 01:34:52 -0700 | |
commit | b0c693d005761dc2d2c2e323cc0456bac9a33297 (patch) | |
tree | 793e04672c28d8aaf84905dd8192088f5a53e554 /java/src | |
parent | 040f1c50bf2d105b75cb61cac883d6955b955f8e (diff) | |
parent | 8c06a468e0bffa5cedc7d782be4754da70d9a657 (diff) | |
download | latinime-b0c693d005761dc2d2c2e323cc0456bac9a33297.tar.gz latinime-b0c693d005761dc2d2c2e323cc0456bac9a33297.tar.xz latinime-b0c693d005761dc2d2c2e323cc0456bac9a33297.zip |
Merge "Stop auto-correcting non-whitelisted one-char strings" into jb-mr1-dev
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/com/android/inputmethod/latin/AutoCorrection.java | 6 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/latin/Suggest.java | 6 |
2 files changed, 7 insertions, 5 deletions
diff --git a/java/src/com/android/inputmethod/latin/AutoCorrection.java b/java/src/com/android/inputmethod/latin/AutoCorrection.java index 01ba30077..f425e360a 100644 --- a/java/src/com/android/inputmethod/latin/AutoCorrection.java +++ b/java/src/com/android/inputmethod/latin/AutoCorrection.java @@ -73,11 +73,11 @@ public class AutoCorrection { return maxFreq; } - // Returns true if this isn't in any dictionary. - public static boolean isNotAWord( + // Returns true if this is in any of the dictionaries. + public static boolean isInTheDictionary( final ConcurrentHashMap<String, Dictionary> dictionaries, final CharSequence word, final boolean ignoreCase) { - return !isValidWord(dictionaries, word, ignoreCase); + return isValidWord(dictionaries, word, ignoreCase); } public static boolean suggestionExceedsAutoCorrectionThreshold(SuggestedWordInfo suggestion, diff --git a/java/src/com/android/inputmethod/latin/Suggest.java b/java/src/com/android/inputmethod/latin/Suggest.java index 51ed09604..f922bc9e0 100644 --- a/java/src/com/android/inputmethod/latin/Suggest.java +++ b/java/src/com/android/inputmethod/latin/Suggest.java @@ -214,10 +214,12 @@ public class Suggest { whitelistedWord = suggestionsSet.first().mWord; } + // The word can be auto-corrected if it has a whitelist entry that is not itself, + // or if it's a 2+ characters non-word (i.e. it's not in the dictionary). final boolean allowsToBeAutoCorrected = (null != whitelistedWord && !whitelistedWord.equals(consideredWord)) - || AutoCorrection.isNotAWord(mDictionaries, consideredWord, - wordComposer.isFirstCharCapitalized()); + || (consideredWord.length() > 1 && !AutoCorrection.isInTheDictionary(mDictionaries, + consideredWord, wordComposer.isFirstCharCapitalized())); final boolean hasAutoCorrection; // TODO: using isCorrectionEnabled here is not very good. It's probably useless, because |