From 9330d4991e5ec4e1af49dbd2a0a878e81518f647 Mon Sep 17 00:00:00 2001 From: Pat Manning Date: Mon, 27 Mar 2023 16:23:14 +0100 Subject: [PATCH] Stash taskbar on swipe to go home for 3p fallback launcher. Follow up to b/21916480, which was reverted due to test failures which are now fixed. Fix: 269070986 Test: manual. Install launcher3WithoutQuickstepDebug and swipe to home from within an app. Change-Id: I52fad88a25325e5c38a600ccf90b30ebf60bf71a --- .../taskbar/FallbackTaskbarUIController.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/quickstep/src/com/android/launcher3/taskbar/FallbackTaskbarUIController.java b/quickstep/src/com/android/launcher3/taskbar/FallbackTaskbarUIController.java index c165750db8..ed4a212590 100644 --- a/quickstep/src/com/android/launcher3/taskbar/FallbackTaskbarUIController.java +++ b/quickstep/src/com/android/launcher3/taskbar/FallbackTaskbarUIController.java @@ -15,6 +15,7 @@ */ package com.android.launcher3.taskbar; +import static com.android.launcher3.Utilities.isRunningInTestHarness; import static com.android.launcher3.taskbar.TaskbarStashController.FLAG_IN_APP; import static com.android.launcher3.taskbar.TaskbarStashController.FLAG_IN_STASHED_LAUNCHER_STATE; @@ -80,10 +81,13 @@ public class FallbackTaskbarUIController extends TaskbarUIController { * Currently this animation just force stashes the taskbar in Overview. */ public Animator createAnimToRecentsState(RecentsState toState, long duration) { - boolean useStashedLauncherState = toState.hasOverviewActions(); - boolean stashedLauncherState = - useStashedLauncherState && FeatureFlags.ENABLE_GRID_ONLY_OVERVIEW.get() - && toState == RecentsState.MODAL_TASK; + // Force stash the taskbar in overview modal state or when going home. We do not force + // stash on home when running in a test as 3p launchers rely on taskbar instead of hotseat. + boolean isGoingHome = toState == RecentsState.HOME && !isRunningInTestHarness(); + boolean useStashedLauncherState = toState.hasOverviewActions() || isGoingHome; + boolean stashedLauncherState = useStashedLauncherState && ( + (FeatureFlags.ENABLE_GRID_ONLY_OVERVIEW.get() && toState == RecentsState.MODAL_TASK) + || isGoingHome); TaskbarStashController stashController = mControllers.taskbarStashController; // Set both FLAG_IN_STASHED_LAUNCHER_STATE and FLAG_IN_APP to ensure the state is respected. // For all other states, just use the current stashed-in-app setting (e.g. if long clicked).