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

This commit is contained in:
Shawn Lee
2023-03-07 19:12:43 +00:00
committed by Android (Google) Code Review
3 changed files with 23 additions and 2 deletions

View File

@@ -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.

View File

@@ -93,8 +93,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

View File

@@ -280,6 +280,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 {