Hide taskbar content while dreaming.

When entering the dreaming state, the TaskbarDragLayer is faded out.
Upon wake up, a slight delay is added to  allow the SFPS reader to do
its magic, so the lockscreen-navbar does not pop-in just to be removed
again.

Bug: 271440683
Bug: 275319714
Fixes: 271440683
Test: manual (http://shortn/_cQudGXDSDU)
Change-Id: I34e02f02288bace39626d531d115fc994b11f371
This commit is contained in:
Mike Schneider
2023-03-31 13:13:59 +02:00
parent 2ebfc41966
commit f0f94f2ed9
4 changed files with 105 additions and 11 deletions

View File

@@ -505,9 +505,16 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba
}
/**
* Stash or unstashes the transient taskbar.
* Stash or unstashes the transient taskbar, using the default TASKBAR_STASH_DURATION.
*/
public void updateAndAnimateTransientTaskbar(boolean stash) {
updateAndAnimateTransientTaskbar(stash, TASKBAR_STASH_DURATION);
}
/**
* Stash or unstashes the transient taskbar.
*/
public void updateAndAnimateTransientTaskbar(boolean stash, long duration) {
if (!DisplayController.isTransientTaskbar(mActivity)) {
return;
}
@@ -945,16 +952,8 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba
hasAnyFlag(systemUiStateFlags, SYSUI_STATE_SCREEN_PINNING));
boolean isLocked = hasAnyFlag(systemUiStateFlags, MASK_ANY_SYSUI_LOCKED);
boolean wasLocked = hasAnyFlag(FLAG_STASHED_DEVICE_LOCKED);
updateStateForFlag(FLAG_STASHED_DEVICE_LOCKED, isLocked);
if (isLocked && !wasLocked && DisplayController.isTransientTaskbar(mActivity)) {
// Stash the transient taskbar when locking the device. This improves the transition
// to AoD (otherwise the taskbar stays a bit too long above the collapsing AoD scrim),
// and ensures the taskar state is reset when unlocking the device afterwards.
updateStateForFlag(FLAG_STASHED_IN_APP_AUTO, true);
}
// Only update FLAG_STASHED_IN_APP_IME when system gesture is not in progress.
mIsImeShowing = hasAnyFlag(systemUiStateFlags, SYSUI_STATE_IME_SHOWING);
mIsImeSwitcherShowing = hasAnyFlag(systemUiStateFlags, SYSUI_STATE_IME_SWITCHER_SHOWING);