Loading quickstep/src/com/android/launcher3/taskbar/TaskbarAutohideSuspendController.java +14 −6 Original line number Original line Diff line number Diff line Loading @@ -41,8 +41,10 @@ public class TaskbarAutohideSuspendController implements public static final int FLAG_AUTOHIDE_SUSPEND_TOUCHING = 1 << 2; public static final int FLAG_AUTOHIDE_SUSPEND_TOUCHING = 1 << 2; // Taskbar EDU overlay is open above the Taskbar. */ // Taskbar EDU overlay is open above the Taskbar. */ public static final int FLAG_AUTOHIDE_SUSPEND_EDU_OPEN = 1 << 3; public static final int FLAG_AUTOHIDE_SUSPEND_EDU_OPEN = 1 << 3; // Taskbar in immersive mode in overview // Taskbar is in immersive mode in overview. public static final int FLAG_AUTOHIDE_SUSPEND_IN_LAUNCHER = 1 << 4; public static final int FLAG_AUTOHIDE_SUSPEND_IN_LAUNCHER = 1 << 4; // Transient Taskbar is temporarily unstashed (pending a timeout). public static final int FLAG_AUTOHIDE_SUSPEND_TRANSIENT_TASKBAR = 1 << 5; @IntDef(flag = true, value = { @IntDef(flag = true, value = { FLAG_AUTOHIDE_SUSPEND_FULLSCREEN, FLAG_AUTOHIDE_SUSPEND_FULLSCREEN, Loading @@ -50,6 +52,7 @@ public class TaskbarAutohideSuspendController implements FLAG_AUTOHIDE_SUSPEND_TOUCHING, FLAG_AUTOHIDE_SUSPEND_TOUCHING, FLAG_AUTOHIDE_SUSPEND_EDU_OPEN, FLAG_AUTOHIDE_SUSPEND_EDU_OPEN, FLAG_AUTOHIDE_SUSPEND_IN_LAUNCHER, FLAG_AUTOHIDE_SUSPEND_IN_LAUNCHER, FLAG_AUTOHIDE_SUSPEND_TRANSIENT_TASKBAR, }) }) @Retention(RetentionPolicy.SOURCE) @Retention(RetentionPolicy.SOURCE) public @interface AutohideSuspendFlag {} public @interface AutohideSuspendFlag {} Loading Loading @@ -85,18 +88,21 @@ public class TaskbarAutohideSuspendController implements boolean isSuspended = isSuspended(); boolean isSuspended = isSuspended(); mSystemUiProxy.notifyTaskbarAutohideSuspend(isSuspended); mSystemUiProxy.notifyTaskbarAutohideSuspend(isSuspended); mActivity.onTransientAutohideSuspendFlagChanged(isSuspended); mActivity.onTransientAutohideSuspendFlagChanged(isTransientTaskbarStashingSuspended()); } } /** /** * Returns true iff taskbar autohide is currently suspended. * Returns true iff taskbar autohide is currently suspended for immersive mode. */ */ public boolean isSuspended() { private boolean isSuspended() { return mAutohideSuspendFlags != 0; return mAutohideSuspendFlags != 0; } } public boolean isSuspendedForTransientTaskbarInOverview() { /** return (mAutohideSuspendFlags & FLAG_AUTOHIDE_SUSPEND_IN_LAUNCHER) != 0; * Returns whether Transient Taskbar should avoid auto-stashing. */ public boolean isTransientTaskbarStashingSuspended() { return (mAutohideSuspendFlags & ~FLAG_AUTOHIDE_SUSPEND_TRANSIENT_TASKBAR) != 0; } } @Override @Override Loading @@ -115,6 +121,8 @@ public class TaskbarAutohideSuspendController implements appendFlag(str, flags, FLAG_AUTOHIDE_SUSPEND_EDU_OPEN, "FLAG_AUTOHIDE_SUSPEND_EDU_OPEN"); appendFlag(str, flags, FLAG_AUTOHIDE_SUSPEND_EDU_OPEN, "FLAG_AUTOHIDE_SUSPEND_EDU_OPEN"); appendFlag(str, flags, FLAG_AUTOHIDE_SUSPEND_IN_LAUNCHER, appendFlag(str, flags, FLAG_AUTOHIDE_SUSPEND_IN_LAUNCHER, "FLAG_AUTOHIDE_SUSPEND_IN_LAUNCHER"); "FLAG_AUTOHIDE_SUSPEND_IN_LAUNCHER"); appendFlag(str, flags, FLAG_AUTOHIDE_SUSPEND_TRANSIENT_TASKBAR, "FLAG_AUTOHIDE_SUSPEND_TRANSIENT_TASKBAR"); return str.toString(); return str.toString(); } } } } quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java +6 −5 Original line number Original line Diff line number Diff line Loading @@ -508,10 +508,8 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba return; return; } } if (stash && mControllers.taskbarAutohideSuspendController.isSuspended() if (stash && mControllers.taskbarAutohideSuspendController && !mControllers.taskbarAutohideSuspendController .isTransientTaskbarStashingSuspended()) { .isSuspendedForTransientTaskbarInOverview()) { // Avoid stashing if autohide is currently suspended. return; return; } } Loading Loading @@ -1038,6 +1036,9 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba mActivity.getStatsLogManager().logger().log(hasAnyFlag(FLAG_STASHED_IN_APP_AUTO) mActivity.getStatsLogManager().logger().log(hasAnyFlag(FLAG_STASHED_IN_APP_AUTO) ? LAUNCHER_TRANSIENT_TASKBAR_HIDE ? LAUNCHER_TRANSIENT_TASKBAR_HIDE : LAUNCHER_TRANSIENT_TASKBAR_SHOW); : LAUNCHER_TRANSIENT_TASKBAR_SHOW); mControllers.taskbarAutohideSuspendController.updateFlag( TaskbarAutohideSuspendController.FLAG_AUTOHIDE_SUSPEND_TRANSIENT_TASKBAR, !hasAnyFlag(FLAG_STASHED_IN_APP_AUTO)); } } } } Loading Loading @@ -1130,7 +1131,7 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba } } private void onTaskbarTimeout(Alarm alarm) { private void onTaskbarTimeout(Alarm alarm) { if (mControllers.taskbarAutohideSuspendController.isSuspended()) { if (mControllers.taskbarAutohideSuspendController.isTransientTaskbarStashingSuspended()) { return; return; } } updateAndAnimateTransientTaskbar(true); updateAndAnimateTransientTaskbar(true); Loading Loading
quickstep/src/com/android/launcher3/taskbar/TaskbarAutohideSuspendController.java +14 −6 Original line number Original line Diff line number Diff line Loading @@ -41,8 +41,10 @@ public class TaskbarAutohideSuspendController implements public static final int FLAG_AUTOHIDE_SUSPEND_TOUCHING = 1 << 2; public static final int FLAG_AUTOHIDE_SUSPEND_TOUCHING = 1 << 2; // Taskbar EDU overlay is open above the Taskbar. */ // Taskbar EDU overlay is open above the Taskbar. */ public static final int FLAG_AUTOHIDE_SUSPEND_EDU_OPEN = 1 << 3; public static final int FLAG_AUTOHIDE_SUSPEND_EDU_OPEN = 1 << 3; // Taskbar in immersive mode in overview // Taskbar is in immersive mode in overview. public static final int FLAG_AUTOHIDE_SUSPEND_IN_LAUNCHER = 1 << 4; public static final int FLAG_AUTOHIDE_SUSPEND_IN_LAUNCHER = 1 << 4; // Transient Taskbar is temporarily unstashed (pending a timeout). public static final int FLAG_AUTOHIDE_SUSPEND_TRANSIENT_TASKBAR = 1 << 5; @IntDef(flag = true, value = { @IntDef(flag = true, value = { FLAG_AUTOHIDE_SUSPEND_FULLSCREEN, FLAG_AUTOHIDE_SUSPEND_FULLSCREEN, Loading @@ -50,6 +52,7 @@ public class TaskbarAutohideSuspendController implements FLAG_AUTOHIDE_SUSPEND_TOUCHING, FLAG_AUTOHIDE_SUSPEND_TOUCHING, FLAG_AUTOHIDE_SUSPEND_EDU_OPEN, FLAG_AUTOHIDE_SUSPEND_EDU_OPEN, FLAG_AUTOHIDE_SUSPEND_IN_LAUNCHER, FLAG_AUTOHIDE_SUSPEND_IN_LAUNCHER, FLAG_AUTOHIDE_SUSPEND_TRANSIENT_TASKBAR, }) }) @Retention(RetentionPolicy.SOURCE) @Retention(RetentionPolicy.SOURCE) public @interface AutohideSuspendFlag {} public @interface AutohideSuspendFlag {} Loading Loading @@ -85,18 +88,21 @@ public class TaskbarAutohideSuspendController implements boolean isSuspended = isSuspended(); boolean isSuspended = isSuspended(); mSystemUiProxy.notifyTaskbarAutohideSuspend(isSuspended); mSystemUiProxy.notifyTaskbarAutohideSuspend(isSuspended); mActivity.onTransientAutohideSuspendFlagChanged(isSuspended); mActivity.onTransientAutohideSuspendFlagChanged(isTransientTaskbarStashingSuspended()); } } /** /** * Returns true iff taskbar autohide is currently suspended. * Returns true iff taskbar autohide is currently suspended for immersive mode. */ */ public boolean isSuspended() { private boolean isSuspended() { return mAutohideSuspendFlags != 0; return mAutohideSuspendFlags != 0; } } public boolean isSuspendedForTransientTaskbarInOverview() { /** return (mAutohideSuspendFlags & FLAG_AUTOHIDE_SUSPEND_IN_LAUNCHER) != 0; * Returns whether Transient Taskbar should avoid auto-stashing. */ public boolean isTransientTaskbarStashingSuspended() { return (mAutohideSuspendFlags & ~FLAG_AUTOHIDE_SUSPEND_TRANSIENT_TASKBAR) != 0; } } @Override @Override Loading @@ -115,6 +121,8 @@ public class TaskbarAutohideSuspendController implements appendFlag(str, flags, FLAG_AUTOHIDE_SUSPEND_EDU_OPEN, "FLAG_AUTOHIDE_SUSPEND_EDU_OPEN"); appendFlag(str, flags, FLAG_AUTOHIDE_SUSPEND_EDU_OPEN, "FLAG_AUTOHIDE_SUSPEND_EDU_OPEN"); appendFlag(str, flags, FLAG_AUTOHIDE_SUSPEND_IN_LAUNCHER, appendFlag(str, flags, FLAG_AUTOHIDE_SUSPEND_IN_LAUNCHER, "FLAG_AUTOHIDE_SUSPEND_IN_LAUNCHER"); "FLAG_AUTOHIDE_SUSPEND_IN_LAUNCHER"); appendFlag(str, flags, FLAG_AUTOHIDE_SUSPEND_TRANSIENT_TASKBAR, "FLAG_AUTOHIDE_SUSPEND_TRANSIENT_TASKBAR"); return str.toString(); return str.toString(); } } } }
quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java +6 −5 Original line number Original line Diff line number Diff line Loading @@ -508,10 +508,8 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba return; return; } } if (stash && mControllers.taskbarAutohideSuspendController.isSuspended() if (stash && mControllers.taskbarAutohideSuspendController && !mControllers.taskbarAutohideSuspendController .isTransientTaskbarStashingSuspended()) { .isSuspendedForTransientTaskbarInOverview()) { // Avoid stashing if autohide is currently suspended. return; return; } } Loading Loading @@ -1038,6 +1036,9 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba mActivity.getStatsLogManager().logger().log(hasAnyFlag(FLAG_STASHED_IN_APP_AUTO) mActivity.getStatsLogManager().logger().log(hasAnyFlag(FLAG_STASHED_IN_APP_AUTO) ? LAUNCHER_TRANSIENT_TASKBAR_HIDE ? LAUNCHER_TRANSIENT_TASKBAR_HIDE : LAUNCHER_TRANSIENT_TASKBAR_SHOW); : LAUNCHER_TRANSIENT_TASKBAR_SHOW); mControllers.taskbarAutohideSuspendController.updateFlag( TaskbarAutohideSuspendController.FLAG_AUTOHIDE_SUSPEND_TRANSIENT_TASKBAR, !hasAnyFlag(FLAG_STASHED_IN_APP_AUTO)); } } } } Loading Loading @@ -1130,7 +1131,7 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba } } private void onTaskbarTimeout(Alarm alarm) { private void onTaskbarTimeout(Alarm alarm) { if (mControllers.taskbarAutohideSuspendController.isSuspended()) { if (mControllers.taskbarAutohideSuspendController.isTransientTaskbarStashingSuspended()) { return; return; } } updateAndAnimateTransientTaskbar(true); updateAndAnimateTransientTaskbar(true); Loading