From 74e7b26a1099b5531096512adf190157c563fd48 Mon Sep 17 00:00:00 2001 From: Roozbeh Pournader Date: Wed, 17 May 2017 15:04:45 -0700 Subject: [PATCH] In onDragEvent(), don't assume text is Spannable Previously, onDragEvent() tried to set the anchor even if the text was not Spannable. Now we check to make sure it is Spannable before trying to set the selection. Test: cts-tradefed run cts-dev --module CtsTextTestCases Change-Id: I835bf3d6024bf3c85e1d248458829eef496ad93d Fixes: 37261326 --- core/java/android/widget/TextView.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index 77f27d983e171..8542bec0113ba 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -11227,8 +11227,10 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener return true; case DragEvent.ACTION_DRAG_LOCATION: - final int offset = getOffsetForPosition(event.getX(), event.getY()); - Selection.setSelection((Spannable) mText, offset); + if (mText instanceof Spannable) { + final int offset = getOffsetForPosition(event.getX(), event.getY()); + Selection.setSelection((Spannable) mText, offset); + } return true; case DragEvent.ACTION_DROP: