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

Commit 8a02c9dc authored by Lucas Silva's avatar Lucas Silva Committed by Android (Google) Code Review
Browse files

Merge "Revert "Replace hidden keyguard states with occluded state"" into main

parents 9ffbddc2 ea3ba337
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -360,7 +360,6 @@ class KeyguardRootViewModelTest(flags: FlagsParameterization) : SysuiTestCase()
        }

    @Test
    @DisableSceneContainer
    fun alpha_transitionBetweenHubAndDream_isZero() =
        testScope.runTest {
            val alpha by collectLastValue(underTest.alpha(viewState))
+30 −10
Original line number Diff line number Diff line
@@ -34,18 +34,20 @@ import com.android.systemui.keyguard.shared.model.Edge
import com.android.systemui.keyguard.shared.model.KeyguardState
import com.android.systemui.keyguard.shared.model.KeyguardState.AOD
import com.android.systemui.keyguard.shared.model.KeyguardState.DREAMING
import com.android.systemui.keyguard.shared.model.KeyguardState.GLANCEABLE_HUB
import com.android.systemui.keyguard.shared.model.KeyguardState.GONE
import com.android.systemui.keyguard.shared.model.KeyguardState.LOCKSCREEN
import com.android.systemui.keyguard.shared.model.KeyguardState.OCCLUDED
import com.android.systemui.keyguard.shared.model.KeyguardState.PRIMARY_BOUNCER
import com.android.systemui.keyguard.shared.model.TransitionState.RUNNING
import com.android.systemui.keyguard.shared.model.TransitionState.STARTED
import com.android.systemui.keyguard.ui.StateToValue
import com.android.systemui.scene.shared.model.Scenes
import com.android.systemui.shade.domain.interactor.ShadeInteractor
import com.android.systemui.shade.ui.viewmodel.NotificationShadeWindowModel
import com.android.systemui.statusbar.notification.domain.interactor.NotificationsKeyguardInteractor
import com.android.systemui.statusbar.phone.DozeParameters
import com.android.systemui.statusbar.phone.ScreenOffAnimationController
import com.android.systemui.util.kotlin.BooleanFlowOperators.any
import com.android.systemui.util.kotlin.BooleanFlowOperators.anyOf
import com.android.systemui.util.kotlin.pairwise
import com.android.systemui.util.kotlin.sample
@@ -84,7 +86,6 @@ constructor(
    private val communalInteractor: CommunalInteractor,
    private val keyguardTransitionInteractor: KeyguardTransitionInteractor,
    private val notificationsKeyguardInteractor: NotificationsKeyguardInteractor,
    notificationShadeWindowModel: NotificationShadeWindowModel,
    private val alternateBouncerToAodTransitionViewModel: AlternateBouncerToAodTransitionViewModel,
    private val alternateBouncerToGoneTransitionViewModel:
        AlternateBouncerToGoneTransitionViewModel,
@@ -195,19 +196,38 @@ constructor(
            }
            .distinctUntilChanged()

    /**
     * Keyguard states which should fully hide the keyguard.
     *
     * Note: [GONE] is not included as it is handled separately.
     */
    private val hiddenKeyguardStates = listOf(OCCLUDED, DREAMING, GLANCEABLE_HUB)

    /**
     * Keyguard should not show if fully transitioned into a hidden keyguard state or if
     * transitioning between hidden states.
     */
    private val hideKeyguard: Flow<Boolean> =
        anyOf(
            notificationShadeWindowModel.isKeyguardOccluded,
        (hiddenKeyguardStates.map { state ->
                keyguardTransitionInteractor
                    .transitionValue(state)
                    .map { it == 1f }
                    .onStart { emit(false) }
            } +
                listOf(
                    communalInteractor.isIdleOnCommunal,
                    keyguardTransitionInteractor
                        .transitionValue(scene = Scenes.Gone, stateWithoutSceneContainer = GONE)
                        .map { it == 1f }
                        .onStart { emit(false) },
                    keyguardTransitionInteractor
                        .isInTransitionWhere(
                            fromStatePredicate = { hiddenKeyguardStates.contains(it) },
                            toStatePredicate = { hiddenKeyguardStates.contains(it) },
                        )
                        .onStart { emit(false) },
                ))
            .any()

    /** Last point that the root view was tapped */
    val lastRootViewTapPosition: Flow<Point?> = keyguardInteractor.lastRootViewTapPosition
+0 −2
Original line number Diff line number Diff line
@@ -25,7 +25,6 @@ import com.android.systemui.kosmos.Kosmos
import com.android.systemui.kosmos.Kosmos.Fixture
import com.android.systemui.kosmos.applicationCoroutineScope
import com.android.systemui.shade.domain.interactor.shadeInteractor
import com.android.systemui.shade.ui.viewmodel.notificationShadeWindowModel
import com.android.systemui.statusbar.notification.stack.domain.interactor.notificationsKeyguardInteractor
import com.android.systemui.statusbar.phone.dozeParameters
import com.android.systemui.statusbar.phone.screenOffAnimationController
@@ -40,7 +39,6 @@ val Kosmos.keyguardRootViewModel by Fixture {
        communalInteractor = communalInteractor,
        keyguardTransitionInteractor = keyguardTransitionInteractor,
        notificationsKeyguardInteractor = notificationsKeyguardInteractor,
        notificationShadeWindowModel = notificationShadeWindowModel,
        alternateBouncerToAodTransitionViewModel = alternateBouncerToAodTransitionViewModel,
        alternateBouncerToGoneTransitionViewModel = alternateBouncerToGoneTransitionViewModel,
        alternateBouncerToLockscreenTransitionViewModel =