diff options
2 files changed, 29 insertions, 2 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/ui/viewmodel/PromptViewModel.kt b/packages/SystemUI/src/com/android/systemui/biometrics/ui/viewmodel/PromptViewModel.kt index 3904ee144b05..b1cba2fb3ab8 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/ui/viewmodel/PromptViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/biometrics/ui/viewmodel/PromptViewModel.kt @@ -915,7 +915,12 @@ constructor( event: MotionEvent, touchExplorationEnabled: Boolean, ): Boolean { - if (bpTalkback() && modalities.first().hasUdfps && touchExplorationEnabled) { + if ( + bpTalkback() && + modalities.first().hasUdfps && + touchExplorationEnabled && + !isAuthenticated.first().isAuthenticated + ) { // TODO(b/315184924): Remove uses of UdfpsUtils val scaledTouch = udfpsUtils.getTouchInNativeCoordinates( diff --git a/packages/SystemUI/tests/src/com/android/systemui/biometrics/ui/viewmodel/PromptViewModelTest.kt b/packages/SystemUI/tests/src/com/android/systemui/biometrics/ui/viewmodel/PromptViewModelTest.kt index 6dcea144f2a3..9df653f1550b 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/biometrics/ui/viewmodel/PromptViewModelTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/biometrics/ui/viewmodel/PromptViewModelTest.kt @@ -74,7 +74,6 @@ import com.android.systemui.keyguard.shared.model.AcquiredFingerprintAuthenticat import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.testScope import com.android.systemui.res.R -import com.android.systemui.util.mockito.any import com.android.systemui.util.mockito.withArgCaptor import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.ExperimentalCoroutinesApi @@ -92,6 +91,7 @@ import org.mockito.ArgumentMatchers.eq import org.mockito.Mock import org.mockito.Mockito import org.mockito.junit.MockitoJUnit +import org.mockito.kotlin.any import org.mockito.kotlin.whenever import platform.test.runner.parameterized.ParameterizedAndroidJunit4 import platform.test.runner.parameterized.Parameters @@ -1379,6 +1379,28 @@ internal class PromptViewModelTest(private val testCase: TestCase) : SysuiTestCa } @Test + @EnableFlags(FLAG_BP_TALKBACK) + fun no_hint_for_talkback_guidance_after_auth() = runGenericTest { + val hint by collectLastValue(kosmos.promptViewModel.accessibilityHint) + + kosmos.promptViewModel.showAuthenticated(testCase.authenticatedModality, 0) + kosmos.promptViewModel.confirmAuthenticated() + + // Touches should fall outside of sensor area + whenever(kosmos.udfpsUtils.getTouchInNativeCoordinates(any(), any(), any())) + .thenReturn(Point(0, 0)) + whenever(kosmos.udfpsUtils.onTouchOutsideOfSensorArea(any(), any(), any(), any(), any())) + .thenReturn("Direction") + + kosmos.promptViewModel.onAnnounceAccessibilityHint( + obtainMotionEvent(MotionEvent.ACTION_HOVER_ENTER), + true + ) + + assertThat(hint.isNullOrBlank()).isTrue() + } + + @Test @EnableFlags(FLAG_CUSTOM_BIOMETRIC_PROMPT, FLAG_CONSTRAINT_BP) fun descriptionOverriddenByVerticalListContentView() = runGenericTest(description = "test description", contentView = promptContentView) { |