Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2da9c114 authored by Mady Mellor's avatar Mady Mellor
Browse files

Stash taskbar when bubbles is expanded in overview

Test: manual - have transient taskbar
             - have a bubble
             - go to overview
             - expand bubbles
             => observe that transient taskbar stashes
             - collapse bubbles
             => observe that transient taskbar unstashes

             - verify that expanding bubbles in app and on launcher
               home behaves as expected (stashes taskbar in app and
               don't see taskbar or stashed handle on home)
Bug: 284104811

Change-Id: I3d7057ed651e66ab2a0292725f30153ee4d6d51e
parent d3ed4882
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.launcher3.taskbar;
import static com.android.app.animation.Interpolators.EMPHASIZED;
import static com.android.launcher3.taskbar.TaskbarKeyguardController.MASK_ANY_SYSUI_LOCKED;
import static com.android.launcher3.taskbar.TaskbarStashController.FLAG_IN_APP;
import static com.android.launcher3.taskbar.TaskbarStashController.FLAG_IN_OVERVIEW;
import static com.android.launcher3.taskbar.TaskbarStashController.FLAG_IN_STASHED_LAUNCHER_STATE;
import static com.android.launcher3.taskbar.TaskbarViewController.ALPHA_INDEX_HOME;
import static com.android.launcher3.util.FlagDebugUtils.appendFlag;
@@ -416,6 +417,9 @@ public class TaskbarLauncherStateController {
            controllers.bubbleStashController.setBubblesShowingOnOverview(onOverview);
        });

        mControllers.taskbarStashController.updateStateForFlag(FLAG_IN_OVERVIEW,
                mLauncherState == LauncherState.OVERVIEW);

        AnimatorSet animatorSet = new AnimatorSet();

        if (hasAnyFlag(changedFlags, FLAG_LAUNCHER_IN_STATE_TRANSITION)) {
+6 −2
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ import static com.android.launcher3.taskbar.TaskbarManager.SYSTEM_ACTION_ID_TASK
import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR;
import static com.android.launcher3.util.FlagDebugUtils.appendFlag;
import static com.android.launcher3.util.FlagDebugUtils.formatFlagChange;
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_BUBBLES_EXPANDED;
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_IME_SHOWING;
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_IME_SWITCHER_SHOWING;
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_NOTIFICATION_PANEL_VISIBLE;
@@ -96,6 +97,7 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba
    public static final int FLAG_STASHED_IN_APP_AUTO = 1 << 9; // Autohide (transient taskbar).
    public static final int FLAG_STASHED_SYSUI = 1 << 10; //  app pinning,...
    public static final int FLAG_STASHED_DEVICE_LOCKED = 1 << 11; // device is locked: keyguard, ...
    public static final int FLAG_IN_OVERVIEW = 1 << 12; // launcher is in overview

    // If any of these flags are enabled, isInApp should return true.
    private static final int FLAGS_IN_APP = FLAG_IN_APP | FLAG_IN_SETUP;
@@ -1015,9 +1017,11 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba

        updateStateForFlag(FLAG_STASHED_IN_APP_SYSUI, hasAnyFlag(systemUiStateFlags,
                SYSUI_STATE_NOTIFICATION_PANEL_VISIBLE));
        updateStateForFlag(FLAG_STASHED_SYSUI,
                hasAnyFlag(systemUiStateFlags, SYSUI_STATE_SCREEN_PINNING));

        boolean bubblesOnOverview = hasAnyFlag(FLAG_IN_OVERVIEW)
                && hasAnyFlag(systemUiStateFlags, SYSUI_STATE_BUBBLES_EXPANDED);
        updateStateForFlag(FLAG_STASHED_SYSUI,
                hasAnyFlag(systemUiStateFlags, SYSUI_STATE_SCREEN_PINNING) || bubblesOnOverview);
        boolean isLocked = hasAnyFlag(systemUiStateFlags, MASK_ANY_SYSUI_LOCKED)
                && !hasAnyFlag(systemUiStateFlags, SYSUI_STATE_STATUS_BAR_KEYGUARD_GOING_AWAY);
        updateStateForFlag(FLAG_STASHED_DEVICE_LOCKED, isLocked);