Unstash taskbar when transitioning to fallback overview.

Update LauncherInstrumentation taskbar visibility check to include assertions in fallback launcher using OverviewObject instead of LauncherObject.

Fix: 253042501
Test: manual
Change-Id: I9f2aa228e8aa97ef8ca1a4535b7f8fcded8a4572
This commit is contained in:
Pat Manning
2022-10-13 13:18:36 +01:00
parent 126d178358
commit e1100b904d
5 changed files with 93 additions and 63 deletions

View File

@@ -21,6 +21,7 @@ import static com.android.launcher3.taskbar.TaskbarStashController.TASKBAR_STASH
import android.animation.Animator;
import com.android.launcher3.config.FeatureFlags;
import com.android.launcher3.statemanager.StateManager;
import com.android.quickstep.RecentsActivity;
import com.android.quickstep.fallback.RecentsState;
@@ -70,12 +71,14 @@ public class FallbackTaskbarUIController extends TaskbarUIController {
* Currently this animation just force stashes the taskbar in Overview.
*/
public Animator createAnimToRecentsState(RecentsState toState, long duration) {
boolean forceStashed = toState.hasOverviewActions();
boolean useStashedLauncherState = toState.hasOverviewActions();
boolean stashedLauncherState =
useStashedLauncherState && !FeatureFlags.ENABLE_TASKBAR_IN_OVERVIEW.get();
TaskbarStashController controller = 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).
controller.updateStateForFlag(FLAG_IN_STASHED_LAUNCHER_STATE, forceStashed);
controller.updateStateForFlag(FLAG_IN_APP, !forceStashed);
controller.updateStateForFlag(FLAG_IN_STASHED_LAUNCHER_STATE, stashedLauncherState);
controller.updateStateForFlag(FLAG_IN_APP, !useStashedLauncherState);
return controller.applyStateWithoutStart(duration);
}