Loading packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromAlternateBouncerTransitionInteractor.kt +11 −11 Original line number Diff line number Diff line Loading @@ -26,8 +26,11 @@ import com.android.systemui.keyguard.KeyguardWmStateRefactor import com.android.systemui.keyguard.data.repository.KeyguardTransitionRepository import com.android.systemui.keyguard.shared.model.Edge import com.android.systemui.keyguard.shared.model.KeyguardState import com.android.systemui.keyguard.shared.model.TransitionStep import com.android.systemui.power.domain.interactor.PowerInteractor import com.android.systemui.scene.shared.flag.SceneContainerFlag import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.util.kotlin.Utils.Companion.sample as sampleCombine import com.android.wm.shell.animation.Interpolators import javax.inject.Inject import kotlin.time.Duration.Companion.milliseconds Loading @@ -36,7 +39,6 @@ import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.delay import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.emptyFlow import kotlinx.coroutines.flow.filter Loading @@ -46,7 +48,6 @@ import kotlinx.coroutines.flow.merge import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.onStart import kotlinx.coroutines.launch import com.android.systemui.util.kotlin.Utils.Companion.sample as sampleCombine @ExperimentalCoroutinesApi @SysUISingleton Loading Loading @@ -82,17 +83,16 @@ constructor( } val surfaceBehindVisibility: Flow<Boolean?> = combine( transitionInteractor.startedKeyguardTransitionStep, transitionInteractor.transition(Edge.create(from = KeyguardState.ALTERNATE_BOUNCER)) ) { startedStep, fromBouncerStep -> if (startedStep.to != KeyguardState.GONE) { return@combine null } transitionInteractor .transition( edge = Edge.create(from = KeyguardState.ALTERNATE_BOUNCER, to = Scenes.Gone), edgeWithoutSceneContainer = Edge.create(from = KeyguardState.ALTERNATE_BOUNCER, to = KeyguardState.GONE) ) .map<TransitionStep, Boolean?> { // The alt bouncer is pretty fast to hide, so start the surface behind animation // around 30%. fromBouncerStep.value > 0.3f it.value > 0.3f } .onStart { // Default to null ("don't care, use a reasonable default"). Loading packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromLockscreenTransitionInteractor.kt +10 −10 Original line number Diff line number Diff line Loading @@ -24,16 +24,18 @@ import com.android.systemui.Flags import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.flags.FeatureFlags import com.android.systemui.keyguard.KeyguardWmStateRefactor import com.android.systemui.keyguard.data.repository.KeyguardTransitionRepository import com.android.systemui.keyguard.shared.model.Edge import com.android.systemui.keyguard.shared.model.KeyguardState import com.android.systemui.keyguard.shared.model.StatusBarState.KEYGUARD import com.android.systemui.keyguard.shared.model.TransitionInfo import com.android.systemui.keyguard.shared.model.TransitionModeOnCanceled import com.android.systemui.keyguard.shared.model.TransitionState import com.android.systemui.keyguard.shared.model.TransitionStep import com.android.systemui.power.domain.interactor.PowerInteractor import com.android.systemui.scene.shared.flag.SceneContainerFlag import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.shade.data.repository.ShadeRepository import com.android.systemui.util.kotlin.Utils.Companion.sample as sampleCombine import java.util.UUID Loading @@ -59,7 +61,6 @@ constructor( @Background bgDispatcher: CoroutineDispatcher, @Main mainDispatcher: CoroutineDispatcher, keyguardInteractor: KeyguardInteractor, private val flags: FeatureFlags, private val shadeRepository: ShadeRepository, powerInteractor: PowerInteractor, private val glanceableHubTransitions: GlanceableHubTransitions, Loading Loading @@ -97,14 +98,13 @@ constructor( * LOCKSCREEN is running. */ val surfaceBehindVisibility: Flow<Boolean?> = transitionInteractor.startedKeyguardTransitionStep .map { startedStep -> if (startedStep.to != KeyguardState.GONE) { // LOCKSCREEN to anything but GONE does not require any special surface // visibility handling. return@map null } transitionInteractor .transition( edge = Edge.create(from = KeyguardState.LOCKSCREEN, to = Scenes.Gone), edgeWithoutSceneContainer = Edge.create(from = KeyguardState.LOCKSCREEN, to = KeyguardState.GONE) ) .map<TransitionStep, Boolean?> { true // Make the surface visible during LS -> GONE transitions. } .onStart { Loading packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromPrimaryBouncerTransitionInteractor.kt +20 −20 Original line number Diff line number Diff line Loading @@ -22,15 +22,14 @@ import com.android.systemui.communal.domain.interactor.CommunalInteractor import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.flags.FeatureFlags import com.android.systemui.keyguard.KeyguardWmStateRefactor import com.android.systemui.keyguard.data.repository.KeyguardTransitionRepository import com.android.systemui.keyguard.shared.model.Edge import com.android.systemui.keyguard.shared.model.KeyguardState import com.android.systemui.keyguard.shared.model.TransitionModeOnCanceled import com.android.systemui.keyguard.shared.model.TransitionStep import com.android.systemui.power.domain.interactor.PowerInteractor import com.android.systemui.scene.shared.flag.SceneContainerFlag import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.user.domain.interactor.SelectedUserInteractor import com.android.systemui.util.kotlin.Utils.Companion.sample import com.android.systemui.util.kotlin.sample Loading @@ -40,8 +39,9 @@ import kotlin.time.Duration.Companion.milliseconds import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.onStart import kotlinx.coroutines.launch Loading @@ -56,7 +56,6 @@ constructor( @Main mainDispatcher: CoroutineDispatcher, keyguardInteractor: KeyguardInteractor, private val communalInteractor: CommunalInteractor, private val flags: FeatureFlags, private val keyguardSecurityModel: KeyguardSecurityModel, private val selectedUserInteractor: SelectedUserInteractor, powerInteractor: PowerInteractor, Loading @@ -81,24 +80,25 @@ constructor( } val surfaceBehindVisibility: Flow<Boolean?> = combine( transitionInteractor.startedKeyguardTransitionStep, transitionInteractor.transition( edge = Edge.create(from = Scenes.Bouncer), edgeWithoutSceneContainer = Edge.create(from = KeyguardState.PRIMARY_BOUNCER) if (SceneContainerFlag.isEnabled) { // The edge Scenes.Bouncer <-> Scenes.Gone is handled by STL flowOf(null) } else { transitionInteractor .transition( edge = Edge.INVALID, edgeWithoutSceneContainer = Edge.create(from = KeyguardState.PRIMARY_BOUNCER, to = KeyguardState.GONE) ) ) { startedStep, fromBouncerStep -> if (startedStep.to != KeyguardState.GONE) { return@combine null } fromBouncerStep.value > TO_GONE_SURFACE_BEHIND_VISIBLE_THRESHOLD .map<TransitionStep, Boolean?> { it.value > TO_GONE_SURFACE_BEHIND_VISIBLE_THRESHOLD } .onStart { // Default to null ("don't care, use a reasonable default"). emit(null) } .distinctUntilChanged() } fun dismissPrimaryBouncer() { scope.launch { startTransitionTo(KeyguardState.GONE) } Loading packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/domain/interactor/FromLockscreenTransitionInteractorKosmos.kt +0 −2 Original line number Diff line number Diff line Loading @@ -16,7 +16,6 @@ package com.android.systemui.keyguard.domain.interactor import com.android.systemui.flags.featureFlagsClassic import com.android.systemui.keyguard.data.repository.keyguardTransitionRepository import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.applicationCoroutineScope Loading @@ -34,7 +33,6 @@ var Kosmos.fromLockscreenTransitionInteractor by bgDispatcher = testDispatcher, mainDispatcher = testDispatcher, keyguardInteractor = keyguardInteractor, flags = featureFlagsClassic, shadeRepository = shadeRepository, powerInteractor = powerInteractor, glanceableHubTransitions = glanceableHubTransitions, Loading packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/domain/interactor/FromPrimaryBouncerTransitionInteractorKosmos.kt +0 −2 Original line number Diff line number Diff line Loading @@ -18,7 +18,6 @@ package com.android.systemui.keyguard.domain.interactor import com.android.keyguard.keyguardSecurityModel import com.android.systemui.communal.domain.interactor.communalInteractor import com.android.systemui.flags.featureFlagsClassic import com.android.systemui.keyguard.data.repository.keyguardTransitionRepository import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.applicationCoroutineScope Loading @@ -37,7 +36,6 @@ var Kosmos.fromPrimaryBouncerTransitionInteractor by mainDispatcher = testDispatcher, keyguardInteractor = keyguardInteractor, communalInteractor = communalInteractor, flags = featureFlagsClassic, keyguardSecurityModel = keyguardSecurityModel, selectedUserInteractor = selectedUserInteractor, powerInteractor = powerInteractor, Loading Loading
packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromAlternateBouncerTransitionInteractor.kt +11 −11 Original line number Diff line number Diff line Loading @@ -26,8 +26,11 @@ import com.android.systemui.keyguard.KeyguardWmStateRefactor import com.android.systemui.keyguard.data.repository.KeyguardTransitionRepository import com.android.systemui.keyguard.shared.model.Edge import com.android.systemui.keyguard.shared.model.KeyguardState import com.android.systemui.keyguard.shared.model.TransitionStep import com.android.systemui.power.domain.interactor.PowerInteractor import com.android.systemui.scene.shared.flag.SceneContainerFlag import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.util.kotlin.Utils.Companion.sample as sampleCombine import com.android.wm.shell.animation.Interpolators import javax.inject.Inject import kotlin.time.Duration.Companion.milliseconds Loading @@ -36,7 +39,6 @@ import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.delay import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.emptyFlow import kotlinx.coroutines.flow.filter Loading @@ -46,7 +48,6 @@ import kotlinx.coroutines.flow.merge import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.onStart import kotlinx.coroutines.launch import com.android.systemui.util.kotlin.Utils.Companion.sample as sampleCombine @ExperimentalCoroutinesApi @SysUISingleton Loading Loading @@ -82,17 +83,16 @@ constructor( } val surfaceBehindVisibility: Flow<Boolean?> = combine( transitionInteractor.startedKeyguardTransitionStep, transitionInteractor.transition(Edge.create(from = KeyguardState.ALTERNATE_BOUNCER)) ) { startedStep, fromBouncerStep -> if (startedStep.to != KeyguardState.GONE) { return@combine null } transitionInteractor .transition( edge = Edge.create(from = KeyguardState.ALTERNATE_BOUNCER, to = Scenes.Gone), edgeWithoutSceneContainer = Edge.create(from = KeyguardState.ALTERNATE_BOUNCER, to = KeyguardState.GONE) ) .map<TransitionStep, Boolean?> { // The alt bouncer is pretty fast to hide, so start the surface behind animation // around 30%. fromBouncerStep.value > 0.3f it.value > 0.3f } .onStart { // Default to null ("don't care, use a reasonable default"). Loading
packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromLockscreenTransitionInteractor.kt +10 −10 Original line number Diff line number Diff line Loading @@ -24,16 +24,18 @@ import com.android.systemui.Flags import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.flags.FeatureFlags import com.android.systemui.keyguard.KeyguardWmStateRefactor import com.android.systemui.keyguard.data.repository.KeyguardTransitionRepository import com.android.systemui.keyguard.shared.model.Edge import com.android.systemui.keyguard.shared.model.KeyguardState import com.android.systemui.keyguard.shared.model.StatusBarState.KEYGUARD import com.android.systemui.keyguard.shared.model.TransitionInfo import com.android.systemui.keyguard.shared.model.TransitionModeOnCanceled import com.android.systemui.keyguard.shared.model.TransitionState import com.android.systemui.keyguard.shared.model.TransitionStep import com.android.systemui.power.domain.interactor.PowerInteractor import com.android.systemui.scene.shared.flag.SceneContainerFlag import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.shade.data.repository.ShadeRepository import com.android.systemui.util.kotlin.Utils.Companion.sample as sampleCombine import java.util.UUID Loading @@ -59,7 +61,6 @@ constructor( @Background bgDispatcher: CoroutineDispatcher, @Main mainDispatcher: CoroutineDispatcher, keyguardInteractor: KeyguardInteractor, private val flags: FeatureFlags, private val shadeRepository: ShadeRepository, powerInteractor: PowerInteractor, private val glanceableHubTransitions: GlanceableHubTransitions, Loading Loading @@ -97,14 +98,13 @@ constructor( * LOCKSCREEN is running. */ val surfaceBehindVisibility: Flow<Boolean?> = transitionInteractor.startedKeyguardTransitionStep .map { startedStep -> if (startedStep.to != KeyguardState.GONE) { // LOCKSCREEN to anything but GONE does not require any special surface // visibility handling. return@map null } transitionInteractor .transition( edge = Edge.create(from = KeyguardState.LOCKSCREEN, to = Scenes.Gone), edgeWithoutSceneContainer = Edge.create(from = KeyguardState.LOCKSCREEN, to = KeyguardState.GONE) ) .map<TransitionStep, Boolean?> { true // Make the surface visible during LS -> GONE transitions. } .onStart { Loading
packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromPrimaryBouncerTransitionInteractor.kt +20 −20 Original line number Diff line number Diff line Loading @@ -22,15 +22,14 @@ import com.android.systemui.communal.domain.interactor.CommunalInteractor import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.flags.FeatureFlags import com.android.systemui.keyguard.KeyguardWmStateRefactor import com.android.systemui.keyguard.data.repository.KeyguardTransitionRepository import com.android.systemui.keyguard.shared.model.Edge import com.android.systemui.keyguard.shared.model.KeyguardState import com.android.systemui.keyguard.shared.model.TransitionModeOnCanceled import com.android.systemui.keyguard.shared.model.TransitionStep import com.android.systemui.power.domain.interactor.PowerInteractor import com.android.systemui.scene.shared.flag.SceneContainerFlag import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.user.domain.interactor.SelectedUserInteractor import com.android.systemui.util.kotlin.Utils.Companion.sample import com.android.systemui.util.kotlin.sample Loading @@ -40,8 +39,9 @@ import kotlin.time.Duration.Companion.milliseconds import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.onStart import kotlinx.coroutines.launch Loading @@ -56,7 +56,6 @@ constructor( @Main mainDispatcher: CoroutineDispatcher, keyguardInteractor: KeyguardInteractor, private val communalInteractor: CommunalInteractor, private val flags: FeatureFlags, private val keyguardSecurityModel: KeyguardSecurityModel, private val selectedUserInteractor: SelectedUserInteractor, powerInteractor: PowerInteractor, Loading @@ -81,24 +80,25 @@ constructor( } val surfaceBehindVisibility: Flow<Boolean?> = combine( transitionInteractor.startedKeyguardTransitionStep, transitionInteractor.transition( edge = Edge.create(from = Scenes.Bouncer), edgeWithoutSceneContainer = Edge.create(from = KeyguardState.PRIMARY_BOUNCER) if (SceneContainerFlag.isEnabled) { // The edge Scenes.Bouncer <-> Scenes.Gone is handled by STL flowOf(null) } else { transitionInteractor .transition( edge = Edge.INVALID, edgeWithoutSceneContainer = Edge.create(from = KeyguardState.PRIMARY_BOUNCER, to = KeyguardState.GONE) ) ) { startedStep, fromBouncerStep -> if (startedStep.to != KeyguardState.GONE) { return@combine null } fromBouncerStep.value > TO_GONE_SURFACE_BEHIND_VISIBLE_THRESHOLD .map<TransitionStep, Boolean?> { it.value > TO_GONE_SURFACE_BEHIND_VISIBLE_THRESHOLD } .onStart { // Default to null ("don't care, use a reasonable default"). emit(null) } .distinctUntilChanged() } fun dismissPrimaryBouncer() { scope.launch { startTransitionTo(KeyguardState.GONE) } Loading
packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/domain/interactor/FromLockscreenTransitionInteractorKosmos.kt +0 −2 Original line number Diff line number Diff line Loading @@ -16,7 +16,6 @@ package com.android.systemui.keyguard.domain.interactor import com.android.systemui.flags.featureFlagsClassic import com.android.systemui.keyguard.data.repository.keyguardTransitionRepository import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.applicationCoroutineScope Loading @@ -34,7 +33,6 @@ var Kosmos.fromLockscreenTransitionInteractor by bgDispatcher = testDispatcher, mainDispatcher = testDispatcher, keyguardInteractor = keyguardInteractor, flags = featureFlagsClassic, shadeRepository = shadeRepository, powerInteractor = powerInteractor, glanceableHubTransitions = glanceableHubTransitions, Loading
packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/domain/interactor/FromPrimaryBouncerTransitionInteractorKosmos.kt +0 −2 Original line number Diff line number Diff line Loading @@ -18,7 +18,6 @@ package com.android.systemui.keyguard.domain.interactor import com.android.keyguard.keyguardSecurityModel import com.android.systemui.communal.domain.interactor.communalInteractor import com.android.systemui.flags.featureFlagsClassic import com.android.systemui.keyguard.data.repository.keyguardTransitionRepository import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.applicationCoroutineScope Loading @@ -37,7 +36,6 @@ var Kosmos.fromPrimaryBouncerTransitionInteractor by mainDispatcher = testDispatcher, keyguardInteractor = keyguardInteractor, communalInteractor = communalInteractor, flags = featureFlagsClassic, keyguardSecurityModel = keyguardSecurityModel, selectedUserInteractor = selectedUserInteractor, powerInteractor = powerInteractor, Loading