Merge "Stop auto-correcting non-whitelisted one-char strings" into jb-mr1-dev
commit
b0c693d005
|
@ -73,11 +73,11 @@ public class AutoCorrection {
|
||||||
return maxFreq;
|
return maxFreq;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns true if this isn't in any dictionary.
|
// Returns true if this is in any of the dictionaries.
|
||||||
public static boolean isNotAWord(
|
public static boolean isInTheDictionary(
|
||||||
final ConcurrentHashMap<String, Dictionary> dictionaries,
|
final ConcurrentHashMap<String, Dictionary> dictionaries,
|
||||||
final CharSequence word, final boolean ignoreCase) {
|
final CharSequence word, final boolean ignoreCase) {
|
||||||
return !isValidWord(dictionaries, word, ignoreCase);
|
return isValidWord(dictionaries, word, ignoreCase);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean suggestionExceedsAutoCorrectionThreshold(SuggestedWordInfo suggestion,
|
public static boolean suggestionExceedsAutoCorrectionThreshold(SuggestedWordInfo suggestion,
|
||||||
|
|
|
@ -214,10 +214,12 @@ public class Suggest {
|
||||||
whitelistedWord = suggestionsSet.first().mWord;
|
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
|
final boolean allowsToBeAutoCorrected = (null != whitelistedWord
|
||||||
&& !whitelistedWord.equals(consideredWord))
|
&& !whitelistedWord.equals(consideredWord))
|
||||||
|| AutoCorrection.isNotAWord(mDictionaries, consideredWord,
|
|| (consideredWord.length() > 1 && !AutoCorrection.isInTheDictionary(mDictionaries,
|
||||||
wordComposer.isFirstCharCapitalized());
|
consideredWord, wordComposer.isFirstCharCapitalized()));
|
||||||
|
|
||||||
final boolean hasAutoCorrection;
|
final boolean hasAutoCorrection;
|
||||||
// TODO: using isCorrectionEnabled here is not very good. It's probably useless, because
|
// TODO: using isCorrectionEnabled here is not very good. It's probably useless, because
|
||||||
|
|
Loading…
Reference in New Issue