From 2552cc78ede7bbb2bbefa2b105a2fb0565864949 Mon Sep 17 00:00:00 2001 From: Orhan Uysal Date: Thu, 16 May 2024 09:04:01 +0000 Subject: [PATCH] Set the listeners to null on unregister In some occasions, launcher leaks through DesktopVisibilityController and SplitFromDesktopController. It seems that we don't set the listeners to null after we unregister which might be the reason why they hold on to the launcher activity. Bug: 332339792 Test: m Flag: ACONFIG com.android.window.flags.enable_desktop_windowing_mode TEAMFOOD Change-Id: If52ae87cec959264109e59b1144679183c8fedcc --- .../launcher3/statehandlers/DesktopVisibilityController.java | 1 + .../com/android/quickstep/util/SplitSelectStateController.java | 1 + 2 files changed, 2 insertions(+) diff --git a/quickstep/src/com/android/launcher3/statehandlers/DesktopVisibilityController.java b/quickstep/src/com/android/launcher3/statehandlers/DesktopVisibilityController.java index 9eabb55897..55d34567c7 100644 --- a/quickstep/src/com/android/launcher3/statehandlers/DesktopVisibilityController.java +++ b/quickstep/src/com/android/launcher3/statehandlers/DesktopVisibilityController.java @@ -111,6 +111,7 @@ public class DesktopVisibilityController { */ public void unregisterSystemUiListener() { SystemUiProxy.INSTANCE.get(mLauncher).setDesktopTaskListener(null); + mDesktopTaskListener = null; } /** diff --git a/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java b/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java index df1879efa8..7e7c79430d 100644 --- a/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java +++ b/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java @@ -983,6 +983,7 @@ public class SplitSelectStateController { void onDestroy() { SystemUiProxy.INSTANCE.get(mLauncher).unregisterSplitSelectListener( mSplitSelectListener); + mSplitSelectListener = null; } /**