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
diff --git a/quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java b/quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java
index 4184ab2..5ffa4b5 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java
@@ -533,16 +533,18 @@
         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