Move some treatment to a more sensical place.
It makes more sense to catch words with the safety net in updateSuggestions() than in showSuggestions(). Also, it's useless to do it in updateBigramPredictions, because the result will always be provably false. This will also help with writing unit tests. Change-Id: Ifab81e6c5a74b1aa75cf85ef7742fee69a98f5ce
This commit is contained in:
parent
9b01890254
commit
895b70b8af
1 changed files with 6 additions and 6 deletions
|
@ -1827,18 +1827,18 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
|
|||
builder.addTypedWordAndPreviousSuggestions(typedWord, previousSuggestions);
|
||||
}
|
||||
}
|
||||
final SuggestedWords suggestedWords = builder.build();
|
||||
if (Utils.shouldBlockAutoCorrectionBySafetyNet(suggestedWords, mSuggest)) {
|
||||
suggestedWords.setShouldBlockAutoCorrectionBySatefyNet();
|
||||
}
|
||||
showSuggestions(builder.build(), typedWord);
|
||||
}
|
||||
|
||||
public void showSuggestions(final SuggestedWords suggestedWords, final CharSequence typedWord) {
|
||||
final boolean shouldBlockAutoCorrectionBySafetyNet =
|
||||
Utils.shouldBlockAutoCorrectionBySafetyNet(suggestedWords, mSuggest);
|
||||
if (shouldBlockAutoCorrectionBySafetyNet) {
|
||||
suggestedWords.setShouldBlockAutoCorrectionBySatefyNet();
|
||||
}
|
||||
final CharSequence autoCorrection;
|
||||
if (suggestedWords.size() > 0) {
|
||||
if (!shouldBlockAutoCorrectionBySafetyNet && suggestedWords.hasAutoCorrectionWord()) {
|
||||
if (!suggestedWords.shouldBlockAutoCorrectionBySafetyNet()
|
||||
&& suggestedWords.hasAutoCorrectionWord()) {
|
||||
autoCorrection = suggestedWords.getWord(1);
|
||||
} else {
|
||||
autoCorrection = typedWord;
|
||||
|
|
Loading…
Reference in a new issue