Animate status bar alpha during dream<->lockscreen transitions.

Bug: 283123378
Test: atest KeyguardTransitionScenariosTest, NotificationPanelViewControllerTest
Change-Id: Ic20f42ee009ca44f14e257c460e929b96e54c15e
This commit is contained in:
Will Leshner
2023-08-07 14:52:32 -07:00
parent 55517baec0
commit 3b00da2769

View File

@@ -1118,7 +1118,8 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump
collectFlow(mView, mKeyguardTransitionInteractor.getDreamingToLockscreenTransition(),
mDreamingToLockscreenTransition, mMainDispatcher);
collectFlow(mView, mDreamingToLockscreenTransitionViewModel.getLockscreenAlpha(),
setTransitionAlpha(mNotificationStackScrollLayoutController), mMainDispatcher);
setDreamLockscreenTransitionAlpha(mNotificationStackScrollLayoutController),
mMainDispatcher);
collectFlow(mView, mDreamingToLockscreenTransitionViewModel.lockscreenTranslationY(
mDreamingToLockscreenTransitionTranslationY),
setTransitionY(mNotificationStackScrollLayoutController), mMainDispatcher);
@@ -1154,7 +1155,8 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump
collectFlow(mView, mKeyguardTransitionInteractor.getLockscreenToDreamingTransition(),
mLockscreenToDreamingTransition, mMainDispatcher);
collectFlow(mView, mLockscreenToDreamingTransitionViewModel.getLockscreenAlpha(),
setTransitionAlpha(mNotificationStackScrollLayoutController), mMainDispatcher);
setDreamLockscreenTransitionAlpha(mNotificationStackScrollLayoutController),
mMainDispatcher);
collectFlow(mView, mLockscreenToDreamingTransitionViewModel.lockscreenTranslationY(
mLockscreenToDreamingTransitionTranslationY),
setTransitionY(mNotificationStackScrollLayoutController), mMainDispatcher);
@@ -4718,6 +4720,16 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump
mCurrentPanelState = state;
}
private Consumer<Float> setDreamLockscreenTransitionAlpha(
NotificationStackScrollLayoutController stackScroller) {
return (Float alpha) -> {
// Also animate the status bar's alpha during transitions between the lockscreen and
// dreams.
mKeyguardStatusBarViewController.setAlpha(alpha);
setTransitionAlpha(stackScroller).accept(alpha);
};
}
private Consumer<Float> setTransitionAlpha(
NotificationStackScrollLayoutController stackScroller) {
return (Float alpha) -> {