diff --git a/quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java b/quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java index 98fd44bc22..b444b49436 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java +++ b/quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java @@ -471,6 +471,10 @@ public class QuickstepLauncher extends Launcher { mDesktopVisibilityController.unregisterSystemUiListener(); } + if (mSplitSelectStateController != null) { + mSplitSelectStateController.onDestroy(); + } + super.onDestroy(); mHotseatPredictionController.destroy(); mSplitWithKeyboardShortcutController.onDestroy(); diff --git a/quickstep/src/com/android/quickstep/RecentsActivity.java b/quickstep/src/com/android/quickstep/RecentsActivity.java index 2e1a62c372..1d2902cbc8 100644 --- a/quickstep/src/com/android/quickstep/RecentsActivity.java +++ b/quickstep/src/com/android/quickstep/RecentsActivity.java @@ -393,7 +393,7 @@ public final class RecentsActivity extends StatefulActivity { super.onDestroy(); ACTIVITY_TRACKER.onActivityDestroyed(this); mActivityLaunchAnimationRunner = null; - + mSplitSelectStateController.onDestroy(); mTISBindHelper.onDestroy(); } diff --git a/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java b/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java index 0c897663f5..6d5aa169ab 100644 --- a/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java +++ b/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java @@ -113,7 +113,7 @@ import java.util.function.Consumer; public class SplitSelectStateController { private static final String TAG = "SplitSelectStateCtor"; - private final Context mContext; + private Context mContext; private final Handler mHandler; private final RecentsModel mRecentTasksModel; private final SplitAnimationController mSplitAnimationController; @@ -157,6 +157,10 @@ public class SplitSelectStateController { mSplitSelectDataHolder = new SplitSelectDataHolder(mContext); } + public void onDestroy() { + mContext = null; + } + /** * @param alreadyRunningTask if set to {@link android.app.ActivityTaskManager#INVALID_TASK_ID} * then @param intent will be used to launch the initial task