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

Commit bce7c42c authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix ALTERNATE_BOUNCER->DREAMING" into main

parents c31e8fbe 129b8399
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -294,6 +294,9 @@ class FromAlternateBouncerTransitionInteractorTest(flags: FlagsParameterization)
    @Test
    fun transitionToDreaming() =
        kosmos.runTest {
            // Advance past initial dreaming/doze delay
            testScope.advanceTimeBy(550)

            fakePowerRepository.updateWakefulness(
                WakefulnessState.AWAKE,
                WakeSleepReason.POWER_BUTTON,
@@ -302,7 +305,7 @@ class FromAlternateBouncerTransitionInteractorTest(flags: FlagsParameterization)
            )
            fakeKeyguardRepository.setKeyguardOccluded(false)
            fakeKeyguardBouncerRepository.setAlternateVisible(true)
            runCurrent()
            testScope.advanceTimeBy(200) // advance past delay

            transitionRepository.sendTransitionSteps(
                from = KeyguardState.LOCKSCREEN,
+12 −15
Original line number Diff line number Diff line
@@ -35,7 +35,6 @@ import com.android.systemui.keyguard.shared.model.KeyguardState
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.shared.animation.Interpolators
import javax.inject.Inject
import kotlin.time.Duration.Companion.milliseconds
@@ -115,20 +114,18 @@ constructor(
                // This should eventually be removed in favor of
                // [KeyguardTransitionInteractor#startDismissKeyguardTransition]
                .onEach { delay(150L) }
                .sampleCombine(
                    keyguardInteractor.primaryBouncerShowing,
                    powerInteractor.isAwake,
                    keyguardInteractor.isAodAvailable,
                    communalSceneInteractor.isIdleOnCommunal,
                    keyguardInteractor.isDreaming,
                    keyguardInteractor.isKeyguardOccluded,
                )
                .filterRelevantKeyguardStateAnd {
                    (isAlternateBouncerShowing, isPrimaryBouncerShowing, _, _, _, _) ->
                    !isAlternateBouncerShowing && !isPrimaryBouncerShowing
                .filterRelevantKeyguardState()
                .collect { isAlternateBouncerShowing ->
                    if (isAlternateBouncerShowing || keyguardInteractor.primaryBouncerShowing.value) {
                        return@collect
                    }
                .collect { (_, _, isAwake, isAodAvailable, isIdleOnCommunal, isDreaming, isOccluded)
                    ->

                    val isDreaming = keyguardInteractor.isAbleToDream.value
                    val isOccluded = keyguardInteractor.isKeyguardOccluded.value
                    val isIdleOnCommunal = communalSceneInteractor.isIdleOnCommunal.value
                    val isAodAvailable = keyguardInteractor.isAodAvailable.value
                    val isAwake = powerInteractor.detailedWakefulness.value.isAwake()

                    // When unlocking over glanceable hub to enter edit mode, transitioning directly
                    // to GONE prevents the lockscreen flash. Let listenForAlternateBouncerToGone
                    // handle it.
+1 −1
Original line number Diff line number Diff line
@@ -225,7 +225,7 @@ constructor(
            }
            .stateIn(
                scope = applicationScope,
                started = SharingStarted.WhileSubscribed(),
                started = SharingStarted.Eagerly,
                initialValue = false,
            )