Disable background view after authenticated

Disable background view from cancelling auth and remove from talkback
after a successful auth

Fixes: 289147474
Test: (manual) enable talkback and successfully auth, verify talkback
doesn't focus on the whole panel and announce "Tap to cancel
authentication"

Change-Id: I7007ba28704a51c86a665fdac9ea83349d1c7cbd
This commit is contained in:
Grace Cheng
2023-07-22 01:01:01 +00:00
parent 5980682f85
commit 0163cd049b

View File

@@ -26,6 +26,7 @@ import android.os.Bundle
import android.text.method.ScrollingMovementMethod
import android.util.Log
import android.view.View
import android.view.View.IMPORTANT_FOR_ACCESSIBILITY_NO
import android.view.accessibility.AccessibilityManager
import android.widget.Button
import android.widget.TextView
@@ -331,6 +332,13 @@ object BiometricViewBinder {
// dismiss prompt when authenticated and confirmed
launch {
viewModel.isAuthenticated.collect { authState ->
// Disable background view for cancelling authentication once authenticated,
// and remove from talkback
if (authState.isAuthenticated) {
backgroundView.setOnClickListener(null)
backgroundView.importantForAccessibility =
IMPORTANT_FOR_ACCESSIBILITY_NO
}
if (authState.isAuthenticatedAndConfirmed) {
view.announceForAccessibility(
view.resources.getString(R.string.biometric_dialog_authenticated)