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

Commit 3bdf5b80 authored by Chandru S's avatar Chandru S
Browse files

Makes sure that notifications are visible on shade behind the bouncer

Fixes: 385364857
Test: unit tests
Flag: com.android.systemui.bouncer_ui_revamp
Test: verified manually, open bouncer from notification shade, notifications should not be hidden
Change-Id: I1f61bcb7b2505b6fce911252e2177ce4dccb91f3
parent 86c2a00f
Loading
Loading
Loading
Loading
+22 −0
Original line number Original line Diff line number Diff line
@@ -74,6 +74,28 @@ class AlternateBouncerToPrimaryBouncerTransitionViewModelTest : SysuiTestCase()
            values.forEach { assertThat(it).isEqualTo(0f) }
            values.forEach { assertThat(it).isEqualTo(0f) }
        }
        }


    @Test
    @EnableFlags(FLAG_BOUNCER_UI_REVAMP)
    @BrokenWithSceneContainer(388068805)
    fun notifications_areFullyVisible_whenShadeIsOpen() =
        testScope.runTest {
            val values by collectValues(underTest.notificationAlpha)
            kosmos.bouncerWindowBlurTestUtil.shadeExpanded(true)

            keyguardTransitionRepository.sendTransitionSteps(
                listOf(
                    step(0f, TransitionState.STARTED),
                    step(0.1f),
                    step(0.2f),
                    step(0.3f),
                    step(1f),
                ),
                testScope,
            )

            values.forEach { assertThat(it).isEqualTo(1f) }
        }

    @Test
    @Test
    fun blurRadiusGoesToMaximumWhenShadeIsExpanded() =
    fun blurRadiusGoesToMaximumWhenShadeIsExpanded() =
        testScope.runTest {
        testScope.runTest {
+19 −0
Original line number Original line Diff line number Diff line
@@ -206,6 +206,25 @@ class LockscreenToPrimaryBouncerTransitionViewModelTest(flags: FlagsParameteriza
            )
            )
        }
        }


    @Test
    @EnableFlags(FLAG_BOUNCER_UI_REVAMP)
    @BrokenWithSceneContainer(388068805)
    fun notifications_areFullyVisible_whenShadeIsExpanded() =
        testScope.runTest {
            val values by collectValues(underTest.notificationAlpha)
            kosmos.bouncerWindowBlurTestUtil.shadeExpanded(true)
            runCurrent()

            kosmos.bouncerWindowBlurTestUtil.assertTransitionToBlurRadius(
                transitionProgress = listOf(0f, 0f, 0.1f, 0.2f, 0.3f, 1f),
                startValue = 1.0f,
                endValue = 1.0f,
                transitionFactory = ::step,
                actualValuesProvider = { values },
                checkInterpolatedValues = false,
            )
        }

    private fun step(
    private fun step(
        value: Float,
        value: Float,
        state: TransitionState = TransitionState.RUNNING,
        state: TransitionState = TransitionState.RUNNING,
+9 −1
Original line number Original line Diff line number Diff line
@@ -75,7 +75,15 @@ constructor(


    val lockscreenAlpha: Flow<Float> = if (WindowBlurFlag.isEnabled) alphaFlow else emptyFlow()
    val lockscreenAlpha: Flow<Float> = if (WindowBlurFlag.isEnabled) alphaFlow else emptyFlow()


    val notificationAlpha: Flow<Float> = alphaFlow
    val notificationAlpha: Flow<Float> =
        if (Flags.bouncerUiRevamp()) {
            shadeDependentFlows.transitionFlow(
                flowWhenShadeIsNotExpanded = lockscreenAlpha,
                flowWhenShadeIsExpanded = transitionAnimation.immediatelyTransitionTo(1f),
            )
        } else {
            alphaFlow
        }


    override val notificationBlurRadius: Flow<Float> =
    override val notificationBlurRadius: Flow<Float> =
        if (Flags.bouncerUiRevamp()) {
        if (Flags.bouncerUiRevamp()) {
+10 −0
Original line number Original line Diff line number Diff line
@@ -73,6 +73,16 @@ constructor(


    val lockscreenAlpha: Flow<Float> = shortcutsAlpha
    val lockscreenAlpha: Flow<Float> = shortcutsAlpha


    val notificationAlpha: Flow<Float> =
        if (Flags.bouncerUiRevamp()) {
            shadeDependentFlows.transitionFlow(
                flowWhenShadeIsNotExpanded = lockscreenAlpha,
                flowWhenShadeIsExpanded = transitionAnimation.immediatelyTransitionTo(1f),
            )
        } else {
            lockscreenAlpha
        }

    override val notificationBlurRadius: Flow<Float> =
    override val notificationBlurRadius: Flow<Float> =
        if (Flags.bouncerUiRevamp()) {
        if (Flags.bouncerUiRevamp()) {
            shadeDependentFlows.transitionFlow(
            shadeDependentFlows.transitionFlow(
+1 −1
Original line number Original line Diff line number Diff line
@@ -564,7 +564,7 @@ constructor(
            lockscreenToDreamingTransitionViewModel.lockscreenAlpha,
            lockscreenToDreamingTransitionViewModel.lockscreenAlpha,
            lockscreenToGoneTransitionViewModel.notificationAlpha(viewState),
            lockscreenToGoneTransitionViewModel.notificationAlpha(viewState),
            lockscreenToOccludedTransitionViewModel.lockscreenAlpha,
            lockscreenToOccludedTransitionViewModel.lockscreenAlpha,
            lockscreenToPrimaryBouncerTransitionViewModel.lockscreenAlpha,
            lockscreenToPrimaryBouncerTransitionViewModel.notificationAlpha,
            alternateBouncerToPrimaryBouncerTransitionViewModel.notificationAlpha,
            alternateBouncerToPrimaryBouncerTransitionViewModel.notificationAlpha,
            occludedToAodTransitionViewModel.lockscreenAlpha,
            occludedToAodTransitionViewModel.lockscreenAlpha,
            occludedToGoneTransitionViewModel.notificationAlpha(viewState),
            occludedToGoneTransitionViewModel.notificationAlpha(viewState),