Merge "Revert "Add biometric scuba tests to presubmit.""
This commit is contained in:
committed by
Android (Google) Code Review
commit
4a8b31fb98
@@ -34,7 +34,6 @@ 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
|
||||
@@ -42,19 +41,13 @@ import platform.test.screenshot.matchers.BitmapMatcher
|
||||
/** A rule for View screenshot diff unit tests. */
|
||||
class ViewScreenshotTestRule(
|
||||
emulationSpec: DeviceEmulationSpec,
|
||||
private val matcher: BitmapMatcher = UnitTestBitmapMatcher,
|
||||
pathConfig: PathConfig = getEmulatedDevicePathConfig(emulationSpec),
|
||||
assetsPathRelativeToRepo: String = ""
|
||||
private val matcher: BitmapMatcher = UnitTestBitmapMatcher
|
||||
) : TestRule {
|
||||
private val colorsRule = MaterialYouColorsRule()
|
||||
private val deviceEmulationRule = DeviceEmulationRule(emulationSpec)
|
||||
private val screenshotRule =
|
||||
ScreenshotTestRule(
|
||||
if (assetsPathRelativeToRepo.isBlank()) {
|
||||
SystemUIGoldenImagePathManager(pathConfig)
|
||||
} else {
|
||||
SystemUIGoldenImagePathManager(pathConfig, assetsPathRelativeToRepo)
|
||||
}
|
||||
SystemUIGoldenImagePathManager(getEmulatedDevicePathConfig(emulationSpec))
|
||||
)
|
||||
private val activityRule = ActivityScenarioRule(ScreenshotActivity::class.java)
|
||||
private val delegateRule =
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
{
|
||||
"presubmit": [
|
||||
{
|
||||
// TODO(b/251476085): Consider merging with SystemUIGoogleScreenshotTests (in U+)
|
||||
"name": "SystemUIGoogleBiometricsScreenshotTests",
|
||||
"options": [
|
||||
{
|
||||
"exclude-annotation": "org.junit.Ignore"
|
||||
},
|
||||
{
|
||||
"exclude-annotation": "androidx.test.filters.FlakyTest"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -13,6 +13,7 @@ import com.android.systemui.biometrics.ui.CredentialPasswordView
|
||||
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 [CredentialPasswordView]. */
|
||||
@@ -23,17 +24,14 @@ object CredentialPasswordViewBinder {
|
||||
view: CredentialPasswordView,
|
||||
host: CredentialView.Host,
|
||||
viewModel: CredentialViewModel,
|
||||
requestFocusForInput: Boolean,
|
||||
) {
|
||||
val imeManager = view.context.getSystemService(InputMethodManager::class.java)!!
|
||||
|
||||
val passwordField: ImeAwareEditText = view.requireViewById(R.id.lockPassword)
|
||||
|
||||
view.repeatWhenAttached {
|
||||
if (requestFocusForInput) {
|
||||
passwordField.requestFocus()
|
||||
passwordField.scheduleShowSoftInput()
|
||||
}
|
||||
passwordField.requestFocus()
|
||||
passwordField.scheduleShowSoftInput()
|
||||
|
||||
repeatOnLifecycle(Lifecycle.State.STARTED) {
|
||||
// observe credential validation attempts and submit/cancel buttons
|
||||
|
||||
@@ -9,6 +9,7 @@ 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]. */
|
||||
@@ -29,7 +30,7 @@ object CredentialPatternViewBinder {
|
||||
viewModel.header.collect { header ->
|
||||
lockPatternView.setOnPatternListener(
|
||||
OnPatternDetectedListener { pattern ->
|
||||
if (pattern.isPatternTooShort()) {
|
||||
if (pattern.isPatternLongEnough()) {
|
||||
// Pattern size is less than the minimum
|
||||
// do not count it as a failed attempt
|
||||
viewModel.showPatternTooShortError()
|
||||
@@ -70,5 +71,5 @@ private class OnPatternDetectedListener(
|
||||
}
|
||||
}
|
||||
|
||||
private fun List<LockPatternView.Cell>.isPatternTooShort(): Boolean =
|
||||
private fun List<LockPatternView.Cell>.isPatternLongEnough(): Boolean =
|
||||
size < LockPatternUtils.MIN_PATTERN_REGISTER_FAIL
|
||||
|
||||
@@ -17,6 +17,7 @@ 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
|
||||
@@ -39,7 +40,6 @@ 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,8 +110,7 @@ object CredentialViewBinder {
|
||||
|
||||
// bind the auth widget
|
||||
when (view) {
|
||||
is CredentialPasswordView ->
|
||||
CredentialPasswordViewBinder.bind(view, host, viewModel, requestFocusForInput)
|
||||
is CredentialPasswordView -> CredentialPasswordViewBinder.bind(view, host, viewModel)
|
||||
is CredentialPatternView -> CredentialPatternViewBinder.bind(view, host, viewModel)
|
||||
else -> throw IllegalStateException("unexpected view type: ${view.javaClass.name}")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user