diff options
| author | 2016-03-15 06:47:09 +0000 | |
|---|---|---|
| committer | 2016-03-15 06:47:10 +0000 | |
| commit | 794f70f1728123608a2bcbf2a508b31b79a931b2 (patch) | |
| tree | 602e1da5a8309bcb247d2e0ca5b7a209a78a9cc8 | |
| parent | 3e540b95d751c19c846ee209a0ce425700fef203 (diff) | |
| parent | 6e0860d9596314230bb9bcbe2e82467b0251ab9a (diff) | |
Merge "Add a check for misspelled span change." into nyc-dev
| -rw-r--r-- | core/java/android/widget/Editor.java | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/core/java/android/widget/Editor.java b/core/java/android/widget/Editor.java index c5fb1cee54d6..749d6214a9c6 100644 --- a/core/java/android/widget/Editor.java +++ b/core/java/android/widget/Editor.java @@ -3284,10 +3284,18 @@ public class Editor { com.android.internal.R.id.addToDictionaryButton); mAddToDictionaryButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { + final SuggestionSpan misspelledSpan = + findEquivalentSuggestionSpan(mMisspelledSpanInfo); + if (misspelledSpan == null) { + // Span has been removed. + return; + } final Editable editable = (Editable) mTextView.getText(); - final int spanStart = editable.getSpanStart( - mMisspelledSpanInfo.mSuggestionSpan); - final int spanEnd = editable.getSpanEnd(mMisspelledSpanInfo.mSuggestionSpan); + final int spanStart = editable.getSpanStart(misspelledSpan); + final int spanEnd = editable.getSpanEnd(misspelledSpan); + if (spanStart < 0 || spanEnd <= spanStart) { + return; + } final String originalText = TextUtils.substring(editable, spanStart, spanEnd); final Intent intent = new Intent(Settings.ACTION_USER_DICTIONARY_INSERT); |