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

Commit 1aba0e6e authored by Joshua McCloskey's avatar Joshua McCloskey Committed by Joshua Mccloskey
Browse files

Finish FaceAuthClient onLockout

Test: atest FaceAuthenticationClientTest
Bug: 250071647
Change-Id: Icb845b11e592fd548679f27fd6ca567590578eb6
(cherry picked from commit 9f26c90f)
parent 6f4622fd
Loading
Loading
Loading
Loading
+4 −10
Original line number Diff line number Diff line
@@ -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 */);
    }
}
+1 −1
Original line number Diff line number Diff line
@@ -487,7 +487,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());
                }
            });
        });
+22 −0
Original line number Diff line number Diff line
@@ -151,6 +151,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();