From 67c807a1fead456203692fdd92526cf30ad5e1ef Mon Sep 17 00:00:00 2001 From: Orhan Uysal Date: Mon, 20 May 2024 10:08:33 +0000 Subject: [PATCH] Fix activity leak In some occasions, launcher leaks through DesktopVisibilityController and SplitFromDesktopController. Set mDesktopVisibilityController and mSplitSelectStateController to null after their onDestroy() methods are called. Bug: 332339792 Test: m Flag: ACONFIG com.android.window.flags.enable_desktop_windowing_mode TEAMFOOD Change-Id: I66418f30ec5d2735f812ee6e4180f55f67d7b46f --- .../com/android/launcher3/uioverrides/QuickstepLauncher.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java b/quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java index 4184ab27cc..5ffa4b5e87 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java +++ b/quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java @@ -533,16 +533,18 @@ public class QuickstepLauncher extends Launcher implements RecentsViewContainer if (mDesktopVisibilityController != null) { mDesktopVisibilityController.unregisterSystemUiListener(); } + mDesktopVisibilityController = null; if (mSplitSelectStateController != null) { + removeBackAnimationCallback(mSplitSelectStateController.getSplitBackHandler()); mSplitSelectStateController.onDestroy(); } + mSplitSelectStateController = null; super.onDestroy(); mHotseatPredictionController.destroy(); mSplitWithKeyboardShortcutController.onDestroy(); if (mViewCapture != null) mViewCapture.close(); - removeBackAnimationCallback(mSplitSelectStateController.getSplitBackHandler()); } @Override