Loading packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/AodToLockscreenTransitionViewModelTest.kt +37 −0 Original line number Diff line number Diff line Loading @@ -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 Loading packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenToOccludedTransitionViewModelTest.kt +18 −0 Original line number Diff line number Diff line Loading @@ -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, Loading packages/SystemUI/src/com/android/systemui/keyguard/ui/KeyguardTransitionAnimationFlow.kt +6 −1 Original line number Diff line number Diff line Loading @@ -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 } ) } } } Loading packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/AlternateBouncerToAodTransitionViewModel.kt +1 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ constructor( transitionAnimation.sharedFlow( duration = FromAlternateBouncerTransitionInteractor.TO_AOD_DURATION, onStep = { 1 - it }, onCancel = { 0f }, onFinish = { 0f }, ) Loading packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/AodToLockscreenTransitionViewModel.kt +2 −4 Original line number Diff line number Diff line Loading @@ -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
packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/AodToLockscreenTransitionViewModelTest.kt +37 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenToOccludedTransitionViewModelTest.kt +18 −0 Original line number Diff line number Diff line Loading @@ -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, Loading
packages/SystemUI/src/com/android/systemui/keyguard/ui/KeyguardTransitionAnimationFlow.kt +6 −1 Original line number Diff line number Diff line Loading @@ -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 } ) } } } Loading
packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/AlternateBouncerToAodTransitionViewModel.kt +1 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ constructor( transitionAnimation.sharedFlow( duration = FromAlternateBouncerTransitionInteractor.TO_AOD_DURATION, onStep = { 1 - it }, onCancel = { 0f }, onFinish = { 0f }, ) Loading
packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/AodToLockscreenTransitionViewModel.kt +2 −4 Original line number Diff line number Diff line Loading @@ -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) }