Merge "Spell checker underlines words even when there are no suggestions" into jb-dev

This commit is contained in:
Gilles Debunne
2012-05-09 11:49:08 -07:00
committed by Android (Google) Code Review

View File

@ -427,12 +427,6 @@ public class SpellChecker implements SpellCheckerSessionListener {
if (spellCheckSpanStart < 0 || spellCheckSpanEnd <= spellCheckSpanStart) if (spellCheckSpanStart < 0 || spellCheckSpanEnd <= spellCheckSpanStart)
return; // span was removed in the meantime return; // span was removed in the meantime
final int suggestionsCount = suggestionsInfo.getSuggestionsCount();
if (suggestionsCount <= 0) {
// A negative suggestion count is possible
return;
}
final int start; final int start;
final int end; final int end;
if (offset != USE_SPAN_RANGE && length != USE_SPAN_RANGE) { if (offset != USE_SPAN_RANGE && length != USE_SPAN_RANGE) {
@ -443,9 +437,15 @@ public class SpellChecker implements SpellCheckerSessionListener {
end = spellCheckSpanEnd; end = spellCheckSpanEnd;
} }
String[] suggestions = new String[suggestionsCount]; final int suggestionsCount = suggestionsInfo.getSuggestionsCount();
for (int i = 0; i < suggestionsCount; i++) { String[] suggestions;
suggestions[i] = suggestionsInfo.getSuggestionAt(i); if (suggestionsCount > 0) {
suggestions = new String[suggestionsCount];
for (int i = 0; i < suggestionsCount; i++) {
suggestions[i] = suggestionsInfo.getSuggestionAt(i);
}
} else {
suggestions = ArrayUtils.emptyArray(String.class);
} }
SuggestionSpan suggestionSpan = new SuggestionSpan(mTextView.getContext(), suggestions, SuggestionSpan suggestionSpan = new SuggestionSpan(mTextView.getContext(), suggestions,
@ -453,7 +453,7 @@ public class SpellChecker implements SpellCheckerSessionListener {
// TODO: Remove mIsSentenceSpellCheckSupported by extracting an interface // TODO: Remove mIsSentenceSpellCheckSupported by extracting an interface
// to share the logic of word level spell checker and sentence level spell checker // to share the logic of word level spell checker and sentence level spell checker
if (mIsSentenceSpellCheckSupported) { if (mIsSentenceSpellCheckSupported) {
final long key = TextUtils.packRangeInLong(start, end); final Long key = Long.valueOf(TextUtils.packRangeInLong(start, end));
final SuggestionSpan tempSuggestionSpan = mSuggestionSpanCache.get(key); final SuggestionSpan tempSuggestionSpan = mSuggestionSpanCache.get(key);
if (tempSuggestionSpan != null) { if (tempSuggestionSpan != null) {
if (DBG) { if (DBG) {