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

Commit 253a78df authored by Shawn Lee's avatar Shawn Lee Committed by Automerger Merge Worker
Browse files

Merge "Prevent Keyguard quick affordance from stealing touch while in QS" into...

Merge "Prevent Keyguard quick affordance from stealing touch while in QS" into tm-qpr-dev am: 931859a1 am: 41b632c9 am: 4c8861ad am: 295f0af7

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21682220



Change-Id: Ie1617638555088ef31284c2bfab8a0a4395830de
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 1fbb4f9c 295f0af7
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -142,6 +142,8 @@ constructor(
    val alternateBouncerShowing: Flow<Boolean> = bouncerRepository.alternateBouncerVisible
    val alternateBouncerShowing: Flow<Boolean> = bouncerRepository.alternateBouncerVisible
    /** Observable for the [StatusBarState] */
    /** Observable for the [StatusBarState] */
    val statusBarState: Flow<StatusBarState> = repository.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,
     * Observable for [BiometricUnlockModel] when biometrics like face or any fingerprint (rear,
     * side, under display) is used to unlock the device.
     * side, under display) is used to unlock the device.
+3 −2
Original line number Original line Diff line number Diff line
@@ -96,8 +96,9 @@ constructor(
            quickAffordanceAlwaysVisible(position),
            quickAffordanceAlwaysVisible(position),
            keyguardInteractor.isDozing,
            keyguardInteractor.isDozing,
            keyguardInteractor.isKeyguardShowing,
            keyguardInteractor.isKeyguardShowing,
        ) { affordance, isDozing, isKeyguardShowing ->
            keyguardInteractor.isQuickSettingsVisible
            if (!isDozing && isKeyguardShowing) {
        ) { affordance, isDozing, isKeyguardShowing, isQuickSettingsVisible ->
            if (!isDozing && isKeyguardShowing && !isQuickSettingsVisible) {
                affordance
                affordance
            } else {
            } else {
                KeyguardQuickAffordanceModel.Hidden
                KeyguardQuickAffordanceModel.Hidden
+18 −0
Original line number Original line Diff line number Diff line
@@ -283,6 +283,24 @@ class KeyguardQuickAffordanceInteractorTest : SysuiTestCase() {
            assertThat(collectedValue).isInstanceOf(KeyguardQuickAffordanceModel.Hidden::class.java)
            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
    @Test
    fun `quickAffordance - bottom start affordance hidden while dozing`() =
    fun `quickAffordance - bottom start affordance hidden while dozing`() =
        testScope.runTest {
        testScope.runTest {