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

Commit 3b00da27 authored by Will Leshner's avatar Will Leshner
Browse files

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

Bug: 283123378
Test: atest KeyguardTransitionScenariosTest, NotificationPanelViewControllerTest
Change-Id: Ic20f42ee009ca44f14e257c460e929b96e54c15e
parent 55517bae
Loading
Loading
Loading
Loading
+14 −2
Original line number Diff line number Diff line
@@ -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) -> {