Stop auto-correcting non-whitelisted one-char strings
Bug: 7134017 Change-Id: I75cf474dedafda3e1683dd8f7740c13aafdcf5ab
This commit is contained in:
parent
2935276110
commit
8c06a468e0
2 changed files with 7 additions and 5 deletions
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue