diff options
| -rw-r--r-- | core/java/android/widget/TextView.java | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index cde36c83ee9c..899da3384c8b 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -9188,19 +9188,23 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener return true; case ID_CUT: - setPrimaryClip(ClipData.newPlainText(null, mTransformed.subSequence(min, max))); + setPrimaryClip(ClipData.newPlainText(null, getTransformedText(min, max))); ((Editable) mText).delete(min, max); stopSelectionActionMode(); return true; case ID_COPY: - setPrimaryClip(ClipData.newPlainText(null, mTransformed.subSequence(min, max))); + setPrimaryClip(ClipData.newPlainText(null, getTransformedText(min, max))); stopSelectionActionMode(); return true; } return false; } + private CharSequence getTransformedText(int start, int end) { + return removeSuggestionSpans(mTransformed.subSequence(start, end)); + } + /** * Prepare text so that there are not zero or two spaces at beginning and end of region defined * by [min, max] when replacing this region by paste. @@ -9317,7 +9321,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener // Start a drag final int start = getSelectionStart(); final int end = getSelectionEnd(); - CharSequence selectedText = mTransformed.subSequence(start, end); + CharSequence selectedText = getTransformedText(start, end); ClipData data = ClipData.newPlainText(null, selectedText); DragLocalState localState = new DragLocalState(this, start, end); startDrag(data, getTextThumbnailBuilder(selectedText), localState, 0); |