Show hotseat instead of stashed taskbar handle after entering stage split from fullscreen app via keyboard shortcut
Besides finishing the recents animation from fullscreen app, we also need to update the taskbar state
Fixes: 323561157
Test: Go to a fullscreen app, trigger the split shortcut, make sure the hotseat icons are visible on the home screen
Change-Id: I36f47846ed0bc7f7036ae22452a28efc9cb09bc7
diff --git a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java
index e1b6494..37e5309 100644
--- a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java
@@ -253,6 +253,11 @@
return mTaskbarLauncherStateController.createAnimToLauncher(toState, callbacks, duration);
}
+ public void updateTaskbarLauncherStateGoingHome() {
+ mTaskbarLauncherStateController.updateStateForFlag(FLAG_VISIBLE, true);
+ mTaskbarLauncherStateController.applyState();
+ }
+
public boolean isDraggingItem() {
return mControllers.taskbarDragController.isDragging();
}
diff --git a/quickstep/src/com/android/quickstep/util/SplitWithKeyboardShortcutController.java b/quickstep/src/com/android/quickstep/util/SplitWithKeyboardShortcutController.java
index caffab1..555bf21 100644
--- a/quickstep/src/com/android/quickstep/util/SplitWithKeyboardShortcutController.java
+++ b/quickstep/src/com/android/quickstep/util/SplitWithKeyboardShortcutController.java
@@ -35,6 +35,7 @@
import com.android.launcher3.R;
import com.android.launcher3.anim.PendingAnimation;
+import com.android.launcher3.taskbar.LauncherTaskbarUIController;
import com.android.launcher3.uioverrides.QuickstepLauncher;
import com.android.quickstep.OverviewComponentObserver;
import com.android.quickstep.RecentsAnimationCallbacks;
@@ -150,7 +151,16 @@
anim.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationStart(Animator animation) {
- controller.finish(true /* toRecents */, null /* onFinishComplete */,
+ controller.finish(
+ true /* toRecents */,
+ () -> {
+ LauncherTaskbarUIController controller =
+ mLauncher.getTaskbarUIController();
+ if (controller != null) {
+ controller.updateTaskbarLauncherStateGoingHome();
+ }
+
+ },
false /* sendUserLeaveHint */);
}