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

Commit 931859a1 authored by Shawn Lee's avatar Shawn Lee Committed by Android (Google) Code Review
Browse files

Merge "Prevent Keyguard quick affordance from stealing touch while in QS" into tm-qpr-dev

parents 038e86d8 5aa84217
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -142,6 +142,8 @@ constructor(
    val alternateBouncerShowing: Flow<Boolean> = bouncerRepository.alternateBouncerVisible
    /** Observable for the [StatusBarState] */
    val statusBarState: Flow<StatusBarState> = repository.statusBarState
    /** Whether or not quick settings or quick quick settings are showing. */
    val isQuickSettingsVisible: Flow<Boolean> = repository.isQuickSettingsVisible
    /**
     * Observable for [BiometricUnlockModel] when biometrics like face or any fingerprint (rear,
     * side, under display) is used to unlock the device.
+3 −2
Original line number Diff line number Diff line
@@ -93,8 +93,9 @@ constructor(
            quickAffordanceAlwaysVisible(position),
            keyguardInteractor.isDozing,
            keyguardInteractor.isKeyguardShowing,
        ) { affordance, isDozing, isKeyguardShowing ->
            if (!isDozing && isKeyguardShowing) {
            keyguardInteractor.isQuickSettingsVisible
        ) { affordance, isDozing, isKeyguardShowing, isQuickSettingsVisible ->
            if (!isDozing && isKeyguardShowing && !isQuickSettingsVisible) {
                affordance
            } else {
                KeyguardQuickAffordanceModel.Hidden
+18 −0
Original line number Diff line number Diff line
@@ -280,6 +280,24 @@ class KeyguardQuickAffordanceInteractorTest : SysuiTestCase() {
            assertThat(collectedValue).isInstanceOf(KeyguardQuickAffordanceModel.Hidden::class.java)
        }

    @Test
    fun `quickAffordance - hidden when quick settings is visible`() =
        testScope.runTest {
            repository.setQuickSettingsVisible(true)
            quickAccessWallet.setState(
                KeyguardQuickAffordanceConfig.LockScreenState.Visible(
                    icon = ICON,
                )
            )

            val collectedValue =
                collectLastValue(
                    underTest.quickAffordance(KeyguardQuickAffordancePosition.BOTTOM_END)
                )

            assertThat(collectedValue()).isEqualTo(KeyguardQuickAffordanceModel.Hidden)
        }

    @Test
    fun `quickAffordance - bottom start affordance hidden while dozing`() =
        testScope.runTest {