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

Commit 3fbaaf96 authored by Jagrut Desai's avatar Jagrut Desai
Browse files

Prevent Taskbar from stashing in immersive mode overview.

Test: Visual, Video in Buganizer
Bug: 262589756
Change-Id: Ifbdfb3a4104817e5f50833c42c3c6fc5964388b7
parent 73a2334f
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -41,12 +41,15 @@ public class TaskbarAutohideSuspendController implements
    public static final int FLAG_AUTOHIDE_SUSPEND_TOUCHING = 1 << 2;
    // Taskbar EDU overlay is open above the Taskbar. */
    public static final int FLAG_AUTOHIDE_SUSPEND_EDU_OPEN = 1 << 3;
    // Taskbar in immersive mode in overview
    public static final int FLAG_AUTOHIDE_SUSPEND_IN_LAUNCHER = 1 << 4;

    @IntDef(flag = true, value = {
            FLAG_AUTOHIDE_SUSPEND_FULLSCREEN,
            FLAG_AUTOHIDE_SUSPEND_DRAGGING,
            FLAG_AUTOHIDE_SUSPEND_TOUCHING,
            FLAG_AUTOHIDE_SUSPEND_EDU_OPEN,
            FLAG_AUTOHIDE_SUSPEND_IN_LAUNCHER,
    })
    @Retention(RetentionPolicy.SOURCE)
    public @interface AutohideSuspendFlag {}
@@ -92,6 +95,10 @@ public class TaskbarAutohideSuspendController implements
        return mAutohideSuspendFlags != 0;
    }

    public boolean isSuspendedForTransientTaskbarInOverview() {
        return (mAutohideSuspendFlags & FLAG_AUTOHIDE_SUSPEND_IN_LAUNCHER) != 0;
    }

    @Override
    public void dumpLogs(String prefix, PrintWriter pw) {
        pw.println(prefix + "TaskbarAutohideSuspendController:");
@@ -106,6 +113,8 @@ public class TaskbarAutohideSuspendController implements
        appendFlag(str, flags, FLAG_AUTOHIDE_SUSPEND_DRAGGING, "FLAG_AUTOHIDE_SUSPEND_DRAGGING");
        appendFlag(str, flags, FLAG_AUTOHIDE_SUSPEND_TOUCHING, "FLAG_AUTOHIDE_SUSPEND_TOUCHING");
        appendFlag(str, flags, FLAG_AUTOHIDE_SUSPEND_EDU_OPEN, "FLAG_AUTOHIDE_SUSPEND_EDU_OPEN");
        appendFlag(str, flags, FLAG_AUTOHIDE_SUSPEND_IN_LAUNCHER,
                "FLAG_AUTOHIDE_SUSPEND_IN_LAUNCHER");
        return str.toString();
    }
}
+5 −1
Original line number Diff line number Diff line
@@ -460,7 +460,9 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba
            return;
        }

        if (stash && mControllers.taskbarAutohideSuspendController.isSuspended()) {
        if (stash && mControllers.taskbarAutohideSuspendController.isSuspended()
                && !mControllers.taskbarAutohideSuspendController
                .isSuspendedForTransientTaskbarInOverview()) {
            // Avoid stashing if autohide is currently suspended.
            return;
        }
@@ -955,6 +957,8 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba
        if (hasAnyFlag(changedFlags, FLAGS_STASHED_IN_APP | FLAGS_IN_APP)) {
            notifyStashChange(/* visible */ hasAnyFlag(FLAGS_IN_APP),
                            /* stashed */ isStashedInApp());
            mControllers.taskbarAutohideSuspendController.updateFlag(
                    TaskbarAutohideSuspendController.FLAG_AUTOHIDE_SUSPEND_IN_LAUNCHER, !isInApp());
        }
        if (hasAnyFlag(changedFlags, FLAG_STASHED_IN_APP_MANUAL)) {
            if (hasAnyFlag(FLAG_STASHED_IN_APP_MANUAL)) {