Loading packages/SystemUI/src/com/android/systemui/keyguard/data/repository/KeyguardTransitionRepository.kt +10 −0 Original line number Original line Diff line number Diff line Loading @@ -34,6 +34,7 @@ import com.android.systemui.keyguard.shared.model.TransitionModeOnCanceled import com.android.systemui.keyguard.shared.model.TransitionState import com.android.systemui.keyguard.shared.model.TransitionState import com.android.systemui.keyguard.shared.model.TransitionStep import com.android.systemui.keyguard.shared.model.TransitionStep import com.android.systemui.keyguard.shared.transition.KeyguardTransitionAnimationCallback import com.android.systemui.keyguard.shared.transition.KeyguardTransitionAnimationCallback import com.android.systemui.scene.shared.flag.SceneContainerFlag import java.util.UUID import java.util.UUID import javax.inject.Inject import javax.inject.Inject import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.CoroutineDispatcher Loading Loading @@ -341,6 +342,15 @@ constructor( } } private fun emitTransition(nextStep: TransitionStep, isManual: Boolean = false) { private fun emitTransition(nextStep: TransitionStep, isManual: Boolean = false) { if (SceneContainerFlag.isEnabled) { if ( nextStep.from == KeyguardState.UNDEFINED && nextStep.to == KeyguardState.UNDEFINED ) { Log.i(TAG, "Skipping UNDEFINED->UNDEFINED transition") return } } logAndTrace(nextStep, isManual) logAndTrace(nextStep, isManual) _transitions.tryEmit(nextStep) _transitions.tryEmit(nextStep) lastStep = nextStep lastStep = nextStep Loading packages/SystemUI/src/com/android/systemui/scene/domain/interactor/SceneInteractor.kt +1 −1 Original line number Original line Diff line number Diff line Loading @@ -344,7 +344,7 @@ constructor( repository.instantlyTransitionTo( repository.instantlyTransitionTo( scene = resolvedScene, scene = resolvedScene, overlays = if (hideAllOverlays) emptySet() else currentOverlays.value, overlays = emptySet<OverlayKey>().takeIf { hideAllOverlays }, ) ) } } Loading packages/SystemUI/src/com/android/systemui/scene/domain/startable/SceneContainerStartable.kt +22 −9 Original line number Original line Diff line number Diff line Loading @@ -539,6 +539,7 @@ constructor( HideOverlayCommand.HideAll HideOverlayCommand.HideAll }, }, loggingReason = loggingReason, loggingReason = loggingReason, instantlySnapScenes = true, ) ) } else { } else { if (previousScene.value != Scenes.Gone) { if (previousScene.value != Scenes.Gone) { Loading @@ -549,6 +550,7 @@ constructor( loggingReason = loggingReason = "device was unlocked with primary bouncer" + "device was unlocked with primary bouncer" + " showing, from sceneKey=${targetScene.debugName}", " showing, from sceneKey=${targetScene.debugName}", instantlySnapScenes = true, ) ) } } } } Loading Loading @@ -590,6 +592,7 @@ constructor( targetSceneKey = command.targetSceneKey, targetSceneKey = command.targetSceneKey, hideOverlays = command.hideOverlays, hideOverlays = command.hideOverlays, loggingReason = command.loggingReason, loggingReason = command.loggingReason, instantlySnapScenes = command.instantlySnapScenes, ) ) } } is SwitchSceneCommand.NoOp -> Unit is SwitchSceneCommand.NoOp -> Unit Loading Loading @@ -1048,6 +1051,7 @@ constructor( sceneState: Any? = null, sceneState: Any? = null, freezeAndAnimateToCurrentState: Boolean = false, freezeAndAnimateToCurrentState: Boolean = false, hideOverlays: HideOverlayCommand = HideOverlayCommand.HideAll, hideOverlays: HideOverlayCommand = HideOverlayCommand.HideAll, instantlySnapScenes: Boolean = false, ) { ) { if (hideOverlays is HideOverlayCommand.HideSome) { if (hideOverlays is HideOverlayCommand.HideSome) { hideOverlays.overlays.fastForEach { overlay -> hideOverlays.overlays.fastForEach { overlay -> Loading @@ -1055,6 +1059,13 @@ constructor( } } } } if (instantlySnapScenes) { sceneInteractor.snapToScene( toScene = targetSceneKey, loggingReason = loggingReason, hideAllOverlays = hideOverlays == HideOverlayCommand.HideAll, ) } else { sceneInteractor.changeScene( sceneInteractor.changeScene( toScene = targetSceneKey, toScene = targetSceneKey, loggingReason = loggingReason, loggingReason = loggingReason, Loading @@ -1063,6 +1074,7 @@ constructor( hideAllOverlays = hideOverlays == HideOverlayCommand.HideAll, hideAllOverlays = hideOverlays == HideOverlayCommand.HideAll, ) ) } } } private fun hydrateBackStack() { private fun hydrateBackStack() { applicationScope.launch { applicationScope.launch { Loading Loading @@ -1160,6 +1172,7 @@ constructor( val targetSceneKey: SceneKey, val targetSceneKey: SceneKey, val loggingReason: String, val loggingReason: String, val hideOverlays: HideOverlayCommand = HideOverlayCommand.HideAll, val hideOverlays: HideOverlayCommand = HideOverlayCommand.HideAll, val instantlySnapScenes: Boolean = false, ) : SwitchSceneCommand ) : SwitchSceneCommand } } Loading Loading
packages/SystemUI/src/com/android/systemui/keyguard/data/repository/KeyguardTransitionRepository.kt +10 −0 Original line number Original line Diff line number Diff line Loading @@ -34,6 +34,7 @@ import com.android.systemui.keyguard.shared.model.TransitionModeOnCanceled import com.android.systemui.keyguard.shared.model.TransitionState import com.android.systemui.keyguard.shared.model.TransitionState import com.android.systemui.keyguard.shared.model.TransitionStep import com.android.systemui.keyguard.shared.model.TransitionStep import com.android.systemui.keyguard.shared.transition.KeyguardTransitionAnimationCallback import com.android.systemui.keyguard.shared.transition.KeyguardTransitionAnimationCallback import com.android.systemui.scene.shared.flag.SceneContainerFlag import java.util.UUID import java.util.UUID import javax.inject.Inject import javax.inject.Inject import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.CoroutineDispatcher Loading Loading @@ -341,6 +342,15 @@ constructor( } } private fun emitTransition(nextStep: TransitionStep, isManual: Boolean = false) { private fun emitTransition(nextStep: TransitionStep, isManual: Boolean = false) { if (SceneContainerFlag.isEnabled) { if ( nextStep.from == KeyguardState.UNDEFINED && nextStep.to == KeyguardState.UNDEFINED ) { Log.i(TAG, "Skipping UNDEFINED->UNDEFINED transition") return } } logAndTrace(nextStep, isManual) logAndTrace(nextStep, isManual) _transitions.tryEmit(nextStep) _transitions.tryEmit(nextStep) lastStep = nextStep lastStep = nextStep Loading
packages/SystemUI/src/com/android/systemui/scene/domain/interactor/SceneInteractor.kt +1 −1 Original line number Original line Diff line number Diff line Loading @@ -344,7 +344,7 @@ constructor( repository.instantlyTransitionTo( repository.instantlyTransitionTo( scene = resolvedScene, scene = resolvedScene, overlays = if (hideAllOverlays) emptySet() else currentOverlays.value, overlays = emptySet<OverlayKey>().takeIf { hideAllOverlays }, ) ) } } Loading
packages/SystemUI/src/com/android/systemui/scene/domain/startable/SceneContainerStartable.kt +22 −9 Original line number Original line Diff line number Diff line Loading @@ -539,6 +539,7 @@ constructor( HideOverlayCommand.HideAll HideOverlayCommand.HideAll }, }, loggingReason = loggingReason, loggingReason = loggingReason, instantlySnapScenes = true, ) ) } else { } else { if (previousScene.value != Scenes.Gone) { if (previousScene.value != Scenes.Gone) { Loading @@ -549,6 +550,7 @@ constructor( loggingReason = loggingReason = "device was unlocked with primary bouncer" + "device was unlocked with primary bouncer" + " showing, from sceneKey=${targetScene.debugName}", " showing, from sceneKey=${targetScene.debugName}", instantlySnapScenes = true, ) ) } } } } Loading Loading @@ -590,6 +592,7 @@ constructor( targetSceneKey = command.targetSceneKey, targetSceneKey = command.targetSceneKey, hideOverlays = command.hideOverlays, hideOverlays = command.hideOverlays, loggingReason = command.loggingReason, loggingReason = command.loggingReason, instantlySnapScenes = command.instantlySnapScenes, ) ) } } is SwitchSceneCommand.NoOp -> Unit is SwitchSceneCommand.NoOp -> Unit Loading Loading @@ -1048,6 +1051,7 @@ constructor( sceneState: Any? = null, sceneState: Any? = null, freezeAndAnimateToCurrentState: Boolean = false, freezeAndAnimateToCurrentState: Boolean = false, hideOverlays: HideOverlayCommand = HideOverlayCommand.HideAll, hideOverlays: HideOverlayCommand = HideOverlayCommand.HideAll, instantlySnapScenes: Boolean = false, ) { ) { if (hideOverlays is HideOverlayCommand.HideSome) { if (hideOverlays is HideOverlayCommand.HideSome) { hideOverlays.overlays.fastForEach { overlay -> hideOverlays.overlays.fastForEach { overlay -> Loading @@ -1055,6 +1059,13 @@ constructor( } } } } if (instantlySnapScenes) { sceneInteractor.snapToScene( toScene = targetSceneKey, loggingReason = loggingReason, hideAllOverlays = hideOverlays == HideOverlayCommand.HideAll, ) } else { sceneInteractor.changeScene( sceneInteractor.changeScene( toScene = targetSceneKey, toScene = targetSceneKey, loggingReason = loggingReason, loggingReason = loggingReason, Loading @@ -1063,6 +1074,7 @@ constructor( hideAllOverlays = hideOverlays == HideOverlayCommand.HideAll, hideAllOverlays = hideOverlays == HideOverlayCommand.HideAll, ) ) } } } private fun hydrateBackStack() { private fun hydrateBackStack() { applicationScope.launch { applicationScope.launch { Loading Loading @@ -1160,6 +1172,7 @@ constructor( val targetSceneKey: SceneKey, val targetSceneKey: SceneKey, val loggingReason: String, val loggingReason: String, val hideOverlays: HideOverlayCommand = HideOverlayCommand.HideAll, val hideOverlays: HideOverlayCommand = HideOverlayCommand.HideAll, val instantlySnapScenes: Boolean = false, ) : SwitchSceneCommand ) : SwitchSceneCommand } } Loading