diff --git a/quickstep/src/com/android/launcher3/taskbar/FallbackTaskbarUIController.java b/quickstep/src/com/android/launcher3/taskbar/FallbackTaskbarUIController.java index 5b1e8593a1..2a73d61cd5 100644 --- a/quickstep/src/com/android/launcher3/taskbar/FallbackTaskbarUIController.java +++ b/quickstep/src/com/android/launcher3/taskbar/FallbackTaskbarUIController.java @@ -88,10 +88,6 @@ public class FallbackTaskbarUIController @Override protected void onDestroy() { super.onDestroy(); - RecentsView recentsView = getRecentsView(); - if (recentsView != null) { - recentsView.setTaskLaunchListener(null); - } mRecentsContainer.setTaskbarUIController(null); mRecentsContainer.getStateManager().removeStateListener(mStateListener); } diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java index a6abe2a2da..9b9733922d 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java @@ -1108,6 +1108,7 @@ public class TaskbarLauncherStateController { RecentsView recentsView = mControllers.uiController.getRecentsView(); if (recentsView != null) { recentsView.setTaskLaunchListener(null); + recentsView.setTaskLaunchCancelledRunnable(null); } if (mSkipNextRecentsAnimEnd && !canceled) { diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarUIController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarUIController.java index 179b294495..6167b24fd8 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarUIController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarUIController.java @@ -72,6 +72,11 @@ public class TaskbarUIController implements BubbleBarController.BubbleBarLocatio @CallSuper protected void onDestroy() { mControllers = null; + RecentsView recentsView = getRecentsView(); + if (recentsView != null) { + recentsView.setTaskLaunchListener(null); + recentsView.setTaskLaunchCancelledRunnable(null); + } } protected boolean isTaskbarTouchable() { diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java index fce60aec44..9372cfb150 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java @@ -1290,6 +1290,7 @@ public abstract class RecentsView< if (mDesktopVisibilityController != null) { mDesktopVisibilityController.unregisterDesktopVisibilityListener(mUtils); } + mTaskLaunchListener = null; mOnTaskLaunchCancelledRunnable = null; reset(); }