diff options
| author | 2024-06-13 14:02:37 +0000 | |
|---|---|---|
| committer | 2024-06-13 14:02:37 +0000 | |
| commit | 2f5a47ab0a115a0fbb755575bd51cacb6c1cdffe (patch) | |
| tree | abf03ac50322373ee1de76699578cd7e708811ab | |
| parent | 36bb29c65fae38a2d93deabe16d13610f2f0cd55 (diff) | |
| parent | 387f00a6c923da469a945e289d55f382ad560e19 (diff) | |
Merge "Fix NSSL flicker on GONE->DOZING" into main
3 files changed, 30 insertions, 4 deletions
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/GoneToDozingTransitionViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/GoneToDozingTransitionViewModelTest.kt index 59a6ce75e912..80a95324a185 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/GoneToDozingTransitionViewModelTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/GoneToDozingTransitionViewModelTest.kt @@ -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, diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/GoneToDozingTransitionViewModel.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/GoneToDozingTransitionViewModel.kt index 70c0032a30b3..c62e4f4ba243 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/GoneToDozingTransitionViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/GoneToDozingTransitionViewModel.kt @@ -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) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModel.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModel.kt index b13630fa302a..1fc2821e057d 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModel.kt @@ -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) } |