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

Commit 2b2a3adf authored by Beverly Tai's avatar Beverly Tai Committed by Android (Google) Code Review
Browse files

Merge "onCancel transition update deviceEntryIconParentViewAlpha to onFinished alpha" into main

parents 557f4347 a695dd4c
Loading
Loading
Loading
Loading
+37 −0
Original line number Diff line number Diff line
@@ -156,6 +156,43 @@ class AodToLockscreenTransitionViewModelTest(flags: FlagsParameterization) : Sys
            assertThat(deviceEntryBackgroundViewAlpha).isEqualTo(1f)
        }

    @Test
    fun deviceEntryBackgroundView_onCancel() =
        testScope.runTest {
            fingerprintPropertyRepository.supportsUdfps()
            val deviceEntryBackgroundViewAlpha by
                collectLastValue(underTest.deviceEntryBackgroundViewAlpha)
            runCurrent()

            // GIVEN transition START
            repository.sendTransitionStep(step(0f, TransitionState.STARTED))
            assertThat(deviceEntryBackgroundViewAlpha).isEqualTo(0f)

            // WHEN transition is cancelled
            repository.sendTransitionStep(step(.1f, TransitionState.CANCELED))

            // THEN alpha is immediately set to 1f (expected lockscreen alpha state)
            assertThat(deviceEntryBackgroundViewAlpha).isEqualTo(1f)
        }

    @Test
    fun deviceEntryParentViewAlpha_onCancel() =
        testScope.runTest {
            fingerprintPropertyRepository.supportsUdfps()
            val deviceEntryBackgroundViewAlpha by
                collectLastValue(underTest.deviceEntryParentViewAlpha)
            runCurrent()

            // GIVEN transition START
            repository.sendTransitionStep(step(0f, TransitionState.STARTED))

            // WHEN transition is cancelled
            repository.sendTransitionStep(step(.1f, TransitionState.CANCELED))

            // THEN alpha is immediately set to 1f (expected lockscreen alpha state)
            assertThat(deviceEntryBackgroundViewAlpha).isEqualTo(1f)
        }

    private fun step(
        value: Float,
        state: TransitionState = TransitionState.RUNNING
+18 −0
Original line number Diff line number Diff line
@@ -201,6 +201,24 @@ class LockscreenToOccludedTransitionViewModelTest(flags: FlagsParameterization)
            assertThat(actual).isEqualTo(0f)
        }

    @Test
    fun deviceEntryParentViewAlpha_shadeNotExpanded_onCancel() =
        testScope.runTest {
            val actual by collectLastValue(underTest.deviceEntryParentViewAlpha)
            shadeExpanded(false)
            runCurrent()

            // START transition
            repository.sendTransitionStep(step(0f, TransitionState.STARTED))
            assertThat(actual).isEqualTo(1f)

            // WHEN transition is canceled
            repository.sendTransitionStep(step(1f, TransitionState.CANCELED))

            // THEN alpha is immediately set to 0f
            assertThat(actual).isEqualTo(0f)
        }

    private fun step(
        value: Float,
        state: TransitionState = TransitionState.RUNNING,
+6 −1
Original line number Diff line number Diff line
@@ -177,7 +177,12 @@ constructor(
         * Immediately (after 1ms) emits the given value for every step of the KeyguardTransition.
         */
        fun immediatelyTransitionTo(value: Float): Flow<Float> {
            return sharedFlow(duration = 1.milliseconds, onStep = { value }, onFinish = { value })
            return sharedFlow(
                duration = 1.milliseconds,
                onStep = { value },
                onCancel = { value },
                onFinish = { value }
            )
        }
    }
}
+1 −0
Original line number Diff line number Diff line
@@ -51,6 +51,7 @@ constructor(
        transitionAnimation.sharedFlow(
            duration = FromAlternateBouncerTransitionInteractor.TO_AOD_DURATION,
            onStep = { 1 - it },
            onCancel = { 0f },
            onFinish = { 0f },
        )

+2 −4
Original line number Diff line number Diff line
@@ -104,12 +104,10 @@ constructor(
        transitionAnimation.sharedFlow(
            duration = 250.milliseconds,
            onStep = { it },
            onCancel = { 1f },
            onFinish = { 1f },
        )

    override val deviceEntryParentViewAlpha: Flow<Float> =
        transitionAnimation.sharedFlow(
            duration = 500.milliseconds,
            onStep = { 1f },
        )
        transitionAnimation.immediatelyTransitionTo(1f)
}
Loading