From 1b01fb334247626668d5847b852595e8564e0504 Mon Sep 17 00:00:00 2001 From: Matt Pietal Date: Thu, 19 Dec 2024 19:47:38 +0000 Subject: Ensure transition to GONE from ALTERNATE_BOUNCER This is a failsafe for an unexpected path when launching an activity from the glanceable hub. Test: manual Bug: 384572679 Flag: EXEMPT bugfix Change-Id: I43e10108c69980398757d7c14b23d23fd480b005 --- .../systemui/keyguard/domain/interactor/KeyguardInteractor.kt | 5 +++++ .../systemui/keyguard/domain/interactor/KeyguardInteractorFactory.kt | 4 ++++ .../systemui/keyguard/domain/interactor/KeyguardInteractorKosmos.kt | 1 + 3 files changed, 10 insertions(+) diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractor.kt index 0d9474e07ce7..85306e67994c 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractor.kt @@ -37,6 +37,7 @@ import com.android.systemui.keyguard.shared.model.DozeStateModel.Companion.isDoz import com.android.systemui.keyguard.shared.model.DozeTransitionModel import com.android.systemui.keyguard.shared.model.Edge import com.android.systemui.keyguard.shared.model.KeyguardState +import com.android.systemui.keyguard.shared.model.KeyguardState.ALTERNATE_BOUNCER import com.android.systemui.keyguard.shared.model.KeyguardState.AOD import com.android.systemui.keyguard.shared.model.KeyguardState.DOZING import com.android.systemui.keyguard.shared.model.KeyguardState.GLANCEABLE_HUB @@ -93,6 +94,8 @@ constructor( private val fromGoneTransitionInteractor: Provider, private val fromLockscreenTransitionInteractor: Provider, private val fromOccludedTransitionInteractor: Provider, + private val fromAlternateBouncerTransitionInteractor: + Provider, @Application applicationScope: CoroutineScope, ) { // TODO(b/296118689): move to a repository @@ -526,6 +529,8 @@ constructor( when (keyguardTransitionInteractor.transitionState.value.to) { LOCKSCREEN -> fromLockscreenTransitionInteractor.get().dismissKeyguard() OCCLUDED -> fromOccludedTransitionInteractor.get().dismissFromOccluded() + ALTERNATE_BOUNCER -> + fromAlternateBouncerTransitionInteractor.get().dismissAlternateBouncer() else -> Log.v(TAG, "Keyguard was dismissed, no direct transition call needed") } } diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractorFactory.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractorFactory.kt index 4a6e27331efc..3de809308702 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractorFactory.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractorFactory.kt @@ -54,6 +54,7 @@ object KeyguardInteractorFactory { fromGoneTransitionInteractor: FromGoneTransitionInteractor = mock(), fromLockscreenTransitionInteractor: FromLockscreenTransitionInteractor = mock(), fromOccludedTransitionInteractor: FromOccludedTransitionInteractor = mock(), + fromAlternateBouncerTransitionInteractor: FromAlternateBouncerTransitionInteractor = mock(), powerInteractor: PowerInteractor = PowerInteractorFactory.create().powerInteractor, testScope: CoroutineScope = TestScope(), ): WithDependencies { @@ -84,6 +85,9 @@ object KeyguardInteractorFactory { fromGoneTransitionInteractor = { fromGoneTransitionInteractor }, fromLockscreenTransitionInteractor = { fromLockscreenTransitionInteractor }, fromOccludedTransitionInteractor = { fromOccludedTransitionInteractor }, + fromAlternateBouncerTransitionInteractor = { + fromAlternateBouncerTransitionInteractor + }, applicationScope = testScope, ), ) diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractorKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractorKosmos.kt index da261bfb9805..f5f8ef75065f 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractorKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractorKosmos.kt @@ -38,6 +38,7 @@ val Kosmos.keyguardInteractor: KeyguardInteractor by fromGoneTransitionInteractor = { fromGoneTransitionInteractor }, fromLockscreenTransitionInteractor = { fromLockscreenTransitionInteractor }, fromOccludedTransitionInteractor = { fromOccludedTransitionInteractor }, + fromAlternateBouncerTransitionInteractor = { fromAlternateBouncerTransitionInteractor }, applicationScope = testScope.backgroundScope, ) } -- cgit v1.2.3-59-g8ed1b