diff --git a/src/com/android/launcher3/views/FloatingIconView.java b/src/com/android/launcher3/views/FloatingIconView.java index dc3ee43548..0a800c3c6e 100644 --- a/src/com/android/launcher3/views/FloatingIconView.java +++ b/src/com/android/launcher3/views/FloatingIconView.java @@ -564,6 +564,12 @@ public class FloatingIconView extends FrameLayout implements launcher, parent); view.recycle(); + // Init properties before getting the drawable. + view.mIsVerticalBarLayout = launcher.getDeviceProfile().isVerticalBarLayout(); + view.mIsOpening = isOpening; + view.mOriginalIcon = originalView; + view.mPositionOut = positionOut; + // Get the drawable on the background thread boolean shouldLoadIcon = originalView.getTag() instanceof ItemInfo && hideOriginal; if (shouldLoadIcon) { @@ -577,11 +583,6 @@ public class FloatingIconView extends FrameLayout implements } sIconLoadResult = null; - view.mIsVerticalBarLayout = launcher.getDeviceProfile().isVerticalBarLayout(); - view.mIsOpening = isOpening; - view.mOriginalIcon = originalView; - view.mPositionOut = positionOut; - // Match the position of the original view. view.matchPositionOf(launcher, originalView, isOpening, positionOut); @@ -639,6 +640,7 @@ public class FloatingIconView extends FrameLayout implements mLoadIconSignal = null; mEndRunnable = null; mFinalDrawableBounds.setEmpty(); + mIsOpening = false; mPositionOut = null; mListenerView.setListener(null); mOriginalIcon = null;