Loading packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenToPrimaryBouncerTransitionViewModel.kt +11 −1 Original line number Diff line number Diff line Loading @@ -68,11 +68,21 @@ constructor(private val blurConfig: BlurConfig, animationFlow: KeyguardTransitio onFinish = { 0f }, ) val lockscreenAlpha: Flow<Float> = shortcutsAlpha val lockscreenAlpha: Flow<Float> = if (SceneContainerFlag.isEnabled) { // Lockscreen -> Bouncer is a scene transition in Flexiglass. // SharedNotificationContainerViewModel#alphaForShadeAndQsExpansion might be relevant // instead. emptyFlow() } else { shortcutsAlpha } val notificationAlpha: Flow<Float> = if (SceneContainerFlag.isEnabled) { // Lockscreen -> Bouncer is a scene transition in Flexiglass. // SharedNotificationContainerViewModel#alphaForShadeAndQsExpansion might be relevant // instead. emptyFlow() } else if (Flags.bouncerUiRevamp()) { transitionAnimation.sharedFlowWithShade( Loading packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/PrimaryBouncerToLockscreenTransitionViewModel.kt +15 −6 Original line number Diff line number Diff line Loading @@ -28,10 +28,12 @@ import com.android.systemui.keyguard.ui.KeyguardTransitionAnimationFlow import com.android.systemui.keyguard.ui.transitions.BlurConfig import com.android.systemui.keyguard.ui.transitions.DeviceEntryIconTransition import com.android.systemui.keyguard.ui.transitions.PrimaryBouncerTransition import com.android.systemui.scene.shared.flag.SceneContainerFlag import com.android.systemui.scene.shared.model.Overlays import javax.inject.Inject import kotlin.time.Duration.Companion.milliseconds import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.emptyFlow /** * Breaks down PRIMARY BOUNCER->LOCKSCREEN transition into discrete steps for corresponding views to Loading @@ -58,6 +60,12 @@ constructor(private val blurConfig: BlurConfig, animationFlow: KeyguardTransitio ) fun lockscreenAlpha(viewState: ViewStateAccessor): Flow<Float> { if (SceneContainerFlag.isEnabled) { // Lockscreen -> Bouncer is a scene transition in Flexiglass. // SharedNotificationContainerViewModel#alphaForShadeAndQsExpansion might be relevant // instead. return emptyFlow() } else { var currentAlpha = 0f return transitionAnimation.sharedFlow( duration = 250.milliseconds, Loading @@ -65,6 +73,7 @@ constructor(private val blurConfig: BlurConfig, animationFlow: KeyguardTransitio onStep = { MathUtils.lerp(currentAlpha, 1f, it) }, ) } } val deviceEntryBackgroundViewAlpha: Flow<Float> = transitionAnimation.immediatelyTransitionTo(1f) Loading packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModel.kt +12 −9 Original line number Diff line number Diff line Loading @@ -559,10 +559,8 @@ constructor( shadeInteractor.qsExpansion, bouncerInteractor.bouncerExpansion, ) { shadeExpansion, qsExpansion, bouncerExpansion -> if (bouncerExpansion == 1f) { emit(0f) } else if (bouncerExpansion > 0f) { emit(1 - bouncerExpansion) if (bouncerExpansion > 0f) { emit(alphaForBouncerExpansion(bouncerExpansion)) } else if (qsExpansion == 1f) { // Ensure HUNs will be visible in QS shade (at least while // unlocked) Loading @@ -576,10 +574,8 @@ constructor( combineTransform(isAnyExpanded, bouncerInteractor.bouncerExpansion) { isAnyExpanded, bouncerExpansion -> if (bouncerExpansion == 1f) { emit(0f) } else if (bouncerExpansion > 0f) { emit(1 - bouncerExpansion) if (bouncerExpansion > 0f) { emit(alphaForBouncerExpansion(bouncerExpansion)) } else if (isAnyExpanded) { emit(1f) } Loading @@ -596,7 +592,7 @@ constructor( qsExpansion, bouncerExpansion -> if (bouncerExpansion > 0f) { emit(1 - bouncerExpansion) emit(alphaForBouncerExpansion(bouncerExpansion)) } else if (isHeadsUpOrAnimatingAway) { // Ensure HUNs will be visible in QS shade (at least while // unlocked) Loading Loading @@ -653,6 +649,13 @@ constructor( .onStart { emit(1f) } .dumpWhileCollecting("alphaForShadeAndQsExpansion") private fun alphaForBouncerExpansion(bouncerExpansion: Float): Float { // The shade content fades out faster than the bouncer comes in. // See lockscreenToOverlayTransition for the definition of how // the rest of the content behaves during the transition. return maxOf(0f, 1f - bouncerExpansion * 5f) } val panelAlpha = keyguardInteractor.panelAlpha private fun bouncerToGoneNotificationAlpha(viewState: ViewStateAccessor): Flow<Float> = Loading Loading
packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenToPrimaryBouncerTransitionViewModel.kt +11 −1 Original line number Diff line number Diff line Loading @@ -68,11 +68,21 @@ constructor(private val blurConfig: BlurConfig, animationFlow: KeyguardTransitio onFinish = { 0f }, ) val lockscreenAlpha: Flow<Float> = shortcutsAlpha val lockscreenAlpha: Flow<Float> = if (SceneContainerFlag.isEnabled) { // Lockscreen -> Bouncer is a scene transition in Flexiglass. // SharedNotificationContainerViewModel#alphaForShadeAndQsExpansion might be relevant // instead. emptyFlow() } else { shortcutsAlpha } val notificationAlpha: Flow<Float> = if (SceneContainerFlag.isEnabled) { // Lockscreen -> Bouncer is a scene transition in Flexiglass. // SharedNotificationContainerViewModel#alphaForShadeAndQsExpansion might be relevant // instead. emptyFlow() } else if (Flags.bouncerUiRevamp()) { transitionAnimation.sharedFlowWithShade( Loading
packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/PrimaryBouncerToLockscreenTransitionViewModel.kt +15 −6 Original line number Diff line number Diff line Loading @@ -28,10 +28,12 @@ import com.android.systemui.keyguard.ui.KeyguardTransitionAnimationFlow import com.android.systemui.keyguard.ui.transitions.BlurConfig import com.android.systemui.keyguard.ui.transitions.DeviceEntryIconTransition import com.android.systemui.keyguard.ui.transitions.PrimaryBouncerTransition import com.android.systemui.scene.shared.flag.SceneContainerFlag import com.android.systemui.scene.shared.model.Overlays import javax.inject.Inject import kotlin.time.Duration.Companion.milliseconds import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.emptyFlow /** * Breaks down PRIMARY BOUNCER->LOCKSCREEN transition into discrete steps for corresponding views to Loading @@ -58,6 +60,12 @@ constructor(private val blurConfig: BlurConfig, animationFlow: KeyguardTransitio ) fun lockscreenAlpha(viewState: ViewStateAccessor): Flow<Float> { if (SceneContainerFlag.isEnabled) { // Lockscreen -> Bouncer is a scene transition in Flexiglass. // SharedNotificationContainerViewModel#alphaForShadeAndQsExpansion might be relevant // instead. return emptyFlow() } else { var currentAlpha = 0f return transitionAnimation.sharedFlow( duration = 250.milliseconds, Loading @@ -65,6 +73,7 @@ constructor(private val blurConfig: BlurConfig, animationFlow: KeyguardTransitio onStep = { MathUtils.lerp(currentAlpha, 1f, it) }, ) } } val deviceEntryBackgroundViewAlpha: Flow<Float> = transitionAnimation.immediatelyTransitionTo(1f) Loading
packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModel.kt +12 −9 Original line number Diff line number Diff line Loading @@ -559,10 +559,8 @@ constructor( shadeInteractor.qsExpansion, bouncerInteractor.bouncerExpansion, ) { shadeExpansion, qsExpansion, bouncerExpansion -> if (bouncerExpansion == 1f) { emit(0f) } else if (bouncerExpansion > 0f) { emit(1 - bouncerExpansion) if (bouncerExpansion > 0f) { emit(alphaForBouncerExpansion(bouncerExpansion)) } else if (qsExpansion == 1f) { // Ensure HUNs will be visible in QS shade (at least while // unlocked) Loading @@ -576,10 +574,8 @@ constructor( combineTransform(isAnyExpanded, bouncerInteractor.bouncerExpansion) { isAnyExpanded, bouncerExpansion -> if (bouncerExpansion == 1f) { emit(0f) } else if (bouncerExpansion > 0f) { emit(1 - bouncerExpansion) if (bouncerExpansion > 0f) { emit(alphaForBouncerExpansion(bouncerExpansion)) } else if (isAnyExpanded) { emit(1f) } Loading @@ -596,7 +592,7 @@ constructor( qsExpansion, bouncerExpansion -> if (bouncerExpansion > 0f) { emit(1 - bouncerExpansion) emit(alphaForBouncerExpansion(bouncerExpansion)) } else if (isHeadsUpOrAnimatingAway) { // Ensure HUNs will be visible in QS shade (at least while // unlocked) Loading Loading @@ -653,6 +649,13 @@ constructor( .onStart { emit(1f) } .dumpWhileCollecting("alphaForShadeAndQsExpansion") private fun alphaForBouncerExpansion(bouncerExpansion: Float): Float { // The shade content fades out faster than the bouncer comes in. // See lockscreenToOverlayTransition for the definition of how // the rest of the content behaves during the transition. return maxOf(0f, 1f - bouncerExpansion * 5f) } val panelAlpha = keyguardInteractor.panelAlpha private fun bouncerToGoneNotificationAlpha(viewState: ViewStateAccessor): Flow<Float> = Loading