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

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

Merge "[flexiglass] Show bouncer when lockscreen is clicked on desktop" into main

parents c1a6e742 1ec8ef36
Loading
Loading
Loading
Loading
+10 −10
Original line number Diff line number Diff line
@@ -21,11 +21,12 @@ import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase
import com.android.systemui.deviceentry.shared.FaceAuthUiEvent
import com.android.systemui.flags.andSceneContainer
import com.android.systemui.inputdevice.data.repository.fake
import com.android.systemui.inputdevice.data.repository.pointerDeviceRepository
import com.android.systemui.keyguard.data.repository.fakeDeviceEntryFaceAuthRepository
import com.android.systemui.kosmos.collectLastValue
import com.android.systemui.kosmos.runCurrent
import com.android.systemui.kosmos.runTest
import com.android.systemui.res.R
import com.android.systemui.scene.domain.interactor.sceneInteractor
import com.android.systemui.scene.shared.flag.SceneContainerFlag
import com.android.systemui.scene.shared.model.Overlays
@@ -58,9 +59,8 @@ class KeyguardTouchHandlingInteractorOnClickTest(private val testScenario: TestS

    @Before
    fun setUp() {
        overrideResource(
            R.bool.config_improveLargeScreenInteractionOnLockscreen,
            testScenario.improvedLargeScreenInteraction,
        kosmos.pointerDeviceRepository.fake.setIsAnyPointerConnected(
            testScenario.isAnyPointingDeviceConnected
        )
        underTest = kosmos.keyguardTouchHandlingInteractor
    }
@@ -128,9 +128,9 @@ class KeyguardTouchHandlingInteractorOnClickTest(private val testScenario: TestS
    data class TestScenario(
        val flags: FlagsParameterization,
        val faceAuth: Boolean,
        val improvedLargeScreenInteraction: Boolean,
        val isAnyPointingDeviceConnected: Boolean,
    ) {
        val isBouncerNavigationExpected: Boolean = !faceAuth && improvedLargeScreenInteraction
        val isBouncerNavigationExpected: Boolean = !faceAuth && isAnyPointingDeviceConnected
    }

    companion object {
@@ -142,22 +142,22 @@ class KeyguardTouchHandlingInteractorOnClickTest(private val testScenario: TestS
                    TestScenario(
                        flags = flags,
                        faceAuth = false,
                        improvedLargeScreenInteraction = false,
                        isAnyPointingDeviceConnected = false,
                    ),
                    TestScenario(
                        flags = flags,
                        faceAuth = false,
                        improvedLargeScreenInteraction = true,
                        isAnyPointingDeviceConnected = true,
                    ),
                    TestScenario(
                        flags = flags,
                        faceAuth = true,
                        improvedLargeScreenInteraction = false,
                        isAnyPointingDeviceConnected = false,
                    ),
                    TestScenario(
                        flags = flags,
                        faceAuth = true,
                        improvedLargeScreenInteraction = true,
                        isAnyPointingDeviceConnected = true,
                    ),
                )
            }
+2 −2
Original line number Diff line number Diff line
@@ -30,10 +30,10 @@ import com.android.internal.logging.testing.UiEventLoggerFake
import com.android.internal.logging.uiEventLogger
import com.android.systemui.Flags.FLAG_DOUBLE_TAP_TO_SLEEP
import com.android.systemui.SysuiTestCase
import com.android.systemui.bouncer.domain.interactor.bouncerInteractor
import com.android.systemui.coroutines.collectLastValue
import com.android.systemui.deviceentry.domain.interactor.deviceEntryFaceAuthInteractor
import com.android.systemui.deviceentry.domain.interactor.deviceEntryInteractor
import com.android.systemui.inputdevice.data.repository.pointerDeviceRepository
import com.android.systemui.keyguard.data.repository.FakeKeyguardTransitionRepository
import com.android.systemui.keyguard.data.repository.KeyguardRepository
import com.android.systemui.keyguard.data.repository.fakeKeyguardRepository
@@ -442,7 +442,7 @@ class KeyguardTouchHandlingInteractorTest : SysuiTestCase() {
                secureSettingsRepository = secureSettingsRepository,
                powerManager = powerManager,
                systemClock = kosmos.fakeSystemClock,
                bouncerInteractor = kosmos.bouncerInteractor,
                pointerDeviceRepository = kosmos.pointerDeviceRepository,
            )
        setUpState()
    }
+12 −3
Original line number Diff line number Diff line
@@ -29,12 +29,12 @@ import com.android.app.tracing.coroutines.launchTraced as launch
import com.android.internal.logging.UiEvent
import com.android.internal.logging.UiEventLogger
import com.android.systemui.Flags.doubleTapToSleep
import com.android.systemui.bouncer.domain.interactor.BouncerInteractor
import com.android.systemui.broadcast.BroadcastDispatcher
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Application
import com.android.systemui.deviceentry.domain.interactor.DeviceEntryFaceAuthInteractor
import com.android.systemui.deviceentry.domain.interactor.DeviceEntryInteractor
import com.android.systemui.inputdevice.data.repository.PointerDeviceRepository
import com.android.systemui.keyguard.data.repository.KeyguardRepository
import com.android.systemui.keyguard.shared.model.KeyguardState
import com.android.systemui.power.domain.interactor.PowerInteractor
@@ -82,7 +82,7 @@ constructor(
    private val secureSettingsRepository: SecureSettingsRepository,
    private val powerManager: PowerManager,
    private val systemClock: SystemClock,
    private val bouncerInteractor: BouncerInteractor,
    private val pointerDeviceRepository: PointerDeviceRepository,
) {
    private val _udfpsAccessibilityOverlayBounds: MutableStateFlow<Rect?> = MutableStateFlow(null)

@@ -136,6 +136,15 @@ constructor(
                initialValue = false,
            )

    /* Cache value of `isAnyPointerDeviceConnected` so it can
     * be easily checked. */
    private val _isAnyPointerDeviceConnected =
        pointerDeviceRepository.isAnyPointerDeviceConnected.stateIn(
            scope = scope,
            started = SharingStarted.Eagerly,
            initialValue = false,
        )

    private val _isMenuVisible = MutableStateFlow(false)
    /** Model for whether the menu should be shown. */
    val isMenuVisible: StateFlow<Boolean> =
@@ -223,7 +232,7 @@ constructor(
        pulsingGestureListener.onSingleTapUp(x, y)
        if (faceAuthInteractor.canFaceAuthRun()) {
            faceAuthInteractor.onNotificationPanelClicked()
        } else if (bouncerInteractor.isImproveLargeScreenInteractionEnabled) {
        } else if (_isAnyPointerDeviceConnected.value) {
            attemptDeviceEntry(loggingReason = "Lockscreen clicked")
        }
    }
+2 −2
Original line number Diff line number Diff line
@@ -20,10 +20,10 @@ import android.content.applicationContext
import android.os.powerManager
import android.view.accessibility.accessibilityManagerWrapper
import com.android.internal.logging.uiEventLogger
import com.android.systemui.bouncer.domain.interactor.bouncerInteractor
import com.android.systemui.broadcast.broadcastDispatcher
import com.android.systemui.deviceentry.domain.interactor.deviceEntryFaceAuthInteractor
import com.android.systemui.deviceentry.domain.interactor.deviceEntryInteractor
import com.android.systemui.inputdevice.data.repository.pointerDeviceRepository
import com.android.systemui.keyguard.data.repository.keyguardRepository
import com.android.systemui.kosmos.Kosmos
import com.android.systemui.kosmos.applicationCoroutineScope
@@ -51,6 +51,6 @@ val Kosmos.keyguardTouchHandlingInteractor by
            secureSettingsRepository = userAwareSecureSettingsRepository,
            powerManager = powerManager,
            systemClock = fakeSystemClock,
            bouncerInteractor = bouncerInteractor,
            pointerDeviceRepository = pointerDeviceRepository,
        )
    }