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
/** 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.

View File

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

View File

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