Merge "Validate spell checker suggestions before applying." into sc-dev

This commit is contained in:
Qi Wang
2021-04-27 06:26:43 +00:00
committed by Android (Google) Code Review

View File

@@ -461,7 +461,7 @@ public class SpellChecker implements SpellCheckerSessionListener {
@Override @Override
public void onGetSentenceSuggestions(SentenceSuggestionsInfo[] results) { public void onGetSentenceSuggestions(SentenceSuggestionsInfo[] results) {
final Editable editable = (Editable) mTextView.getText(); final Editable editable = (Editable) mTextView.getText();
final int sentenceLength = editable.length();
for (int i = 0; i < results.length; ++i) { for (int i = 0; i < results.length; ++i) {
final SentenceSuggestionsInfo ssi = results[i]; final SentenceSuggestionsInfo ssi = results[i];
if (ssi == null) { if (ssi == null) {
@@ -475,6 +475,9 @@ public class SpellChecker implements SpellCheckerSessionListener {
} }
final int offset = ssi.getOffsetAt(j); final int offset = ssi.getOffsetAt(j);
final int length = ssi.getLengthAt(j); final int length = ssi.getLengthAt(j);
if (offset < 0 || offset + length > sentenceLength) {
continue;
}
final SpellCheckSpan scs = onGetSuggestionsInternal( final SpellCheckSpan scs = onGetSuggestionsInternal(
suggestionsInfo, offset, length); suggestionsInfo, offset, length);
if (spellCheckSpan == null && scs != null) { if (spellCheckSpan == null && scs != null) {