From fe9da818cde4d8be9903ad6ff42c7248ad54d822 Mon Sep 17 00:00:00 2001 From: Adam Cohen Date: Mon, 4 Aug 2014 17:08:01 -0700 Subject: [PATCH] Fix for issue 16736964 Change-Id: If150db98346fe10f62fc1160309b66d7a19e9022 --- .../android/launcher3/DeleteDropTarget.java | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/com/android/launcher3/DeleteDropTarget.java b/src/com/android/launcher3/DeleteDropTarget.java index 22c10935fc..fbdd7eb8c7 100644 --- a/src/com/android/launcher3/DeleteDropTarget.java +++ b/src/com/android/launcher3/DeleteDropTarget.java @@ -129,11 +129,15 @@ public class DeleteDropTarget extends ButtonDropTarget { } private void setHoverColor() { - mCurrentDrawable.startTransition(mTransitionDuration); + if (mCurrentDrawable != null) { + mCurrentDrawable.startTransition(mTransitionDuration); + } setTextColor(mHoverColor); } private void resetHoverColor() { - mCurrentDrawable.resetTransition(); + if (mCurrentDrawable != null) { + mCurrentDrawable.resetTransition(); + } setTextColor(mOriginalTextColor); } @@ -242,8 +246,11 @@ public class DeleteDropTarget extends ButtonDropTarget { final DragLayer dragLayer = mLauncher.getDragLayer(); final Rect from = new Rect(); dragLayer.getViewRectRelativeToSelf(d.dragView, from); + + int width = mCurrentDrawable == null ? 0 : mCurrentDrawable.getIntrinsicWidth(); + int height = mCurrentDrawable == null ? 0 : mCurrentDrawable.getIntrinsicHeight(); final Rect to = getIconRect(d.dragView.getMeasuredWidth(), d.dragView.getMeasuredHeight(), - mCurrentDrawable.getIntrinsicWidth(), mCurrentDrawable.getIntrinsicHeight()); + width, height); final float scale = (float) to.width() / from.width(); mSearchDropTargetBar.deferOnDragEnd(); @@ -364,8 +371,11 @@ public class DeleteDropTarget extends ButtonDropTarget { */ private AnimatorUpdateListener createFlingToTrashAnimatorListener(final DragLayer dragLayer, DragObject d, PointF vel, ViewConfiguration config) { + + int width = mCurrentDrawable == null ? 0 : mCurrentDrawable.getIntrinsicWidth(); + int height = mCurrentDrawable == null ? 0 : mCurrentDrawable.getIntrinsicHeight(); final Rect to = getIconRect(d.dragView.getMeasuredWidth(), d.dragView.getMeasuredHeight(), - mCurrentDrawable.getIntrinsicWidth(), mCurrentDrawable.getIntrinsicHeight()); + width, height); final Rect from = new Rect(); dragLayer.getViewRectRelativeToSelf(d.dragView, from);