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

Commit 2f5a47ab authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix NSSL flicker on GONE->DOZING" into main

parents 36bb29c6 387f00a6
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase
import com.android.systemui.biometrics.data.repository.FakeFingerprintPropertyRepository
import com.android.systemui.biometrics.data.repository.fakeFingerprintPropertyRepository
import com.android.systemui.coroutines.collectLastValue
import com.android.systemui.coroutines.collectValues
import com.android.systemui.keyguard.data.repository.FakeBiometricSettingsRepository
import com.android.systemui.keyguard.data.repository.FakeKeyguardTransitionRepository
@@ -32,6 +33,7 @@ import com.android.systemui.keyguard.shared.model.TransitionState.RUNNING
import com.android.systemui.keyguard.shared.model.TransitionStep
import com.android.systemui.kosmos.testScope
import com.android.systemui.testKosmos
import com.google.common.collect.Range
import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.runTest
@@ -104,6 +106,24 @@ class GoneToDozingTransitionViewModelTest : SysuiTestCase() {
            values.forEach { assertThat(it).isNull() }
        }

    @Test
    fun notificationAlpha_fadesOut() =
        testScope.runTest {
            val alpha by collectLastValue(underTest.notificationAlpha)

            keyguardTransitionRepository.sendTransitionStep(step(0f, TransitionState.STARTED))
            assertThat(alpha).isEqualTo(1f)

            keyguardTransitionRepository.sendTransitionStep(step(0.25f))
            assertThat(alpha).isIn(Range.open(.25f, .75f))

            keyguardTransitionRepository.sendTransitionStep(step(1f))
            assertThat(alpha).isEqualTo(0f)

            keyguardTransitionRepository.sendTransitionStep(step(1f, TransitionState.FINISHED))
            assertThat(alpha).isEqualTo(1f)
        }

    private fun step(value: Float, state: TransitionState = RUNNING): TransitionStep {
        return TransitionStep(
            from = KeyguardState.GONE,
+8 −0
Original line number Diff line number Diff line
@@ -60,6 +60,14 @@ constructor(
            onFinish = { 1f },
        )

    val notificationAlpha: Flow<Float> =
        transitionAnimation.sharedFlow(
            duration = 500.milliseconds,
            onStep = { 1f - it },
            // Needs to be 1f in order for HUNs to appear on AOD
            onFinish = { 1f },
        )

    val deviceEntryBackgroundViewAlpha: Flow<Float> =
        transitionAnimation.immediatelyTransitionTo(0f)

+2 −4
Original line number Diff line number Diff line
@@ -486,7 +486,7 @@ constructor(
                dreamingToLockscreenTransitionViewModel.lockscreenAlpha,
                goneToAodTransitionViewModel.notificationAlpha,
                goneToDreamingTransitionViewModel.lockscreenAlpha,
                goneToDozingTransitionViewModel.lockscreenAlpha,
                goneToDozingTransitionViewModel.notificationAlpha,
                goneToLockscreenTransitionViewModel.lockscreenAlpha,
                lockscreenToDreamingTransitionViewModel.lockscreenAlpha,
                lockscreenToGoneTransitionViewModel.notificationAlpha(viewState),
@@ -506,9 +506,7 @@ constructor(
                combineTransform(
                    isTransitioningToHiddenKeyguard,
                    alphaForShadeAndQsExpansion,
                ) {
                    isTransitioningToHiddenKeyguard,
                    alphaForShadeAndQsExpansion ->
                ) { isTransitioningToHiddenKeyguard, alphaForShadeAndQsExpansion ->
                    if (!isTransitioningToHiddenKeyguard) {
                        emit(alphaForShadeAndQsExpansion)
                    }