diff options
| author | 2024-07-09 23:05:36 +0000 | |
|---|---|---|
| committer | 2024-07-09 23:05:36 +0000 | |
| commit | 47bba7f048974dba1456fbff6475fb4e03bbf114 (patch) | |
| tree | 554336aa8c77c3e0a4f4c8557696899f210d981e | |
| parent | 03e4b97a74ac116d2337ddf1fa1c6b153807d7cc (diff) | |
| parent | 6e9df43296ea991395c0abf92bafd89247010faa (diff) | |
Merge changes I8be6ace3,I15551370 into main
* changes:
[Flexiglass] Clean up deprecated GONE users
[Flexiglass] Fix BiometricsUnlockController
24 files changed, 94 insertions, 98 deletions
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/domain/interactor/SceneInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/domain/interactor/SceneInteractorTest.kt index 3acb328e81af..e3a69a964b45 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/domain/interactor/SceneInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/domain/interactor/SceneInteractorTest.kt @@ -49,6 +49,7 @@ import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.flow.toList import kotlinx.coroutines.test.runCurrent import kotlinx.coroutines.test.runTest +import org.junit.Before import org.junit.Test import org.junit.runner.RunWith @@ -63,7 +64,8 @@ class SceneInteractorTest : SysuiTestCase() { private val underTest = kosmos.sceneInteractor - init { + @Before + fun setUp() { // Init lazy Fixtures. Accessing them once makes sure that the singletons are initialized // and therefore starts to collect StateFlows eagerly (when there are any). kosmos.deviceUnlockedInteractor diff --git a/packages/SystemUI/src/com/android/systemui/bouncer/domain/interactor/AlternateBouncerInteractor.kt b/packages/SystemUI/src/com/android/systemui/bouncer/domain/interactor/AlternateBouncerInteractor.kt index 1d11dfbc48a8..4984fc61c8f8 100644 --- a/packages/SystemUI/src/com/android/systemui/bouncer/domain/interactor/AlternateBouncerInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/bouncer/domain/interactor/AlternateBouncerInteractor.kt @@ -102,11 +102,7 @@ constructor( if (alternateBouncerSupported) { combine( keyguardTransitionInteractor.get().currentKeyguardState, - if (SceneContainerFlag.isEnabled) { - sceneInteractor.get().currentScene - } else { - flowOf(Scenes.Lockscreen) - }, + sceneInteractor.get().currentScene, ::Pair ) .flatMapLatest { (currentKeyguardState, transitionState) -> @@ -220,6 +216,7 @@ constructor( return (systemClock.uptimeMillis() - bouncerRepository.lastAlternateBouncerVisibleTime) > MIN_VISIBILITY_DURATION_UNTIL_TOUCHES_DISMISS_ALTERNATE_BOUNCER_MS } + /** * Should only be called through StatusBarKeyguardViewManager which propagates the source of * truth to other concerned controllers. Will hide the alternate bouncer if it's no longer diff --git a/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalEditModeViewModel.kt b/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalEditModeViewModel.kt index 18b343eb97c4..91f4c1c96504 100644 --- a/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalEditModeViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalEditModeViewModel.kt @@ -43,6 +43,7 @@ import com.android.systemui.log.dagger.CommunalLog import com.android.systemui.media.controls.ui.view.MediaHost import com.android.systemui.media.dagger.MediaModule import com.android.systemui.res.R +import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.util.kotlin.BooleanFlowOperators.allOf import com.android.systemui.util.kotlin.BooleanFlowOperators.not import javax.inject.Inject @@ -93,7 +94,10 @@ constructor( */ val canShowEditMode = allOf( - keyguardTransitionInteractor.isFinishedIn(KeyguardState.GONE), + keyguardTransitionInteractor.isFinishedIn( + scene = Scenes.Gone, + stateWithoutSceneContainer = KeyguardState.GONE + ), communalInteractor.editModeOpen ) .filter { it } diff --git a/packages/SystemUI/src/com/android/systemui/deviceentry/data/repository/DeviceEntryFaceAuthRepository.kt b/packages/SystemUI/src/com/android/systemui/deviceentry/data/repository/DeviceEntryFaceAuthRepository.kt index ed30d59a94fa..fa52dad17966 100644 --- a/packages/SystemUI/src/com/android/systemui/deviceentry/data/repository/DeviceEntryFaceAuthRepository.kt +++ b/packages/SystemUI/src/com/android/systemui/deviceentry/data/repository/DeviceEntryFaceAuthRepository.kt @@ -303,7 +303,10 @@ constructor( private fun listenForSchedulingWatchdog() { keyguardTransitionInteractor - .transition(Edge.create(to = KeyguardState.GONE)) + .transition( + edge = Edge.create(to = Scenes.Gone), + edgeWithoutSceneContainer = Edge.create(to = KeyguardState.GONE), + ) .filter { it.transitionState == TransitionState.FINISHED } .onEach { // We deliberately want to run this in background because scheduleWatchdog does @@ -324,7 +327,7 @@ constructor( combine( keyguardTransitionInteractor.isFinishedIn( scene = Scenes.Gone, - stateWithoutSceneContainer = KeyguardState.GONE + stateWithoutSceneContainer = KeyguardState.GONE, ), keyguardInteractor.statusBarState, ) { isFinishedInGoneState, statusBarState -> diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ResourceTrimmer.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ResourceTrimmer.kt index 97ea16d7f8c8..b9e513586298 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/ResourceTrimmer.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/ResourceTrimmer.kt @@ -24,11 +24,7 @@ import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.keyguard.domain.interactor.KeyguardTransitionInteractor -import com.android.systemui.keyguard.shared.model.Edge import com.android.systemui.keyguard.shared.model.KeyguardState.GONE -import com.android.systemui.keyguard.shared.model.TransitionState -import com.android.systemui.scene.domain.interactor.SceneInteractor -import com.android.systemui.scene.shared.flag.SceneContainerFlag import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.utils.GlobalWindowManager import javax.inject.Inject @@ -52,24 +48,15 @@ constructor( private val globalWindowManager: GlobalWindowManager, @Application private val applicationScope: CoroutineScope, @Background private val bgDispatcher: CoroutineDispatcher, - private val sceneInteractor: SceneInteractor, ) : CoreStartable { override fun start() { Log.d(LOG_TAG, "Resource trimmer registered.") applicationScope.launch(bgDispatcher) { - // We drop 1 to avoid triggering on initial collect(). - if (SceneContainerFlag.isEnabled) { - sceneInteractor.transitionState - .filter { it.isIdle(Scenes.Gone) } - .collect { onKeyguardGone() } - } else { - keyguardTransitionInteractor.transition(Edge.create(to = GONE)).collect { - if (it.transitionState == TransitionState.FINISHED) { - onKeyguardGone() - } - } - } + keyguardTransitionInteractor + .isFinishedIn(scene = Scenes.Gone, stateWithoutSceneContainer = GONE) + .filter { isOnGone -> isOnGone } + .collect { onKeyguardGone() } } } diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromAodTransitionInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromAodTransitionInteractor.kt index 1167cc47448c..d41c0c557f64 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromAodTransitionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromAodTransitionInteractor.kt @@ -137,6 +137,8 @@ constructor( (KeyguardWmStateRefactor.isEnabled && canWakeDirectlyToGone) if (shouldTransitionToGone) { + // TODO(b/336576536): Check if adaptation for scene framework is needed + if (SceneContainerFlag.isEnabled) return@collect startTransitionTo( toState = KeyguardState.GONE, ) diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromGlanceableHubTransitionInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromGlanceableHubTransitionInteractor.kt index 8041dd933143..2eca9e12d7ee 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromGlanceableHubTransitionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromGlanceableHubTransitionInteractor.kt @@ -167,6 +167,8 @@ constructor( } private fun listenForHubToGone() { + // TODO(b/336576536): Check if adaptation for scene framework is needed + if (SceneContainerFlag.isEnabled) return scope.launch { keyguardInteractor.isKeyguardGoingAway .filterRelevantKeyguardStateAnd { isKeyguardGoingAway -> isKeyguardGoingAway } diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromLockscreenTransitionInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromLockscreenTransitionInteractor.kt index ff15a1bc34d0..343a1351adef 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromLockscreenTransitionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromLockscreenTransitionInteractor.kt @@ -272,10 +272,9 @@ constructor( } private fun listenForLockscreenToGone() { - if (KeyguardWmStateRefactor.isEnabled) { - return - } - + // TODO(b/336576536): Check if adaptation for scene framework is needed + if (SceneContainerFlag.isEnabled) return + if (KeyguardWmStateRefactor.isEnabled) return scope.launch("$TAG#listenForLockscreenToGone") { keyguardInteractor.isKeyguardGoingAway .filterRelevantKeyguardStateAnd { isKeyguardGoingAway -> isKeyguardGoingAway } @@ -289,6 +288,7 @@ constructor( } private fun listenForLockscreenToGoneDragging() { + // TODO(b/336576536): Check if adaptation for scene framework is needed if (SceneContainerFlag.isEnabled) return if (KeyguardWmStateRefactor.isEnabled) { // When the refactor is enabled, we no longer use isKeyguardGoingAway. diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromPrimaryBouncerTransitionInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromPrimaryBouncerTransitionInteractor.kt index f98ed15a21c6..24290881a0fb 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromPrimaryBouncerTransitionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromPrimaryBouncerTransitionInteractor.kt @@ -40,7 +40,6 @@ import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.distinctUntilChanged -import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.onStart import kotlinx.coroutines.launch @@ -81,25 +80,18 @@ constructor( } val surfaceBehindVisibility: Flow<Boolean?> = - 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) - ) - .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() - } + transitionInteractor + .transition( + edge = Edge.INVALID, + edgeWithoutSceneContainer = + Edge.create(from = KeyguardState.PRIMARY_BOUNCER, to = KeyguardState.GONE) + ) + .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) } diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardEnabledInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardEnabledInteractor.kt index 66efde1c8358..4aef8084e5e7 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardEnabledInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardEnabledInteractor.kt @@ -90,17 +90,13 @@ constructor( * GONE. */ scope.launch { - repository.isKeyguardEnabled - .filter { enabled -> !enabled } - .sampleCombine( - biometricSettingsRepository.isCurrentUserInLockdown, - internalTransitionInteractor.currentTransitionInfoInternal, - ) - .collect { (_, inLockdown, currentTransitionInfo) -> - if (currentTransitionInfo.to != KeyguardState.GONE && !inLockdown) { + if (!SceneContainerFlag.isEnabled) { + showKeyguardWhenReenabled + .filter { shouldDismiss -> shouldDismiss } + .collect { transitionInteractor.startDismissKeyguardTransition("keyguard disabled") } - } + } } } diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardOcclusionInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardOcclusionInteractor.kt index 5af38ba49b85..7f1e881c0863 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardOcclusionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardOcclusionInteractor.kt @@ -97,8 +97,8 @@ constructor( powerInteractor.detailedWakefulness .sample( transitionInteractor.isFinishedIn( - Scenes.Gone, - stateWithoutSceneContainer = KeyguardState.GONE + scene = Scenes.Gone, + stateWithoutSceneContainer = KeyguardState.GONE, ), ::Pair ) diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardSurfaceBehindInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardSurfaceBehindInteractor.kt index bcbdc9cca83b..377a03edf88d 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardSurfaceBehindInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardSurfaceBehindInteractor.kt @@ -58,12 +58,12 @@ constructor( val viewParams: Flow<KeyguardSurfaceBehindModel> = combine( transitionInteractor.isInTransition( - Edge.create(to = Scenes.Gone), - edgeWithoutSceneContainer = Edge.create(to = KeyguardState.GONE) + edge = Edge.create(to = Scenes.Gone), + edgeWithoutSceneContainer = Edge.create(to = KeyguardState.GONE), ), transitionInteractor.isFinishedIn( - Scenes.Gone, - stateWithoutSceneContainer = KeyguardState.GONE + scene = Scenes.Gone, + stateWithoutSceneContainer = KeyguardState.GONE, ), notificationLaunchInteractor.isLaunchAnimationRunning, ) { transitioningToGone, isOnGone, notifAnimationRunning -> @@ -112,8 +112,8 @@ constructor( notificationLaunchInteractor.isLaunchAnimationRunning .sample( transitionInteractor.isFinishedIn( - Scenes.Gone, - stateWithoutSceneContainer = KeyguardState.GONE + scene = Scenes.Gone, + stateWithoutSceneContainer = KeyguardState.GONE, ), ::Pair ) diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/shared/model/KeyguardState.kt b/packages/SystemUI/src/com/android/systemui/keyguard/shared/model/KeyguardState.kt index 8db6a43efc07..95043520c41b 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/shared/model/KeyguardState.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/shared/model/KeyguardState.kt @@ -143,6 +143,7 @@ enum class KeyguardState { /** Whether the lockscreen is visible when we're FINISHED in the given state. */ fun lockscreenVisibleInState(state: KeyguardState): Boolean { + // TODO(b/349784682): Transform deprecated states for Flexiglass return state != GONE } diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/BouncerToGoneFlows.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/BouncerToGoneFlows.kt index caa043622e18..8485a265fc70 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/BouncerToGoneFlows.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/BouncerToGoneFlows.kt @@ -22,6 +22,7 @@ import com.android.systemui.keyguard.domain.interactor.KeyguardDismissActionInte import com.android.systemui.keyguard.shared.model.Edge import com.android.systemui.keyguard.shared.model.KeyguardState import com.android.systemui.keyguard.shared.model.KeyguardState.GONE +import com.android.systemui.keyguard.shared.model.KeyguardState.PRIMARY_BOUNCER import com.android.systemui.keyguard.shared.model.ScrimAlpha import com.android.systemui.keyguard.ui.KeyguardTransitionAnimationFlow import com.android.systemui.scene.shared.flag.SceneContainerFlag @@ -75,9 +76,12 @@ constructor( return animationFlow .setup( duration = duration, - // TODO(b/330311871): from can be PRIMARY_BOUNCER which would be a scene -> scene - // transition - edge = Edge.create(from = from, to = Scenes.Gone) + edge = + if (from == PRIMARY_BOUNCER) { + Edge.INVALID + } else { + Edge.create(from = from, to = Scenes.Gone) + } ) .setupWithoutSceneContainer( edge = Edge.create(from = from, to = GONE), @@ -105,9 +109,12 @@ constructor( animationFlow .setup( duration = duration, - // TODO(b/330311871): from can be PRIMARY_BOUNCER which would be a scene -> - // scene transition - edge = Edge.create(from = fromState, to = Scenes.Gone), + edge = + if (fromState == PRIMARY_BOUNCER) { + Edge.INVALID + } else { + Edge.create(from = fromState, to = Scenes.Gone) + } ) .setupWithoutSceneContainer( edge = Edge.create(from = fromState, to = GONE), diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/GoneToGlanceableHubTransitionViewModel.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/GoneToGlanceableHubTransitionViewModel.kt index 8eab406a1273..6a3573ab0119 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/GoneToGlanceableHubTransitionViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/GoneToGlanceableHubTransitionViewModel.kt @@ -23,7 +23,6 @@ import com.android.systemui.keyguard.shared.model.KeyguardState.GLANCEABLE_HUB import com.android.systemui.keyguard.shared.model.KeyguardState.GONE import com.android.systemui.keyguard.ui.KeyguardTransitionAnimationFlow import com.android.systemui.keyguard.ui.transitions.DeviceEntryIconTransition -import com.android.systemui.scene.shared.model.Scenes import javax.inject.Inject import kotlin.time.Duration.Companion.milliseconds import kotlinx.coroutines.flow.Flow @@ -37,7 +36,7 @@ constructor( private val transitionAnimation = animationFlow - .setup(duration = TO_GLANCEABLE_HUB_DURATION, edge = Edge.create(GONE, Scenes.Communal)) + .setup(duration = TO_GLANCEABLE_HUB_DURATION, edge = Edge.INVALID) .setupWithoutSceneContainer(edge = Edge.create(GONE, GLANCEABLE_HUB)) override val deviceEntryParentViewAlpha: Flow<Float> = diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/PrimaryBouncerToGoneTransitionViewModel.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/PrimaryBouncerToGoneTransitionViewModel.kt index 7ae455818952..46ba5d13bb6d 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/PrimaryBouncerToGoneTransitionViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/PrimaryBouncerToGoneTransitionViewModel.kt @@ -26,7 +26,6 @@ import com.android.systemui.keyguard.shared.model.KeyguardState.PRIMARY_BOUNCER import com.android.systemui.keyguard.shared.model.ScrimAlpha import com.android.systemui.keyguard.ui.KeyguardTransitionAnimationFlow import com.android.systemui.scene.shared.flag.SceneContainerFlag -import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.statusbar.SysuiStatusBarStateController import dagger.Lazy import javax.inject.Inject @@ -54,7 +53,7 @@ constructor( animationFlow .setup( duration = TO_GONE_DURATION, - edge = Edge.create(from = PRIMARY_BOUNCER, to = Scenes.Gone), + edge = Edge.INVALID, ) .setupWithoutSceneContainer( edge = Edge.create(from = PRIMARY_BOUNCER, to = GONE), diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaCarouselController.kt b/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaCarouselController.kt index 125f97375fea..48970f5976e5 100644 --- a/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaCarouselController.kt +++ b/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaCarouselController.kt @@ -662,13 +662,9 @@ constructor( @VisibleForTesting internal fun listenForAnyStateToGoneKeyguardTransition(scope: CoroutineScope): Job { return scope.launch { - if (SceneContainerFlag.isEnabled) { - sceneInteractor.transitionState.filter { it.isIdle(Scenes.Gone) } - } else { - keyguardTransitionInteractor.transition(Edge.create(to = GONE)).filter { - it.transitionState == TransitionState.FINISHED - } - } + keyguardTransitionInteractor + .isFinishedIn(scene = Scenes.Gone, stateWithoutSceneContainer = GONE) + .filter { it } .collect { showMediaCarousel() updateHostVisibility() diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/domain/interactor/StatusBarKeyguardViewManagerInteractor.kt b/packages/SystemUI/src/com/android/systemui/statusbar/domain/interactor/StatusBarKeyguardViewManagerInteractor.kt index ef96f43ec17e..9ca110e8c561 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/domain/interactor/StatusBarKeyguardViewManagerInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/domain/interactor/StatusBarKeyguardViewManagerInteractor.kt @@ -93,8 +93,8 @@ constructor( private val occlusionStateFromFinishedStep = combine( keyguardTransitionInteractor.isFinishedIn( - Scenes.Gone, - stateWithoutSceneContainer = KeyguardState.GONE + scene = Scenes.Gone, + stateWithoutSceneContainer = KeyguardState.GONE, ), keyguardTransitionInteractor.isFinishedIn(KeyguardState.OCCLUDED), keyguardOcclusionInteractor.isShowWhenLockedActivityOnTop, diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/KeyguardCoordinator.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/KeyguardCoordinator.kt index 1434dc034881..55c6790d4fb1 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/KeyguardCoordinator.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/KeyguardCoordinator.kt @@ -125,7 +125,10 @@ constructor( // Whether or not keyguard is visible (or occluded). val isKeyguardPresent: Flow<Boolean> = keyguardTransitionInteractor - .transitionValue(Scenes.Gone, stateWithoutSceneContainer = KeyguardState.GONE) + .transitionValue( + scene = Scenes.Gone, + stateWithoutSceneContainer = KeyguardState.GONE, + ) .map { it == 0f } .distinctUntilChanged() .onEach { trackingUnseen -> logger.logTrackingUnseen(trackingUnseen) } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModel.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModel.kt index 900201f54bd7..d1d5d308f741 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModel.kt @@ -141,6 +141,7 @@ constructor( private val communalSceneInteractor: CommunalSceneInteractor, unfoldTransitionInteractor: UnfoldTransitionInteractor, ) : FlowDumperImpl(dumpManager) { + // TODO(b/349784682): Transform deprecated states for Flexiglass private val statesForConstrainedNotifications: Set<KeyguardState> = setOf(AOD, LOCKSCREEN, DOZING, ALTERNATE_BOUNCER, PRIMARY_BOUNCER) private val statesForHiddenKeyguard: Set<KeyguardState> = setOf(GONE, OCCLUDED) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/BiometricUnlockController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/BiometricUnlockController.java index 97b6f95ef3c4..6d76200de34e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/BiometricUnlockController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/BiometricUnlockController.java @@ -53,11 +53,14 @@ import com.android.systemui.keyguard.WakefulnessLifecycle; import com.android.systemui.keyguard.domain.interactor.BiometricUnlockInteractor; import com.android.systemui.keyguard.domain.interactor.KeyguardTransitionInteractor; import com.android.systemui.keyguard.shared.model.BiometricUnlockSource; +import com.android.systemui.keyguard.shared.model.Edge; import com.android.systemui.keyguard.shared.model.KeyguardState; +import com.android.systemui.keyguard.shared.model.TransitionState; import com.android.systemui.keyguard.shared.model.TransitionStep; import com.android.systemui.log.SessionTracker; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.res.R; +import com.android.systemui.scene.shared.model.Scenes; import com.android.systemui.statusbar.NotificationMediaManager; import com.android.systemui.statusbar.NotificationShadeWindowController; import com.android.systemui.statusbar.VibratorHelper; @@ -327,14 +330,17 @@ public class BiometricUnlockController extends KeyguardUpdateMonitorCallback imp mSelectedUserInteractor = selectedUserInteractor; mKeyguardTransitionInteractor = keyguardTransitionInteractor; javaAdapter.alwaysCollectFlow( - keyguardTransitionInteractor.getStartedKeyguardTransitionStep(), - this::consumeTransitionStepOnStartedKeyguardState); + keyguardTransitionInteractor.transition( + /* edge */ Edge.create(Scenes.Gone, null), + /* edgeWithoutSceneContainer */ Edge.create( + KeyguardState.GONE, (KeyguardState) null)), + this::consumeFromGoneTransitions); dumpManager.registerDumpable(this); } @VisibleForTesting - protected void consumeTransitionStepOnStartedKeyguardState(TransitionStep transitionStep) { - if (transitionStep.getFrom() == KeyguardState.GONE) { + protected void consumeFromGoneTransitions(TransitionStep transitionStep) { + if (transitionStep.getTransitionState() == TransitionState.STARTED) { mBiometricUnlockInteractor.setBiometricUnlockState(MODE_NONE, null); } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/ResourceTrimmerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/keyguard/ResourceTrimmerTest.kt index 144e634ae519..23fd997c02e1 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/ResourceTrimmerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/ResourceTrimmerTest.kt @@ -18,7 +18,6 @@ import com.android.systemui.power.domain.interactor.PowerInteractor.Companion.se import com.android.systemui.power.domain.interactor.powerInteractor import com.android.systemui.scene.data.repository.Idle import com.android.systemui.scene.data.repository.setSceneTransition -import com.android.systemui.scene.domain.interactor.sceneInteractor import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.testKosmos import com.android.systemui.utils.GlobalWindowManager @@ -64,7 +63,6 @@ class ResourceTrimmerTest : SysuiTestCase() { globalWindowManager = globalWindowManager, applicationScope = testScope.backgroundScope, bgDispatcher = kosmos.testDispatcher, - sceneInteractor = kosmos.sceneInteractor, ) resourceTrimmer.start() } diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardTransitionScenariosTest.kt b/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardTransitionScenariosTest.kt index 824132adc0d5..3b0f623d1453 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardTransitionScenariosTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardTransitionScenariosTest.kt @@ -1314,6 +1314,7 @@ class KeyguardTransitionScenariosTest(flags: FlagsParameterization?) : SysuiTest } @Test + @DisableSceneContainer fun occludedToPrimaryBouncer() = testScope.runTest { // GIVEN a prior transition has run to OCCLUDED diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/BiometricsUnlockControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/BiometricsUnlockControllerTest.java index 285949a41fcd..9eafcdbadfa5 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/BiometricsUnlockControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/BiometricsUnlockControllerTest.java @@ -495,18 +495,18 @@ public class BiometricsUnlockControllerTest extends SysuiTestCase { } @Test - public void biometricUnlockStateResetOnTransitionFromGone() { - mBiometricUnlockController.consumeTransitionStepOnStartedKeyguardState( + public void biometricUnlockStateResetOnStartedTransition() { + mBiometricUnlockController.consumeFromGoneTransitions( new TransitionStep( - KeyguardState.AOD, KeyguardState.GONE, + KeyguardState.AOD, .1f /* value */, - TransitionState.STARTED + TransitionState.RUNNING ) ); verify(mBiometricUnlockInteractor, never()).setBiometricUnlockState(anyInt(), any()); - mBiometricUnlockController.consumeTransitionStepOnStartedKeyguardState( + mBiometricUnlockController.consumeFromGoneTransitions( new TransitionStep( KeyguardState.GONE, KeyguardState.AOD, |