From a1d0d8269ccc35b56dc4ca3d6922070fc2257ed5 Mon Sep 17 00:00:00 2001 From: Vinit Nayak Date: Thu, 27 Jul 2023 14:11:27 -0700 Subject: [PATCH] Remove split instructions view on split launch success * We weren't removing the instance of the view that is created when split initiated from workspace * Fewer bugs like this once RecentsView + workspace instructions view are consolidated Bug: 292590703 Flag: ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE Test: Swiping to home after split apps launch hides the view Change-Id: I6b5037c024e6e0c456b687bc802076f691a955b2 --- .../com/android/launcher3/uioverrides/QuickstepLauncher.java | 2 ++ .../com/android/quickstep/util/SplitAnimationController.kt | 5 +++++ .../android/quickstep/util/SplitToWorkspaceController.java | 1 + quickstep/src/com/android/quickstep/views/RecentsView.java | 2 ++ 4 files changed, 10 insertions(+) diff --git a/quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java b/quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java index ffd22b89e2..1e1bff3340 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java +++ b/quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java @@ -664,6 +664,8 @@ public class QuickstepLauncher extends Launcher { @Override public void onAnimationCancel(Animator animation) { getDragLayer().removeView(floatingTaskView); + mSplitSelectStateController.getSplitAnimationController() + .removeSplitInstructionsView(QuickstepLauncher.this); mSplitSelectStateController.resetState(); } }); diff --git a/quickstep/src/com/android/quickstep/util/SplitAnimationController.kt b/quickstep/src/com/android/quickstep/util/SplitAnimationController.kt index 56d68570ac..bcb9cecb1d 100644 --- a/quickstep/src/com/android/quickstep/util/SplitAnimationController.kt +++ b/quickstep/src/com/android/quickstep/util/SplitAnimationController.kt @@ -265,6 +265,11 @@ class SplitAnimationController(val splitSelectStateController: SplitSelectStateC return anim } + /** Removes the split instructions view from [launcher] drag layer. */ + fun removeSplitInstructionsView(launcher: StatefulActivity<*>) { + safeRemoveViewFromDragLayer(launcher, splitInstructionsView) + } + private fun safeRemoveViewFromDragLayer(launcher: StatefulActivity<*>, view: View?) { if (view != null) { launcher.dragLayer.removeView(view) diff --git a/quickstep/src/com/android/quickstep/util/SplitToWorkspaceController.java b/quickstep/src/com/android/quickstep/util/SplitToWorkspaceController.java index 148a45a386..b36cf5f5b4 100644 --- a/quickstep/src/com/android/quickstep/util/SplitToWorkspaceController.java +++ b/quickstep/src/com/android/quickstep/util/SplitToWorkspaceController.java @@ -169,6 +169,7 @@ public class SplitToWorkspaceController { private void cleanUp() { mLauncher.getDragLayer().removeView(firstFloatingTaskView); mLauncher.getDragLayer().removeView(secondFloatingTaskView); + mController.getSplitAnimationController().removeSplitInstructionsView(mLauncher); mController.resetState(); } }); diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java index a21bbe10f2..4da979e673 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java @@ -4823,6 +4823,8 @@ public abstract class RecentsView