diff options
| author | 2016-06-13 11:31:03 -0700 | |
|---|---|---|
| committer | 2016-06-13 11:32:23 -0700 | |
| commit | 07452c37abf6cabb91c55ccad3e7f08f73e759ee (patch) | |
| tree | 1dade7fda46150c0c485b4d42f1e7dcc97888bf3 | |
| parent | a86d6c4df3b193060b4b725e1abfed4f69689843 (diff) | |
Check for detached view in drag-related APIs
Bug: 29253539
Change-Id: I26285404ee15bb17e87ac23c67f7c3c6aaa2d968
| -rw-r--r-- | core/java/android/view/View.java | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 88605db0408a..5f6ee09bf2ac 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -20538,6 +20538,10 @@ public class View implements Drawable.Callback, KeyEvent.Callback, if (ViewDebug.DEBUG_DRAG) { Log.d(VIEW_LOG_TAG, "startDragAndDrop: data=" + data + " flags=" + flags); } + if (mAttachInfo == null) { + Log.w(VIEW_LOG_TAG, "startDragAndDrop called on a detached view."); + return false; + } boolean okay = false; Point shadowSize = new Point(); @@ -20614,6 +20618,10 @@ public class View implements Drawable.Callback, KeyEvent.Callback, if (ViewDebug.DEBUG_DRAG) { Log.d(VIEW_LOG_TAG, "cancelDragAndDrop"); } + if (mAttachInfo == null) { + Log.w(VIEW_LOG_TAG, "cancelDragAndDrop called on a detached view."); + return; + } if (mAttachInfo.mDragToken != null) { try { mAttachInfo.mSession.cancelDragAndDrop(mAttachInfo.mDragToken); @@ -20636,6 +20644,10 @@ public class View implements Drawable.Callback, KeyEvent.Callback, if (ViewDebug.DEBUG_DRAG) { Log.d(VIEW_LOG_TAG, "updateDragShadow"); } + if (mAttachInfo == null) { + Log.w(VIEW_LOG_TAG, "updateDragShadow called on a detached view."); + return; + } if (mAttachInfo.mDragToken != null) { try { Canvas canvas = mAttachInfo.mDragSurface.lockCanvas(null); |