Loading packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/OccludedToLockscreenTransitionViewModel.kt +5 −30 Original line number Diff line number Diff line Loading @@ -21,21 +21,15 @@ import com.android.systemui.common.ui.domain.interactor.ConfigurationInteractor import com.android.systemui.dagger.SysUISingleton import com.android.systemui.deviceentry.domain.interactor.DeviceEntryUdfpsInteractor import com.android.systemui.keyguard.domain.interactor.FromOccludedTransitionInteractor.Companion.TO_LOCKSCREEN_DURATION import com.android.systemui.keyguard.domain.interactor.KeyguardInteractor import com.android.systemui.keyguard.domain.interactor.KeyguardTransitionInteractor import com.android.systemui.keyguard.shared.model.KeyguardState import com.android.systemui.keyguard.ui.KeyguardTransitionAnimationFlow import com.android.systemui.keyguard.ui.transitions.DeviceEntryIconTransition import com.android.systemui.res.R import com.android.systemui.util.kotlin.pairwise import javax.inject.Inject import kotlin.time.Duration.Companion.milliseconds import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.filter import kotlinx.coroutines.flow.flatMapLatest import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.merge /** * Breaks down OCCLUDED->LOCKSCREEN transition into discrete steps for corresponding views to Loading @@ -49,8 +43,6 @@ constructor( deviceEntryUdfpsInteractor: DeviceEntryUdfpsInteractor, configurationInteractor: ConfigurationInteractor, animationFlow: KeyguardTransitionAnimationFlow, keyguardInteractor: KeyguardInteractor, keyguardTransitionInteractor: KeyguardTransitionInteractor, ) : DeviceEntryIconTransition { private val transitionAnimation = Loading Loading @@ -82,28 +74,11 @@ constructor( /** Lockscreen views alpha */ val lockscreenAlpha: Flow<Float> = merge( transitionAnimation.sharedFlow( startTime = 233.milliseconds, duration = 250.milliseconds, onStep = { it }, name = "OCCLUDED->LOCKSCREEN: lockscreenAlpha", ), // Required to fix a bug where the shade expands while lockscreenAlpha=1f, due to a call // to setOccluded(false) triggering a reset() call in KeyguardViewMediator. The // permanent solution is to only expand the shade once the keyguard transition from // OCCLUDED starts, but that requires more refactoring of expansion amounts. For now, // emit alpha = 0f for OCCLUDED -> LOCKSCREEN whenever isOccluded flips from true to // false while currentState == OCCLUDED, so that alpha = 0f when that expansion occurs. // TODO(b/332946323): Remove this once it's no longer needed. keyguardInteractor.isKeyguardOccluded .pairwise() .filter { (wasOccluded, isOccluded) -> wasOccluded && !isOccluded && keyguardTransitionInteractor.getCurrentState() == KeyguardState.OCCLUDED } .map { 0f } ) val deviceEntryBackgroundViewAlpha: Flow<Float> = Loading packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/ui/viewmodel/OccludedToLockscreenTransitionViewModelKosmos.kt +0 −4 Original line number Diff line number Diff line Loading @@ -20,8 +20,6 @@ package com.android.systemui.keyguard.ui.viewmodel import com.android.systemui.common.ui.domain.interactor.configurationInteractor import com.android.systemui.deviceentry.domain.interactor.deviceEntryUdfpsInteractor import com.android.systemui.keyguard.domain.interactor.keyguardInteractor import com.android.systemui.keyguard.domain.interactor.keyguardTransitionInteractor import com.android.systemui.keyguard.ui.keyguardTransitionAnimationFlow import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.Kosmos.Fixture Loading @@ -32,7 +30,5 @@ var Kosmos.occludedToLockscreenTransitionViewModel by Fixture { deviceEntryUdfpsInteractor = deviceEntryUdfpsInteractor, configurationInteractor = configurationInteractor, animationFlow = keyguardTransitionAnimationFlow, keyguardInteractor = keyguardInteractor, keyguardTransitionInteractor = keyguardTransitionInteractor, ) } Loading
packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/OccludedToLockscreenTransitionViewModel.kt +5 −30 Original line number Diff line number Diff line Loading @@ -21,21 +21,15 @@ import com.android.systemui.common.ui.domain.interactor.ConfigurationInteractor import com.android.systemui.dagger.SysUISingleton import com.android.systemui.deviceentry.domain.interactor.DeviceEntryUdfpsInteractor import com.android.systemui.keyguard.domain.interactor.FromOccludedTransitionInteractor.Companion.TO_LOCKSCREEN_DURATION import com.android.systemui.keyguard.domain.interactor.KeyguardInteractor import com.android.systemui.keyguard.domain.interactor.KeyguardTransitionInteractor import com.android.systemui.keyguard.shared.model.KeyguardState import com.android.systemui.keyguard.ui.KeyguardTransitionAnimationFlow import com.android.systemui.keyguard.ui.transitions.DeviceEntryIconTransition import com.android.systemui.res.R import com.android.systemui.util.kotlin.pairwise import javax.inject.Inject import kotlin.time.Duration.Companion.milliseconds import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.filter import kotlinx.coroutines.flow.flatMapLatest import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.merge /** * Breaks down OCCLUDED->LOCKSCREEN transition into discrete steps for corresponding views to Loading @@ -49,8 +43,6 @@ constructor( deviceEntryUdfpsInteractor: DeviceEntryUdfpsInteractor, configurationInteractor: ConfigurationInteractor, animationFlow: KeyguardTransitionAnimationFlow, keyguardInteractor: KeyguardInteractor, keyguardTransitionInteractor: KeyguardTransitionInteractor, ) : DeviceEntryIconTransition { private val transitionAnimation = Loading Loading @@ -82,28 +74,11 @@ constructor( /** Lockscreen views alpha */ val lockscreenAlpha: Flow<Float> = merge( transitionAnimation.sharedFlow( startTime = 233.milliseconds, duration = 250.milliseconds, onStep = { it }, name = "OCCLUDED->LOCKSCREEN: lockscreenAlpha", ), // Required to fix a bug where the shade expands while lockscreenAlpha=1f, due to a call // to setOccluded(false) triggering a reset() call in KeyguardViewMediator. The // permanent solution is to only expand the shade once the keyguard transition from // OCCLUDED starts, but that requires more refactoring of expansion amounts. For now, // emit alpha = 0f for OCCLUDED -> LOCKSCREEN whenever isOccluded flips from true to // false while currentState == OCCLUDED, so that alpha = 0f when that expansion occurs. // TODO(b/332946323): Remove this once it's no longer needed. keyguardInteractor.isKeyguardOccluded .pairwise() .filter { (wasOccluded, isOccluded) -> wasOccluded && !isOccluded && keyguardTransitionInteractor.getCurrentState() == KeyguardState.OCCLUDED } .map { 0f } ) val deviceEntryBackgroundViewAlpha: Flow<Float> = Loading
packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/ui/viewmodel/OccludedToLockscreenTransitionViewModelKosmos.kt +0 −4 Original line number Diff line number Diff line Loading @@ -20,8 +20,6 @@ package com.android.systemui.keyguard.ui.viewmodel import com.android.systemui.common.ui.domain.interactor.configurationInteractor import com.android.systemui.deviceentry.domain.interactor.deviceEntryUdfpsInteractor import com.android.systemui.keyguard.domain.interactor.keyguardInteractor import com.android.systemui.keyguard.domain.interactor.keyguardTransitionInteractor import com.android.systemui.keyguard.ui.keyguardTransitionAnimationFlow import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.Kosmos.Fixture Loading @@ -32,7 +30,5 @@ var Kosmos.occludedToLockscreenTransitionViewModel by Fixture { deviceEntryUdfpsInteractor = deviceEntryUdfpsInteractor, configurationInteractor = configurationInteractor, animationFlow = keyguardTransitionAnimationFlow, keyguardInteractor = keyguardInteractor, keyguardTransitionInteractor = keyguardTransitionInteractor, ) }