diff options
-rw-r--r-- | quickstep/recents_ui_overrides/src/com/android/quickstep/LauncherActivityControllerHelper.java | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/LauncherActivityControllerHelper.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/LauncherActivityControllerHelper.java index 3d2659d54..61d329b25 100644 --- a/quickstep/recents_ui_overrides/src/com/android/quickstep/LauncherActivityControllerHelper.java +++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/LauncherActivityControllerHelper.java @@ -117,9 +117,11 @@ public final class LauncherActivityControllerHelper implements ActivityControlHe workspaceView = null; } final Rect iconLocation = new Rect(); - final FloatingIconView floatingView = workspaceView == null ? null - : FloatingIconView.getFloatingIconView(activity, workspaceView, - true /* hideOriginal */, iconLocation, false /* isOpening */, null /* recycle */); + boolean canUseWorkspaceView = workspaceView != null && workspaceView.isAttachedToWindow(); + final FloatingIconView floatingView = canUseWorkspaceView + ? FloatingIconView.getFloatingIconView(activity, workspaceView, + true /* hideOriginal */, iconLocation, false /* isOpening */, null /* recycle */) + : null; return new HomeAnimationFactory() { @Nullable @@ -135,7 +137,7 @@ public final class LauncherActivityControllerHelper implements ActivityControlHe final float targetCenterX = dp.availableWidthPx / 2f; final float targetCenterY = dp.availableHeightPx - dp.hotseatBarSizePx; - if (workspaceView != null) { + if (canUseWorkspaceView) { return new RectF(iconLocation); } else { // Fallback to animate to center of screen. |