Revert "Restart fingerprint auth on cancel."

This reverts commit 4efd4c16f9.

Reason for revert: Breaks auth behavior

Fixes: 347858844
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:16f973b8364171116ce16b951113d64beefe506c)
Merged-In: Ie1b8be9dfae2cba7e2b37187f08cf1360aedf29f
Change-Id: Ie1b8be9dfae2cba7e2b37187f08cf1360aedf29f
This commit is contained in:
Joshua Mccloskey
2024-06-25 21:34:37 +00:00
committed by Android Build Coastguard Worker
parent a524b8c33d
commit 08697a3b5c
2 changed files with 6 additions and 29 deletions

View File

@@ -356,6 +356,11 @@ public class FingerprintSettings extends SubSettings {
*/
protected void handleError(int errMsgId, CharSequence msg) {
switch (errMsgId) {
case FingerprintManager.FINGERPRINT_ERROR_CANCELED:
case FingerprintManager.FINGERPRINT_ERROR_USER_CANCELED:
// Only happens if we get preempted by another activity, or canceled by the
// user (e.g. swipe up to home). Ignored.
return;
case FingerprintManager.FINGERPRINT_ERROR_LOCKOUT:
mInFingerprintLockout = true;
// We've been locked out. Reset after 30s.

View File

@@ -17,7 +17,6 @@
package com.android.settings.biometrics.fingerprint;
import static android.hardware.fingerprint.FingerprintSensorProperties.TYPE_POWER_BUTTON;
import static android.hardware.fingerprint.FingerprintSensorProperties.TYPE_REAR;
import static android.hardware.fingerprint.FingerprintSensorProperties.TYPE_UDFPS_OPTICAL;
import static com.android.settings.biometrics.fingerprint.FingerprintSettings.FingerprintSettingsFragment;
@@ -34,16 +33,13 @@ import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.content.Context;
import android.content.Intent;
import android.content.pm.UserInfo;
import android.hardware.biometrics.ComponentInfoInternal;
import android.hardware.biometrics.SensorProperties;
import android.hardware.fingerprint.Fingerprint;
import android.hardware.fingerprint.FingerprintManager;
import android.hardware.fingerprint.FingerprintSensorProperties;
import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
@@ -84,7 +80,6 @@ import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import java.util.ArrayList;
import java.util.List;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {ShadowSettingsPreferenceFragment.class, ShadowUtils.class, ShadowFragment.class,
@@ -152,6 +147,7 @@ public class FingerprintSettingsFragmentTest {
public void testCancellationSignalLifeCycle() {
setUpFragment(false);
mFingerprintAuthenticateSidecar.setFingerprintManager(mFingerprintManager);
doNothing().when(mFingerprintManager).authenticate(any(),
mCancellationSignalArgumentCaptor.capture(),
@@ -217,7 +213,6 @@ public class FingerprintSettingsFragmentTest {
doReturn(fragmentManager).when(mActivity).getSupportFragmentManager();
mFingerprintAuthenticateSidecar = new FingerprintAuthenticateSidecar();
mFingerprintAuthenticateSidecar.setFingerprintManager(mFingerprintManager);
doReturn(mFingerprintAuthenticateSidecar).when(fragmentManager).findFragmentByTag(
"authenticate_sidecar");
@@ -251,27 +246,4 @@ public class FingerprintSettingsFragmentTest {
true /* resetLockoutRequiresHardwareAuthToken */));
doReturn(props).when(mFingerprintManager).getSensorPropertiesInternal();
}
@Test
public void testAuthOnFragmentSetup() {
doReturn(List.of(new Fingerprint("Finger 1", 1, 2, 3)))
.when(mFingerprintManager).getEnrolledFingerprints(anyInt());
setUpFragment(false, 1, TYPE_REAR);
verify(mFingerprintManager).authenticate(any(), any(),
any(), any(), anyInt());
}
@Test
public void testErrorCancelledRestartsAuth() {
doReturn(List.of(new Fingerprint("Finger 1", 1, 2, 3)))
.when(mFingerprintManager).getEnrolledFingerprints(anyInt());
setUpFragment(false, 1, TYPE_REAR);
// When we receive a cancel, we should restart auth.
mFragment.handleError(FingerprintManager.FINGERPRINT_ERROR_CANCELED, "blah");
verify(mFingerprintManager, times(2)).authenticate(any(), any(),
any(), any(), anyInt());
}
}