Loading packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/phone/KeyguardStatusBarViewControllerTest.kt +225 −0 Original line number Diff line number Diff line Loading @@ -39,9 +39,18 @@ import com.android.systemui.battery.BatteryMeterViewController import com.android.systemui.communal.data.repository.fakeCommunalSceneRepository import com.android.systemui.communal.domain.interactor.communalSceneInteractor import com.android.systemui.communal.shared.model.CommunalScenes import com.android.systemui.dreams.ui.viewmodel.dreamViewModel import com.android.systemui.flags.DisableSceneContainer import com.android.systemui.flags.EnableSceneContainer import com.android.systemui.keyguard.data.repository.fakeKeyguardTransitionRepository import com.android.systemui.keyguard.domain.interactor.keyguardInteractor import com.android.systemui.keyguard.shared.model.KeyguardState import com.android.systemui.keyguard.shared.model.TransitionState import com.android.systemui.keyguard.shared.model.TransitionState.CANCELED import com.android.systemui.keyguard.shared.model.TransitionState.FINISHED import com.android.systemui.keyguard.shared.model.TransitionState.RUNNING import com.android.systemui.keyguard.shared.model.TransitionState.STARTED import com.android.systemui.keyguard.shared.model.TransitionStep import com.android.systemui.keyguard.ui.viewmodel.glanceableHubToLockscreenTransitionViewModel import com.android.systemui.keyguard.ui.viewmodel.lockscreenToGlanceableHubTransitionViewModel import com.android.systemui.kosmos.Kosmos Loading Loading @@ -71,6 +80,7 @@ import com.android.systemui.user.data.repository.fakeUserRepository import com.android.systemui.util.concurrency.FakeExecutor import com.android.systemui.util.settings.SecureSettings import com.android.systemui.util.time.FakeSystemClock import com.google.common.collect.Range import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.test.TestScope Loading Loading @@ -221,6 +231,7 @@ class KeyguardStatusBarViewControllerTest : SysuiTestCase() { kosmos.communalSceneInteractor, kosmos.glanceableHubToLockscreenTransitionViewModel, kosmos.lockscreenToGlanceableHubTransitionViewModel, kosmos.dreamViewModel, kosmos.keyguardInteractor, ) } Loading Loading @@ -945,6 +956,175 @@ class KeyguardStatusBarViewControllerTest : SysuiTestCase() { } } @Test @DisableSceneContainer fun lockscreenToDreaming_affectsAlpha() = testScope.runTest { try { controller.init() ViewUtils.attachView(keyguardStatusBarView) looper.processAllMessages() updateStateToKeyguard() val transitionSteps = listOf( lockscreenToDreamTransitionStep(0.0f, STARTED), lockscreenToDreamTransitionStep(.1f), ) kosmos.fakeKeyguardTransitionRepository.sendTransitionSteps( transitionSteps, testScope, ) assertThat(keyguardStatusBarView.alpha).isIn(Range.open(0f, 1f)) assertThat(keyguardStatusBarView.visibility).isEqualTo(View.VISIBLE) kosmos.fakeKeyguardTransitionRepository.sendTransitionSteps( listOf( lockscreenToDreamTransitionStep(1f), lockscreenToDreamTransitionStep(1f, FINISHED), ), testScope, ) assertThat(keyguardStatusBarView.alpha).isEqualTo(0f) assertThat(keyguardStatusBarView.visibility).isEqualTo(View.INVISIBLE) } finally { ViewUtils.detachView(keyguardStatusBarView) } } @Test @DisableSceneContainer fun dreamingToLockscreen_affectsAlpha() = testScope.runTest { try { controller.init() ViewUtils.attachView(keyguardStatusBarView) looper.processAllMessages() updateStateToKeyguard() val transitionSteps = listOf( dreamToLockscreenTransitionStep(0.0f, STARTED), dreamToLockscreenTransitionStep(.3f), ) kosmos.fakeKeyguardTransitionRepository.sendTransitionSteps( transitionSteps, testScope, ) assertThat(keyguardStatusBarView.alpha).isIn(Range.open(0f, 1f)) assertThat(keyguardStatusBarView.visibility).isEqualTo(View.VISIBLE) } finally { ViewUtils.detachView(keyguardStatusBarView) } } @Test @DisableSceneContainer fun dreamingToLockscreen_resetAlphaOnFinished() = testScope.runTest { try { controller.init() ViewUtils.attachView(keyguardStatusBarView) looper.processAllMessages() updateStateToKeyguard() val transitionSteps = listOf( dreamToLockscreenTransitionStep(0.0f, STARTED), dreamToLockscreenTransitionStep(.3f), ) kosmos.fakeKeyguardTransitionRepository.sendTransitionSteps( transitionSteps, testScope, ) val explicitAlpha = keyguardStatusBarView.alpha assertThat(explicitAlpha).isIn(Range.open(0f, 1f)) kosmos.fakeKeyguardTransitionRepository.sendTransitionSteps( listOf(dreamToLockscreenTransitionStep(1f, FINISHED)), testScope, ) assertThat(keyguardStatusBarView.alpha).isNotEqualTo(explicitAlpha) assertThat(keyguardStatusBarView.visibility).isEqualTo(View.VISIBLE) } finally { ViewUtils.detachView(keyguardStatusBarView) } } @Test @DisableSceneContainer fun goneToDreaming_affectsAlpha() = testScope.runTest { try { controller.init() ViewUtils.attachView(keyguardStatusBarView) looper.processAllMessages() updateStateToKeyguard() val transitionSteps = listOf(goneToDreamTransitionStep(0.0f, STARTED), goneToDreamTransitionStep(.1f)) kosmos.fakeKeyguardTransitionRepository.sendTransitionSteps( transitionSteps, testScope, ) assertThat(keyguardStatusBarView.alpha).isEqualTo(0f) assertThat(keyguardStatusBarView.visibility).isEqualTo(View.INVISIBLE) } finally { ViewUtils.detachView(keyguardStatusBarView) } } @Test @DisableSceneContainer fun resetAlpha_onTransitionToDreamingInterrupted() = testScope.runTest { try { controller.init() ViewUtils.attachView(keyguardStatusBarView) looper.processAllMessages() updateStateToKeyguard() // Transition to dreaming var transitionSteps = listOf( lockscreenToDreamTransitionStep(0.0f, STARTED), lockscreenToDreamTransitionStep(.1f), ) kosmos.fakeKeyguardTransitionRepository.sendTransitionSteps( transitionSteps, testScope, ) val explicitAlphaByDream = keyguardStatusBarView.alpha assertThat(keyguardStatusBarView.visibility).isEqualTo(View.VISIBLE) // Transition is interrupted and goes to AOD controller.setDozing(true) transitionSteps = listOf( lockscreenToDreamTransitionStep(.1f, CANCELED), dreamToAodTransitionStep(0.1f, STARTED), dreamToAodTransitionStep(.5f), dreamToAodTransitionStep(1f, FINISHED), ) kosmos.fakeKeyguardTransitionRepository.sendTransitionSteps( transitionSteps, testScope, ) assertThat(keyguardStatusBarView.alpha).isNotEqualTo(explicitAlphaByDream) assertThat(keyguardStatusBarView.visibility).isEqualTo(View.INVISIBLE) } finally { ViewUtils.detachView(keyguardStatusBarView) } } /** * Calls [com.android.keyguard.KeyguardUpdateMonitorCallback.onFinishedGoingToSleep] to ensure * values are updated properly. Loading Loading @@ -996,4 +1176,49 @@ class KeyguardStatusBarViewControllerTest : SysuiTestCase() { this.mShouldHeadsUpBeVisible = shouldHeadsUpBeVisible } } private fun lockscreenToDreamTransitionStep( value: Float, transitionState: TransitionState = RUNNING, ) = TransitionStep( from = KeyguardState.LOCKSCREEN, to = KeyguardState.DREAMING, value = value, transitionState = transitionState, ownerName = "KeyguardStatusBarViewControllerTest", ) private fun dreamToLockscreenTransitionStep( value: Float, transitionState: TransitionState = RUNNING, ) = TransitionStep( from = KeyguardState.DREAMING, to = KeyguardState.LOCKSCREEN, value = value, transitionState = transitionState, ownerName = "KeyguardStatusBarViewControllerTest", ) private fun goneToDreamTransitionStep( value: Float, transitionState: TransitionState = RUNNING, ) = TransitionStep( from = KeyguardState.GONE, to = KeyguardState.DREAMING, value = value, transitionState = transitionState, ownerName = "KeyguardStatusBarViewControllerTest", ) private fun dreamToAodTransitionStep(value: Float, transitionState: TransitionState = RUNNING) = TransitionStep( from = KeyguardState.DREAMING, to = KeyguardState.AOD, value = value, transitionState = transitionState, ownerName = "KeyguardStatusBarViewControllerTest", ) } packages/SystemUI/src/com/android/systemui/dreams/ui/viewmodel/DreamViewModel.kt +15 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,8 @@ import com.android.systemui.keyguard.shared.model.TransitionState import com.android.systemui.keyguard.ui.viewmodel.DreamingToGlanceableHubTransitionViewModel import com.android.systemui.keyguard.ui.viewmodel.DreamingToLockscreenTransitionViewModel import com.android.systemui.keyguard.ui.viewmodel.GlanceableHubToDreamingTransitionViewModel import com.android.systemui.keyguard.ui.viewmodel.GoneToDreamingTransitionViewModel import com.android.systemui.keyguard.ui.viewmodel.LockscreenToDreamingTransitionViewModel import com.android.systemui.res.R import com.android.systemui.settings.UserTracker import com.android.systemui.util.kotlin.BooleanFlowOperators.anyOf Loading @@ -51,6 +53,8 @@ constructor( keyguardTransitionInteractor: KeyguardTransitionInteractor, fromGlanceableHubTransitionViewModel: GlanceableHubToDreamingTransitionViewModel, toGlanceableHubTransitionViewModel: DreamingToGlanceableHubTransitionViewModel, fromLockscreenTransitionViewModel: LockscreenToDreamingTransitionViewModel, fromGoneTransitionViewModel: GoneToDreamingTransitionViewModel, private val toLockscreenTransitionViewModel: DreamingToLockscreenTransitionViewModel, private val fromDreamingTransitionInteractor: FromDreamingTransitionInteractor, private val communalInteractor: CommunalInteractor, Loading Loading @@ -117,4 +121,15 @@ constructor( keyguardTransitionInteractor.isInTransition(Edge.create(from = DREAMING)), ) .distinctUntilChanged() val statusBarAlpha: Flow<Float> = merge( toLockscreenTransitionViewModel.statusBarAlpha, fromLockscreenTransitionViewModel.statusBarAlpha, fromGoneTransitionViewModel.statusBarAlpha, // Reset explicit alpha once dream-exit transition ended transitionEnded.map { -1f }, ) .distinctUntilChanged() .dumpWhileCollecting("statusBarAlphaByDream") } packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/DreamingToLockscreenTransitionViewModel.kt +4 −7 Original line number Diff line number Diff line Loading @@ -35,9 +35,7 @@ import kotlinx.coroutines.flow.Flow @SysUISingleton class DreamingToLockscreenTransitionViewModel @Inject constructor( animationFlow: KeyguardTransitionAnimationFlow, ) : DeviceEntryIconTransition { constructor(animationFlow: KeyguardTransitionAnimationFlow) : DeviceEntryIconTransition { private val transitionAnimation = animationFlow.setup( Loading @@ -56,10 +54,7 @@ constructor( /** Dream overlay views alpha - fade out */ val dreamOverlayAlpha: Flow<Float> = transitionAnimation.sharedFlow( duration = 250.milliseconds, onStep = { 1f - it }, ) transitionAnimation.sharedFlow(duration = 250.milliseconds, onStep = { 1f - it }) /** Lockscreen views y-translation */ fun lockscreenTranslationY(translatePx: Int): Flow<Float> { Loading Loading @@ -97,4 +92,6 @@ constructor( onCancel = { 1f }, onStep = { it }, ) val statusBarAlpha: Flow<Float> = lockscreenAlpha } packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/GoneToDreamingTransitionViewModel.kt +2 −0 Original line number Diff line number Diff line Loading @@ -72,4 +72,6 @@ constructor( name = "GONE->DREAMING: lockscreenAlpha", ) } val statusBarAlpha: Flow<Float> = transitionAnimation.immediatelyTransitionTo(0f) } packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenToDreamingTransitionViewModel.kt +2 −0 Original line number Diff line number Diff line Loading @@ -96,6 +96,8 @@ constructor(animationFlow: KeyguardTransitionAnimationFlow) : DeviceEntryIconTra ) .map { ScrimAlpha(behindAlpha = it) } val statusBarAlpha: Flow<Float> = lockscreenAlpha companion object { @JvmField val DREAMING_ANIMATION_DURATION_MS = TO_DREAMING_DURATION.inWholeMilliseconds } Loading Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/phone/KeyguardStatusBarViewControllerTest.kt +225 −0 Original line number Diff line number Diff line Loading @@ -39,9 +39,18 @@ import com.android.systemui.battery.BatteryMeterViewController import com.android.systemui.communal.data.repository.fakeCommunalSceneRepository import com.android.systemui.communal.domain.interactor.communalSceneInteractor import com.android.systemui.communal.shared.model.CommunalScenes import com.android.systemui.dreams.ui.viewmodel.dreamViewModel import com.android.systemui.flags.DisableSceneContainer import com.android.systemui.flags.EnableSceneContainer import com.android.systemui.keyguard.data.repository.fakeKeyguardTransitionRepository import com.android.systemui.keyguard.domain.interactor.keyguardInteractor import com.android.systemui.keyguard.shared.model.KeyguardState import com.android.systemui.keyguard.shared.model.TransitionState import com.android.systemui.keyguard.shared.model.TransitionState.CANCELED import com.android.systemui.keyguard.shared.model.TransitionState.FINISHED import com.android.systemui.keyguard.shared.model.TransitionState.RUNNING import com.android.systemui.keyguard.shared.model.TransitionState.STARTED import com.android.systemui.keyguard.shared.model.TransitionStep import com.android.systemui.keyguard.ui.viewmodel.glanceableHubToLockscreenTransitionViewModel import com.android.systemui.keyguard.ui.viewmodel.lockscreenToGlanceableHubTransitionViewModel import com.android.systemui.kosmos.Kosmos Loading Loading @@ -71,6 +80,7 @@ import com.android.systemui.user.data.repository.fakeUserRepository import com.android.systemui.util.concurrency.FakeExecutor import com.android.systemui.util.settings.SecureSettings import com.android.systemui.util.time.FakeSystemClock import com.google.common.collect.Range import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.test.TestScope Loading Loading @@ -221,6 +231,7 @@ class KeyguardStatusBarViewControllerTest : SysuiTestCase() { kosmos.communalSceneInteractor, kosmos.glanceableHubToLockscreenTransitionViewModel, kosmos.lockscreenToGlanceableHubTransitionViewModel, kosmos.dreamViewModel, kosmos.keyguardInteractor, ) } Loading Loading @@ -945,6 +956,175 @@ class KeyguardStatusBarViewControllerTest : SysuiTestCase() { } } @Test @DisableSceneContainer fun lockscreenToDreaming_affectsAlpha() = testScope.runTest { try { controller.init() ViewUtils.attachView(keyguardStatusBarView) looper.processAllMessages() updateStateToKeyguard() val transitionSteps = listOf( lockscreenToDreamTransitionStep(0.0f, STARTED), lockscreenToDreamTransitionStep(.1f), ) kosmos.fakeKeyguardTransitionRepository.sendTransitionSteps( transitionSteps, testScope, ) assertThat(keyguardStatusBarView.alpha).isIn(Range.open(0f, 1f)) assertThat(keyguardStatusBarView.visibility).isEqualTo(View.VISIBLE) kosmos.fakeKeyguardTransitionRepository.sendTransitionSteps( listOf( lockscreenToDreamTransitionStep(1f), lockscreenToDreamTransitionStep(1f, FINISHED), ), testScope, ) assertThat(keyguardStatusBarView.alpha).isEqualTo(0f) assertThat(keyguardStatusBarView.visibility).isEqualTo(View.INVISIBLE) } finally { ViewUtils.detachView(keyguardStatusBarView) } } @Test @DisableSceneContainer fun dreamingToLockscreen_affectsAlpha() = testScope.runTest { try { controller.init() ViewUtils.attachView(keyguardStatusBarView) looper.processAllMessages() updateStateToKeyguard() val transitionSteps = listOf( dreamToLockscreenTransitionStep(0.0f, STARTED), dreamToLockscreenTransitionStep(.3f), ) kosmos.fakeKeyguardTransitionRepository.sendTransitionSteps( transitionSteps, testScope, ) assertThat(keyguardStatusBarView.alpha).isIn(Range.open(0f, 1f)) assertThat(keyguardStatusBarView.visibility).isEqualTo(View.VISIBLE) } finally { ViewUtils.detachView(keyguardStatusBarView) } } @Test @DisableSceneContainer fun dreamingToLockscreen_resetAlphaOnFinished() = testScope.runTest { try { controller.init() ViewUtils.attachView(keyguardStatusBarView) looper.processAllMessages() updateStateToKeyguard() val transitionSteps = listOf( dreamToLockscreenTransitionStep(0.0f, STARTED), dreamToLockscreenTransitionStep(.3f), ) kosmos.fakeKeyguardTransitionRepository.sendTransitionSteps( transitionSteps, testScope, ) val explicitAlpha = keyguardStatusBarView.alpha assertThat(explicitAlpha).isIn(Range.open(0f, 1f)) kosmos.fakeKeyguardTransitionRepository.sendTransitionSteps( listOf(dreamToLockscreenTransitionStep(1f, FINISHED)), testScope, ) assertThat(keyguardStatusBarView.alpha).isNotEqualTo(explicitAlpha) assertThat(keyguardStatusBarView.visibility).isEqualTo(View.VISIBLE) } finally { ViewUtils.detachView(keyguardStatusBarView) } } @Test @DisableSceneContainer fun goneToDreaming_affectsAlpha() = testScope.runTest { try { controller.init() ViewUtils.attachView(keyguardStatusBarView) looper.processAllMessages() updateStateToKeyguard() val transitionSteps = listOf(goneToDreamTransitionStep(0.0f, STARTED), goneToDreamTransitionStep(.1f)) kosmos.fakeKeyguardTransitionRepository.sendTransitionSteps( transitionSteps, testScope, ) assertThat(keyguardStatusBarView.alpha).isEqualTo(0f) assertThat(keyguardStatusBarView.visibility).isEqualTo(View.INVISIBLE) } finally { ViewUtils.detachView(keyguardStatusBarView) } } @Test @DisableSceneContainer fun resetAlpha_onTransitionToDreamingInterrupted() = testScope.runTest { try { controller.init() ViewUtils.attachView(keyguardStatusBarView) looper.processAllMessages() updateStateToKeyguard() // Transition to dreaming var transitionSteps = listOf( lockscreenToDreamTransitionStep(0.0f, STARTED), lockscreenToDreamTransitionStep(.1f), ) kosmos.fakeKeyguardTransitionRepository.sendTransitionSteps( transitionSteps, testScope, ) val explicitAlphaByDream = keyguardStatusBarView.alpha assertThat(keyguardStatusBarView.visibility).isEqualTo(View.VISIBLE) // Transition is interrupted and goes to AOD controller.setDozing(true) transitionSteps = listOf( lockscreenToDreamTransitionStep(.1f, CANCELED), dreamToAodTransitionStep(0.1f, STARTED), dreamToAodTransitionStep(.5f), dreamToAodTransitionStep(1f, FINISHED), ) kosmos.fakeKeyguardTransitionRepository.sendTransitionSteps( transitionSteps, testScope, ) assertThat(keyguardStatusBarView.alpha).isNotEqualTo(explicitAlphaByDream) assertThat(keyguardStatusBarView.visibility).isEqualTo(View.INVISIBLE) } finally { ViewUtils.detachView(keyguardStatusBarView) } } /** * Calls [com.android.keyguard.KeyguardUpdateMonitorCallback.onFinishedGoingToSleep] to ensure * values are updated properly. Loading Loading @@ -996,4 +1176,49 @@ class KeyguardStatusBarViewControllerTest : SysuiTestCase() { this.mShouldHeadsUpBeVisible = shouldHeadsUpBeVisible } } private fun lockscreenToDreamTransitionStep( value: Float, transitionState: TransitionState = RUNNING, ) = TransitionStep( from = KeyguardState.LOCKSCREEN, to = KeyguardState.DREAMING, value = value, transitionState = transitionState, ownerName = "KeyguardStatusBarViewControllerTest", ) private fun dreamToLockscreenTransitionStep( value: Float, transitionState: TransitionState = RUNNING, ) = TransitionStep( from = KeyguardState.DREAMING, to = KeyguardState.LOCKSCREEN, value = value, transitionState = transitionState, ownerName = "KeyguardStatusBarViewControllerTest", ) private fun goneToDreamTransitionStep( value: Float, transitionState: TransitionState = RUNNING, ) = TransitionStep( from = KeyguardState.GONE, to = KeyguardState.DREAMING, value = value, transitionState = transitionState, ownerName = "KeyguardStatusBarViewControllerTest", ) private fun dreamToAodTransitionStep(value: Float, transitionState: TransitionState = RUNNING) = TransitionStep( from = KeyguardState.DREAMING, to = KeyguardState.AOD, value = value, transitionState = transitionState, ownerName = "KeyguardStatusBarViewControllerTest", ) }
packages/SystemUI/src/com/android/systemui/dreams/ui/viewmodel/DreamViewModel.kt +15 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,8 @@ import com.android.systemui.keyguard.shared.model.TransitionState import com.android.systemui.keyguard.ui.viewmodel.DreamingToGlanceableHubTransitionViewModel import com.android.systemui.keyguard.ui.viewmodel.DreamingToLockscreenTransitionViewModel import com.android.systemui.keyguard.ui.viewmodel.GlanceableHubToDreamingTransitionViewModel import com.android.systemui.keyguard.ui.viewmodel.GoneToDreamingTransitionViewModel import com.android.systemui.keyguard.ui.viewmodel.LockscreenToDreamingTransitionViewModel import com.android.systemui.res.R import com.android.systemui.settings.UserTracker import com.android.systemui.util.kotlin.BooleanFlowOperators.anyOf Loading @@ -51,6 +53,8 @@ constructor( keyguardTransitionInteractor: KeyguardTransitionInteractor, fromGlanceableHubTransitionViewModel: GlanceableHubToDreamingTransitionViewModel, toGlanceableHubTransitionViewModel: DreamingToGlanceableHubTransitionViewModel, fromLockscreenTransitionViewModel: LockscreenToDreamingTransitionViewModel, fromGoneTransitionViewModel: GoneToDreamingTransitionViewModel, private val toLockscreenTransitionViewModel: DreamingToLockscreenTransitionViewModel, private val fromDreamingTransitionInteractor: FromDreamingTransitionInteractor, private val communalInteractor: CommunalInteractor, Loading Loading @@ -117,4 +121,15 @@ constructor( keyguardTransitionInteractor.isInTransition(Edge.create(from = DREAMING)), ) .distinctUntilChanged() val statusBarAlpha: Flow<Float> = merge( toLockscreenTransitionViewModel.statusBarAlpha, fromLockscreenTransitionViewModel.statusBarAlpha, fromGoneTransitionViewModel.statusBarAlpha, // Reset explicit alpha once dream-exit transition ended transitionEnded.map { -1f }, ) .distinctUntilChanged() .dumpWhileCollecting("statusBarAlphaByDream") }
packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/DreamingToLockscreenTransitionViewModel.kt +4 −7 Original line number Diff line number Diff line Loading @@ -35,9 +35,7 @@ import kotlinx.coroutines.flow.Flow @SysUISingleton class DreamingToLockscreenTransitionViewModel @Inject constructor( animationFlow: KeyguardTransitionAnimationFlow, ) : DeviceEntryIconTransition { constructor(animationFlow: KeyguardTransitionAnimationFlow) : DeviceEntryIconTransition { private val transitionAnimation = animationFlow.setup( Loading @@ -56,10 +54,7 @@ constructor( /** Dream overlay views alpha - fade out */ val dreamOverlayAlpha: Flow<Float> = transitionAnimation.sharedFlow( duration = 250.milliseconds, onStep = { 1f - it }, ) transitionAnimation.sharedFlow(duration = 250.milliseconds, onStep = { 1f - it }) /** Lockscreen views y-translation */ fun lockscreenTranslationY(translatePx: Int): Flow<Float> { Loading Loading @@ -97,4 +92,6 @@ constructor( onCancel = { 1f }, onStep = { it }, ) val statusBarAlpha: Flow<Float> = lockscreenAlpha }
packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/GoneToDreamingTransitionViewModel.kt +2 −0 Original line number Diff line number Diff line Loading @@ -72,4 +72,6 @@ constructor( name = "GONE->DREAMING: lockscreenAlpha", ) } val statusBarAlpha: Flow<Float> = transitionAnimation.immediatelyTransitionTo(0f) }
packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenToDreamingTransitionViewModel.kt +2 −0 Original line number Diff line number Diff line Loading @@ -96,6 +96,8 @@ constructor(animationFlow: KeyguardTransitionAnimationFlow) : DeviceEntryIconTra ) .map { ScrimAlpha(behindAlpha = it) } val statusBarAlpha: Flow<Float> = lockscreenAlpha companion object { @JvmField val DREAMING_ANIMATION_DURATION_MS = TO_DREAMING_DURATION.inWholeMilliseconds } Loading