diff options
| author | 2022-11-15 02:01:23 +0000 | |
|---|---|---|
| committer | 2022-11-15 19:20:53 +0000 | |
| commit | 557b1f33b8f90ce701c937925670af6d32952cf1 (patch) | |
| tree | 40ea82ced57b30a12dbcb00b3a07c433600fe833 | |
| parent | be9b4050b00a668d69195f5df9ded21667afe611 (diff) | |
Revert^2 "Add biometric scuba tests to presubmit."
Also includes a few small changes to the test rule and minor cleanup to stablize the tests.
Bug: 251476085
Test: N/A
Change-Id: I8a3122ca10d8b7955103323816ab414a7be337d1
5 files changed, 35 insertions, 9 deletions
diff --git a/packages/SystemUI/screenshot/src/com/android/systemui/testing/screenshot/ViewScreenshotTestRule.kt b/packages/SystemUI/screenshot/src/com/android/systemui/testing/screenshot/ViewScreenshotTestRule.kt index 0b0595f4405f..36ac1ff9ad30 100644 --- a/packages/SystemUI/screenshot/src/com/android/systemui/testing/screenshot/ViewScreenshotTestRule.kt +++ b/packages/SystemUI/screenshot/src/com/android/systemui/testing/screenshot/ViewScreenshotTestRule.kt @@ -34,6 +34,7 @@ import org.junit.runners.model.Statement import platform.test.screenshot.DeviceEmulationRule import platform.test.screenshot.DeviceEmulationSpec import platform.test.screenshot.MaterialYouColorsRule +import platform.test.screenshot.PathConfig import platform.test.screenshot.ScreenshotTestRule import platform.test.screenshot.getEmulatedDevicePathConfig import platform.test.screenshot.matchers.BitmapMatcher @@ -41,13 +42,19 @@ import platform.test.screenshot.matchers.BitmapMatcher /** A rule for View screenshot diff unit tests. */ class ViewScreenshotTestRule( emulationSpec: DeviceEmulationSpec, - private val matcher: BitmapMatcher = UnitTestBitmapMatcher + private val matcher: BitmapMatcher = UnitTestBitmapMatcher, + pathConfig: PathConfig = getEmulatedDevicePathConfig(emulationSpec), + assetsPathRelativeToRepo: String = "" ) : TestRule { private val colorsRule = MaterialYouColorsRule() private val deviceEmulationRule = DeviceEmulationRule(emulationSpec) private val screenshotRule = ScreenshotTestRule( - SystemUIGoldenImagePathManager(getEmulatedDevicePathConfig(emulationSpec)) + if (assetsPathRelativeToRepo.isBlank()) { + SystemUIGoldenImagePathManager(pathConfig) + } else { + SystemUIGoldenImagePathManager(pathConfig, assetsPathRelativeToRepo) + } ) private val activityRule = ActivityScenarioRule(ScreenshotActivity::class.java) private val delegateRule = diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/TEST_MAPPING b/packages/SystemUI/src/com/android/systemui/biometrics/TEST_MAPPING new file mode 100644 index 000000000000..794eba4d8de9 --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/biometrics/TEST_MAPPING @@ -0,0 +1,16 @@ +{ + "presubmit": [ + { + // TODO(b/251476085): Consider merging with SystemUIGoogleScreenshotTests (in U+) + "name": "SystemUIGoogleBiometricsScreenshotTests", + "options": [ + { + "exclude-annotation": "org.junit.Ignore" + }, + { + "exclude-annotation": "androidx.test.filters.FlakyTest" + } + ] + } + ] +} diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/ui/binder/CredentialPasswordViewBinder.kt b/packages/SystemUI/src/com/android/systemui/biometrics/ui/binder/CredentialPasswordViewBinder.kt index 5110a9cfb33b..6fb8e345322c 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/ui/binder/CredentialPasswordViewBinder.kt +++ b/packages/SystemUI/src/com/android/systemui/biometrics/ui/binder/CredentialPasswordViewBinder.kt @@ -26,6 +26,7 @@ object CredentialPasswordViewBinder { view: CredentialPasswordView, host: CredentialView.Host, viewModel: CredentialViewModel, + requestFocusForInput: Boolean, ) { val imeManager = view.context.getSystemService(InputMethodManager::class.java)!! @@ -34,8 +35,10 @@ object CredentialPasswordViewBinder { val onBackInvokedCallback = OnBackInvokedCallback { host.onCredentialAborted() } view.repeatWhenAttached { - passwordField.requestFocus() - passwordField.scheduleShowSoftInput() + if (requestFocusForInput) { + passwordField.requestFocus() + passwordField.scheduleShowSoftInput() + } repeatOnLifecycle(Lifecycle.State.STARTED) { // observe credential validation attempts and submit/cancel buttons diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/ui/binder/CredentialPatternViewBinder.kt b/packages/SystemUI/src/com/android/systemui/biometrics/ui/binder/CredentialPatternViewBinder.kt index 4765551df3f0..b692ad35caee 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/ui/binder/CredentialPatternViewBinder.kt +++ b/packages/SystemUI/src/com/android/systemui/biometrics/ui/binder/CredentialPatternViewBinder.kt @@ -9,7 +9,6 @@ import com.android.systemui.biometrics.ui.CredentialPatternView import com.android.systemui.biometrics.ui.CredentialView import com.android.systemui.biometrics.ui.viewmodel.CredentialViewModel import com.android.systemui.lifecycle.repeatWhenAttached -import kotlinx.coroutines.flow.collect import kotlinx.coroutines.launch /** Sub-binder for the [CredentialPatternView]. */ @@ -30,7 +29,7 @@ object CredentialPatternViewBinder { viewModel.header.collect { header -> lockPatternView.setOnPatternListener( OnPatternDetectedListener { pattern -> - if (pattern.isPatternLongEnough()) { + if (pattern.isPatternTooShort()) { // Pattern size is less than the minimum // do not count it as a failed attempt viewModel.showPatternTooShortError() @@ -71,5 +70,5 @@ private class OnPatternDetectedListener( } } -private fun List<LockPatternView.Cell>.isPatternLongEnough(): Boolean = +private fun List<LockPatternView.Cell>.isPatternTooShort(): Boolean = size < LockPatternUtils.MIN_PATTERN_REGISTER_FAIL diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/ui/binder/CredentialViewBinder.kt b/packages/SystemUI/src/com/android/systemui/biometrics/ui/binder/CredentialViewBinder.kt index fcc948756972..e2d36dc6abe1 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/ui/binder/CredentialViewBinder.kt +++ b/packages/SystemUI/src/com/android/systemui/biometrics/ui/binder/CredentialViewBinder.kt @@ -17,7 +17,6 @@ import com.android.systemui.biometrics.ui.viewmodel.CredentialViewModel import com.android.systemui.lifecycle.repeatWhenAttached import kotlinx.coroutines.Job import kotlinx.coroutines.delay -import kotlinx.coroutines.flow.collect import kotlinx.coroutines.flow.filter import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.launch @@ -40,6 +39,7 @@ object CredentialViewBinder { panelViewController: AuthPanelController, animatePanel: Boolean, maxErrorDuration: Long = 3_000L, + requestFocusForInput: Boolean = true, ) { val titleView: TextView = view.requireViewById(R.id.title) val subtitleView: TextView = view.requireViewById(R.id.subtitle) @@ -110,7 +110,8 @@ object CredentialViewBinder { // bind the auth widget when (view) { - is CredentialPasswordView -> CredentialPasswordViewBinder.bind(view, host, viewModel) + is CredentialPasswordView -> + CredentialPasswordViewBinder.bind(view, host, viewModel, requestFocusForInput) is CredentialPatternView -> CredentialPatternViewBinder.bind(view, host, viewModel) else -> throw IllegalStateException("unexpected view type: ${view.javaClass.name}") } |