Loading packages/SystemUI/multivalentTests/src/com/android/systemui/biometrics/AuthContainerViewTest.kt +3 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ import android.testing.ViewUtils import android.view.View import android.view.WindowInsets import android.view.WindowManager import android.view.accessibility.AccessibilityManager import android.widget.ScrollView import androidx.constraintlayout.widget.ConstraintLayout import androidx.test.ext.junit.runners.AndroidJUnit4 Loading Loading @@ -114,6 +115,7 @@ open class AuthContainerViewTest : SysuiTestCase() { @Mock lateinit var selectedUserInteractor: SelectedUserInteractor @Mock private lateinit var packageManager: PackageManager @Mock private lateinit var activityTaskManager: ActivityTaskManager @Mock private lateinit var accessibilityManager: AccessibilityManager @Mock private lateinit var lazyViewCapture: Lazy<ViewCapture> private lateinit var displayRepository: FakeDisplayRepository Loading Loading @@ -678,6 +680,7 @@ open class AuthContainerViewTest : SysuiTestCase() { udfpsUtils, iconProvider, activityTaskManager, accessibilityManager, ), { credentialViewModel }, fakeExecutor, Loading packages/SystemUI/src/com/android/systemui/biometrics/ui/viewmodel/PromptViewModel.kt +13 −2 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ import android.util.Log import android.util.RotationUtils import android.view.HapticFeedbackConstants import android.view.MotionEvent import android.view.accessibility.AccessibilityManager import com.android.app.tracing.coroutines.launchTraced as launch import com.android.keyguard.AuthInteractionProperties import com.android.launcher3.icons.IconProvider Loading Loading @@ -85,7 +86,17 @@ constructor( private val udfpsUtils: UdfpsUtils, private val iconProvider: IconProvider, private val activityTaskManager: ActivityTaskManager, private val accessibilityManager: AccessibilityManager, ) { // When a11y enabled, increase message delay to ensure messages get read private val messageDelay = accessibilityManager .getRecommendedTimeoutMillis( BiometricPrompt.HIDE_DIALOG_DELAY, AccessibilityManager.FLAG_CONTENT_CONTROLS or AccessibilityManager.FLAG_CONTENT_TEXT, ) .toLong() /** The set of modalities available for this prompt */ val modalities: Flow<BiometricModalities> = promptSelectorInteractor.prompt Loading Loading @@ -692,7 +703,7 @@ constructor( messageJob?.cancel() messageJob = launch { delay(BiometricPrompt.HIDE_DIALOG_DELAY.toLong()) delay(messageDelay) if (authenticateAfterError) { showAuthenticating(messageAfterError) } else { Loading Loading @@ -754,7 +765,7 @@ constructor( messageJob?.cancel() messageJob = launch { delay(BiometricPrompt.HIDE_DIALOG_DELAY.toLong()) delay(messageDelay) showAuthenticating(messageAfterHelp) } } Loading packages/SystemUI/tests/src/com/android/systemui/biometrics/ui/viewmodel/PromptViewModelTest.kt +4 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import android.graphics.Point import android.graphics.Rect import android.graphics.drawable.BitmapDrawable import android.hardware.biometrics.BiometricFingerprintConstants import android.hardware.biometrics.BiometricPrompt import android.hardware.biometrics.PromptContentItemBulletedText import android.hardware.biometrics.PromptContentView import android.hardware.biometrics.PromptContentViewWithMoreOptionsButton Loading @@ -42,6 +43,7 @@ import android.platform.test.annotations.EnableFlags import android.view.HapticFeedbackConstants import android.view.MotionEvent import android.view.Surface import android.view.accessibility.accessibilityManager import androidx.test.filters.SmallTest import com.android.app.activityTaskManager import com.android.keyguard.AuthInteractionProperties Loading Loading @@ -200,6 +202,8 @@ internal class PromptViewModelTest(private val testCase: TestCase) : SysuiTestCa overrideResource(R.dimen.biometric_dialog_face_icon_size, mockFaceIconSize) kosmos.applicationContext = context whenever(kosmos.accessibilityManager.getRecommendedTimeoutMillis(anyInt(), anyInt())) .thenReturn(BiometricPrompt.HIDE_DIALOG_DELAY) if (testCase.fingerprint?.isAnyUdfpsType == true) { kosmos.authController = authController Loading packages/SystemUI/tests/utils/src/com/android/systemui/biometrics/ui/viewmodel/PromptViewModelKosmos.kt +2 −1 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.systemui.biometrics.ui.viewmodel import android.content.applicationContext import android.view.accessibility.accessibilityManager import com.android.app.activityTaskManager import com.android.launcher3.icons.IconProvider import com.android.systemui.biometrics.domain.interactor.biometricStatusInteractor Loading @@ -27,7 +28,6 @@ import com.android.systemui.biometrics.udfpsUtils import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.Kosmos.Fixture import com.android.systemui.util.mockito.mock import org.mockito.Mockito.mock val Kosmos.promptViewModel by Fixture { PromptViewModel( Loading @@ -39,6 +39,7 @@ val Kosmos.promptViewModel by Fixture { udfpsUtils = udfpsUtils, iconProvider = iconProvider, activityTaskManager = activityTaskManager, accessibilityManager = accessibilityManager, ) } Loading Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/biometrics/AuthContainerViewTest.kt +3 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ import android.testing.ViewUtils import android.view.View import android.view.WindowInsets import android.view.WindowManager import android.view.accessibility.AccessibilityManager import android.widget.ScrollView import androidx.constraintlayout.widget.ConstraintLayout import androidx.test.ext.junit.runners.AndroidJUnit4 Loading Loading @@ -114,6 +115,7 @@ open class AuthContainerViewTest : SysuiTestCase() { @Mock lateinit var selectedUserInteractor: SelectedUserInteractor @Mock private lateinit var packageManager: PackageManager @Mock private lateinit var activityTaskManager: ActivityTaskManager @Mock private lateinit var accessibilityManager: AccessibilityManager @Mock private lateinit var lazyViewCapture: Lazy<ViewCapture> private lateinit var displayRepository: FakeDisplayRepository Loading Loading @@ -678,6 +680,7 @@ open class AuthContainerViewTest : SysuiTestCase() { udfpsUtils, iconProvider, activityTaskManager, accessibilityManager, ), { credentialViewModel }, fakeExecutor, Loading
packages/SystemUI/src/com/android/systemui/biometrics/ui/viewmodel/PromptViewModel.kt +13 −2 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ import android.util.Log import android.util.RotationUtils import android.view.HapticFeedbackConstants import android.view.MotionEvent import android.view.accessibility.AccessibilityManager import com.android.app.tracing.coroutines.launchTraced as launch import com.android.keyguard.AuthInteractionProperties import com.android.launcher3.icons.IconProvider Loading Loading @@ -85,7 +86,17 @@ constructor( private val udfpsUtils: UdfpsUtils, private val iconProvider: IconProvider, private val activityTaskManager: ActivityTaskManager, private val accessibilityManager: AccessibilityManager, ) { // When a11y enabled, increase message delay to ensure messages get read private val messageDelay = accessibilityManager .getRecommendedTimeoutMillis( BiometricPrompt.HIDE_DIALOG_DELAY, AccessibilityManager.FLAG_CONTENT_CONTROLS or AccessibilityManager.FLAG_CONTENT_TEXT, ) .toLong() /** The set of modalities available for this prompt */ val modalities: Flow<BiometricModalities> = promptSelectorInteractor.prompt Loading Loading @@ -692,7 +703,7 @@ constructor( messageJob?.cancel() messageJob = launch { delay(BiometricPrompt.HIDE_DIALOG_DELAY.toLong()) delay(messageDelay) if (authenticateAfterError) { showAuthenticating(messageAfterError) } else { Loading Loading @@ -754,7 +765,7 @@ constructor( messageJob?.cancel() messageJob = launch { delay(BiometricPrompt.HIDE_DIALOG_DELAY.toLong()) delay(messageDelay) showAuthenticating(messageAfterHelp) } } Loading
packages/SystemUI/tests/src/com/android/systemui/biometrics/ui/viewmodel/PromptViewModelTest.kt +4 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import android.graphics.Point import android.graphics.Rect import android.graphics.drawable.BitmapDrawable import android.hardware.biometrics.BiometricFingerprintConstants import android.hardware.biometrics.BiometricPrompt import android.hardware.biometrics.PromptContentItemBulletedText import android.hardware.biometrics.PromptContentView import android.hardware.biometrics.PromptContentViewWithMoreOptionsButton Loading @@ -42,6 +43,7 @@ import android.platform.test.annotations.EnableFlags import android.view.HapticFeedbackConstants import android.view.MotionEvent import android.view.Surface import android.view.accessibility.accessibilityManager import androidx.test.filters.SmallTest import com.android.app.activityTaskManager import com.android.keyguard.AuthInteractionProperties Loading Loading @@ -200,6 +202,8 @@ internal class PromptViewModelTest(private val testCase: TestCase) : SysuiTestCa overrideResource(R.dimen.biometric_dialog_face_icon_size, mockFaceIconSize) kosmos.applicationContext = context whenever(kosmos.accessibilityManager.getRecommendedTimeoutMillis(anyInt(), anyInt())) .thenReturn(BiometricPrompt.HIDE_DIALOG_DELAY) if (testCase.fingerprint?.isAnyUdfpsType == true) { kosmos.authController = authController Loading
packages/SystemUI/tests/utils/src/com/android/systemui/biometrics/ui/viewmodel/PromptViewModelKosmos.kt +2 −1 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.systemui.biometrics.ui.viewmodel import android.content.applicationContext import android.view.accessibility.accessibilityManager import com.android.app.activityTaskManager import com.android.launcher3.icons.IconProvider import com.android.systemui.biometrics.domain.interactor.biometricStatusInteractor Loading @@ -27,7 +28,6 @@ import com.android.systemui.biometrics.udfpsUtils import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.Kosmos.Fixture import com.android.systemui.util.mockito.mock import org.mockito.Mockito.mock val Kosmos.promptViewModel by Fixture { PromptViewModel( Loading @@ -39,6 +39,7 @@ val Kosmos.promptViewModel by Fixture { udfpsUtils = udfpsUtils, iconProvider = iconProvider, activityTaskManager = activityTaskManager, accessibilityManager = accessibilityManager, ) } Loading