Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1e49841f authored by Andreas Miko's avatar Andreas Miko Committed by Android (Google) Code Review
Browse files

Merge "[Flexiglass] Clean up deprecated PRIMARY_BOUNCER users" into main

parents af1aab6e 0ff0343e
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -199,6 +199,7 @@ constructor(
     * PRIMARY_BOUNCER.
     */
    private fun listenForAodToPrimaryBouncer() {
        // TODO(b/336576536): Check if adaptation for scene framework is needed
        if (SceneContainerFlag.isEnabled) return
        scope.launch("$TAG#listenForAodToPrimaryBouncer") {
            keyguardInteractor.primaryBouncerShowing
+2 −0
Original line number Diff line number Diff line
@@ -71,6 +71,8 @@ constructor(
    }

    private fun listenForOccludedToPrimaryBouncer() {
        // TODO(b/336576536): Check if adaptation for scene framework is needed
        if (SceneContainerFlag.isEnabled) return
        scope.launch {
            keyguardInteractor.primaryBouncerShowing
                .filterRelevantKeyguardStateAnd { isBouncerShowing -> isBouncerShowing }
+23 −13
Original line number Diff line number Diff line
@@ -25,9 +25,8 @@ import com.android.systemui.keyguard.shared.model.KeyguardDone
import com.android.systemui.keyguard.shared.model.KeyguardState.ALTERNATE_BOUNCER
import com.android.systemui.keyguard.shared.model.KeyguardState.GONE
import com.android.systemui.keyguard.shared.model.KeyguardState.PRIMARY_BOUNCER
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.util.kotlin.Utils.Companion.sampleFilter
import com.android.systemui.util.kotlin.sample
import javax.inject.Inject
import kotlinx.coroutines.CoroutineScope
@@ -35,6 +34,7 @@ import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.SharingStarted
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.combine
import kotlinx.coroutines.flow.filter
import kotlinx.coroutines.flow.filterNot
import kotlinx.coroutines.flow.map
@@ -51,7 +51,6 @@ constructor(
    transitionInteractor: KeyguardTransitionInteractor,
    val dismissInteractor: KeyguardDismissInteractor,
    @Application private val applicationScope: CoroutineScope,
    sceneInteractor: SceneInteractor,
) {
    val dismissAction: Flow<DismissAction> = repository.dismissAction

@@ -76,11 +75,10 @@ constructor(
            )

    private val finishedTransitionToGone: Flow<Unit> =
        if (SceneContainerFlag.isEnabled) {
            sceneInteractor.transitionState.filter { it.isIdle(Scenes.Gone) }.map {}
        } else {
            transitionInteractor.finishedKeyguardState.filter { it == GONE }.map {}
        }
        transitionInteractor
            .isFinishedIn(scene = Scenes.Gone, stateWithoutSceneContainer = GONE)
            .filter { it }
            .map {}

    val executeDismissAction: Flow<() -> KeyguardDone> =
        merge(
@@ -90,12 +88,24 @@ constructor(
            .sample(dismissAction)
            .filterNot { it is DismissAction.None }
            .map { it.onDismissAction }

    val resetDismissAction: Flow<Unit> =
        transitionInteractor.finishedKeyguardTransitionStep
            .filter { it.to != ALTERNATE_BOUNCER && it.to != PRIMARY_BOUNCER && it.to != GONE }
            .sample(dismissAction)
            .filterNot { it is DismissAction.None }
            .map {} // map to Unit
        combine(
                transitionInteractor.isFinishedIn(
                    scene = Scenes.Gone,
                    stateWithoutSceneContainer = GONE
                ),
                transitionInteractor.isFinishedIn(
                    scene = Scenes.Bouncer,
                    stateWithoutSceneContainer = PRIMARY_BOUNCER
                ),
                transitionInteractor.isFinishedIn(state = ALTERNATE_BOUNCER)
            ) { isOnGone, isOnBouncer, isOnAltBouncer ->
                !isOnGone && !isOnBouncer && !isOnAltBouncer
            }
            .filter { it }
            .sampleFilter(dismissAction) { it !is DismissAction.None }
            .map {}

    fun runDismissAnimationOnKeyguard(): Boolean {
        return willAnimateDismissActionOnLockscreen.value
+1 −0
Original line number Diff line number Diff line
@@ -82,6 +82,7 @@ constructor(
    private val transitionSpecificSurfaceBehindVisibility: Flow<Boolean?> =
        transitionInteractor.startedKeyguardTransitionStep
            .flatMapLatest { startedStep ->
                SceneContainerFlag.assertInLegacyMode()
                when (startedStep.from) {
                    KeyguardState.LOCKSCREEN -> {
                        fromLockscreenInteractor.surfaceBehindVisibility
+15 −0
Original line number Diff line number Diff line
@@ -61,6 +61,11 @@ enum class KeyguardState {
     * The security screen prompt UI, containing PIN, Password, Pattern for the user to verify their
     * credentials.
     */
    @Deprecated(
        "This state won't exist anymore when scene container gets enabled. If you are " +
            "writing prod code today, make sure to either use flag aware APIs in " +
            "[KeyguardTransitionInteractor] or flag appropriately with [SceneContainerFlag]."
    )
    PRIMARY_BOUNCER,
    /**
     * Device is actively displaying keyguard UI and is not in low-power mode. Device may be
@@ -72,12 +77,22 @@ enum class KeyguardState {
     * hub UI. From this state, the user can swipe from the left edge to go back to the lock screen
     * or dream, as well as swipe down for the notifications and up for the bouncer.
     */
    @Deprecated(
        "This state won't exist anymore when scene container gets enabled. If you are " +
            "writing prod code today, make sure to either use flag aware APIs in " +
            "[KeyguardTransitionInteractor] or flag appropriately with [SceneContainerFlag]."
    )
    GLANCEABLE_HUB,
    /**
     * Keyguard is no longer visible. In most cases the user has just authenticated and keyguard is
     * being removed, but there are other cases where the user is swiping away keyguard, such as
     * with SWIPE security method or face unlock without bypass.
     */
    @Deprecated(
        "This state won't exist anymore when scene container gets enabled. If you are " +
            "writing prod code today, make sure to either use flag aware APIs in " +
            "[KeyguardTransitionInteractor] or flag appropriately with [SceneContainerFlag]."
    )
    GONE,
    /**
     * Only used in scene framework. This means we are currently on any scene framework scene that
Loading