Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d24777e7 authored by Dmitry Dementyev's avatar Dmitry Dementyev Committed by Android (Google) Code Review
Browse files

Revert "Add biometric scuba tests to presubmit."

Revert submission 20306336-first-scuba-bio

Reason for revert: Failing tests b/259124654
Reverted Changes:
Ie5a505a2a:Add biometric scuba tests to presubmit.
I61221c03d:Add first scuba test for biometric credential view...

Change-Id: Id33076e3b7aba9d04f93dbac2b888cd4df676cd5
parent d551c77a
Loading
Loading
Loading
Loading
+2 −9
Original line number Diff line number Diff line
@@ -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 =
+0 −16
Original line number Diff line number Diff line
{
  "presubmit": [
    {
      // TODO(b/251476085): Consider merging with SystemUIGoogleScreenshotTests (in U+)
      "name": "SystemUIGoogleBiometricsScreenshotTests",
      "options": [
        {
          "exclude-annotation": "org.junit.Ignore"
        },
        {
          "exclude-annotation": "androidx.test.filters.FlakyTest"
        }
      ]
    }
  ]
}
+3 −5
Original line number Diff line number Diff line
@@ -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()
            }

            repeatOnLifecycle(Lifecycle.State.STARTED) {
                // observe credential validation attempts and submit/cancel buttons
+3 −2
Original line number Diff line number Diff line
@@ -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
+2 −3
Original line number Diff line number Diff line
@@ -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}")
        }