Finish FaceAuthClient onLockout

Test: atest FaceAuthenticationClientTest
Bug: 250071647
Change-Id: Icb845b11e592fd548679f27fd6ca567590578eb6
This commit is contained in:
Joshua McCloskey
2023-03-13 22:22:02 +00:00
committed by Joshua Mccloskey
parent 09664e3921
commit 9f26c90ffb
3 changed files with 29 additions and 11 deletions

View File

@@ -212,6 +212,8 @@ class FaceAuthenticationClient extends AuthenticationClient<AidlSession, FaceAut
// 1) Authenticated == true
// 2) Error occurred
// 3) Authenticated == false
// 4) onLockout
// 5) onLockoutTimed
mCallback.onClientFinished(this, true /* success */);
}
@@ -304,11 +306,7 @@ class FaceAuthenticationClient extends AuthenticationClient<AidlSession, FaceAut
PerformanceTracker.getInstanceForSensorId(getSensorId())
.incrementTimedLockoutForUser(getTargetUserId());
try {
getListener().onError(getSensorId(), getCookie(), error, 0 /* vendorCode */);
} catch (RemoteException e) {
Slog.e(TAG, "Remote exception", e);
}
onError(error, 0 /* vendorCode */);
}
@Override
@@ -323,10 +321,6 @@ class FaceAuthenticationClient extends AuthenticationClient<AidlSession, FaceAut
PerformanceTracker.getInstanceForSensorId(getSensorId())
.incrementPermanentLockoutForUser(getTargetUserId());
try {
getListener().onError(getSensorId(), getCookie(), error, 0 /* vendorCode */);
} catch (RemoteException e) {
Slog.e(TAG, "Remote exception", e);
}
onError(error, 0 /* vendorCode */);
}
}

View File

@@ -465,7 +465,7 @@ public class FaceProvider implements IBinder.DeathRecipient, ServiceProvider {
BaseClientMonitor clientMonitor,
boolean success) {
mAuthSessionCoordinator.authEndedFor(userId, Utils.getCurrentStrength(sensorId),
sensorId, requestId, success);
sensorId, requestId, client.wasAuthSuccessful());
}
});
});

View File

@@ -16,6 +16,8 @@
package com.android.server.biometrics.sensors.face.aidl;
import static android.hardware.biometrics.BiometricFaceConstants.FACE_ERROR_LOCKOUT;
import static android.hardware.biometrics.BiometricFaceConstants.FACE_ERROR_LOCKOUT_PERMANENT;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
@@ -147,6 +149,28 @@ public class FaceAuthenticationClientTest {
verify(mHal, never()).authenticate(anyLong());
}
@Test
public void testLockoutEndsOperation() throws RemoteException {
final FaceAuthenticationClient client = createClient(2);
client.start(mCallback);
client.onLockoutPermanent();
verify(mClientMonitorCallbackConverter).onError(anyInt(), anyInt(),
eq(FACE_ERROR_LOCKOUT_PERMANENT), anyInt());
verify(mCallback).onClientFinished(client, false);
}
@Test
public void testTemporaryLockoutEndsOperation() throws RemoteException {
final FaceAuthenticationClient client = createClient(2);
client.start(mCallback);
client.onLockoutTimed(1000);
verify(mClientMonitorCallbackConverter).onError(anyInt(), anyInt(),
eq(FACE_ERROR_LOCKOUT), anyInt());
verify(mCallback).onClientFinished(client, false);
}
@Test
public void notifyHalWhenContextChanges() throws RemoteException {
final FaceAuthenticationClient client = createClient();