parent
f5b55cb70c
commit
24a63b5537
|
@ -92,7 +92,8 @@ public class AutoCorrection {
|
||||||
public static boolean suggestionExceedsAutoCorrectionThreshold(SuggestedWordInfo suggestion,
|
public static boolean suggestionExceedsAutoCorrectionThreshold(SuggestedWordInfo suggestion,
|
||||||
CharSequence consideredWord, float autoCorrectionThreshold) {
|
CharSequence consideredWord, float autoCorrectionThreshold) {
|
||||||
if (null != suggestion) {
|
if (null != suggestion) {
|
||||||
//final int autoCorrectionSuggestionScore = sortedScores[0];
|
// Shortlist a whitelisted word
|
||||||
|
if (suggestion.mKind == SuggestedWordInfo.KIND_WHITELIST) return true;
|
||||||
final int autoCorrectionSuggestionScore = suggestion.mScore;
|
final int autoCorrectionSuggestionScore = suggestion.mScore;
|
||||||
// TODO: when the normalized score of the first suggestion is nearly equals to
|
// TODO: when the normalized score of the first suggestion is nearly equals to
|
||||||
// the normalized score of the second suggestion, behave less aggressive.
|
// the normalized score of the second suggestion, behave less aggressive.
|
||||||
|
|
|
@ -205,6 +205,12 @@ public class Suggest {
|
||||||
|
|
||||||
final CharSequence whitelistedWord =
|
final CharSequence whitelistedWord =
|
||||||
mWhiteListDictionary.getWhitelistedWord(consideredWord);
|
mWhiteListDictionary.getWhitelistedWord(consideredWord);
|
||||||
|
if (whitelistedWord != null) {
|
||||||
|
// MAX_SCORE ensures this will be considered strong enough to be auto-corrected
|
||||||
|
suggestionsSet.add(new SuggestedWordInfo(whitelistedWord,
|
||||||
|
SuggestedWordInfo.MAX_SCORE, SuggestedWordInfo.KIND_WHITELIST,
|
||||||
|
Dictionary.TYPE_WHITELIST));
|
||||||
|
}
|
||||||
|
|
||||||
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
|
||||||
|
@ -222,8 +228,6 @@ public class Suggest {
|
||||||
// would always auto-correct to "Will" which is unwanted. Hence, no main dict => no
|
// would always auto-correct to "Will" which is unwanted. Hence, no main dict => no
|
||||||
// auto-correct.
|
// auto-correct.
|
||||||
hasAutoCorrection = false;
|
hasAutoCorrection = false;
|
||||||
} else if (null != whitelistedWord) {
|
|
||||||
hasAutoCorrection = true;
|
|
||||||
} else if (suggestionsSet.isEmpty()) {
|
} else if (suggestionsSet.isEmpty()) {
|
||||||
hasAutoCorrection = false;
|
hasAutoCorrection = false;
|
||||||
} else if (AutoCorrection.suggestionExceedsAutoCorrectionThreshold(suggestionsSet.first(),
|
} else if (AutoCorrection.suggestionExceedsAutoCorrectionThreshold(suggestionsSet.first(),
|
||||||
|
@ -233,12 +237,6 @@ public class Suggest {
|
||||||
hasAutoCorrection = false;
|
hasAutoCorrection = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (whitelistedWord != null) {
|
|
||||||
suggestionsSet.add(new SuggestedWordInfo(whitelistedWord,
|
|
||||||
SuggestedWordInfo.MAX_SCORE, SuggestedWordInfo.KIND_WHITELIST,
|
|
||||||
Dictionary.TYPE_WHITELIST));
|
|
||||||
}
|
|
||||||
|
|
||||||
final ArrayList<SuggestedWordInfo> suggestionsContainer =
|
final ArrayList<SuggestedWordInfo> suggestionsContainer =
|
||||||
new ArrayList<SuggestedWordInfo>(suggestionsSet);
|
new ArrayList<SuggestedWordInfo>(suggestionsSet);
|
||||||
final int suggestionsCount = suggestionsContainer.size();
|
final int suggestionsCount = suggestionsContainer.size();
|
||||||
|
|
Loading…
Reference in New Issue