Merge "Stop offering "Replace..." when there are no suggestions." into mnc-dev

This commit is contained in:
Keisuke Kuroyanagi
2015-06-04 06:06:48 +00:00
committed by Android (Google) Code Review

View File

@@ -1843,12 +1843,18 @@ public class Editor {
}
if (selectionStart == selectionEnd) {
// Spans overlap the cursor.
return true;
for (int i = 0; i < suggestionSpans.length; i++) {
if (suggestionSpans[i].getSuggestions().length > 0) {
return true;
}
}
return false;
}
int minSpanStart = mTextView.getText().length();
int maxSpanEnd = 0;
int unionOfSpansCoveringSelectionStartStart = mTextView.getText().length();
int unionOfSpansCoveringSelectionStartEnd = 0;
boolean hasValidSuggestions = false;
for (int i = 0; i < suggestionSpans.length; i++) {
final int spanStart = spannable.getSpanStart(suggestionSpans[i]);
final int spanEnd = spannable.getSpanEnd(suggestionSpans[i]);
@@ -1858,11 +1864,16 @@ public class Editor {
// The span doesn't cover the current selection start point.
continue;
}
hasValidSuggestions =
hasValidSuggestions || suggestionSpans[i].getSuggestions().length > 0;
unionOfSpansCoveringSelectionStartStart =
Math.min(unionOfSpansCoveringSelectionStartStart, spanStart);
unionOfSpansCoveringSelectionStartEnd =
Math.max(unionOfSpansCoveringSelectionStartEnd, spanEnd);
}
if (!hasValidSuggestions) {
return false;
}
if (unionOfSpansCoveringSelectionStartStart >= unionOfSpansCoveringSelectionStartEnd) {
// No spans cover the selection start point.
return false;