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

Commit ac579f8a authored by Kevin Chyn's avatar Kevin Chyn
Browse files

9/n: Fix more biometric templating

Fixes raw use of untemplated BiometricUtils, etc

Bug: 170497736
Test: Builds
Change-Id: I3f7695efd3f2853c79d560fc9843f9cf4531a867
parent 3a3e2240
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -57,7 +57,7 @@ public abstract class InternalCleanupClient<S extends BiometricAuthenticator.Ide
    }

    private final ArrayList<UserTemplate> mUnknownHALTemplates = new ArrayList<>();
    private final BiometricUtils mBiometricUtils;
    private final BiometricUtils<S> mBiometricUtils;
    private final Map<Integer, Long> mAuthenticatorIds;
    private final List<S> mEnrolledList;
    private ClientMonitor<T> mCurrentTask;
@@ -95,15 +95,15 @@ public abstract class InternalCleanupClient<S extends BiometricAuthenticator.Ide

    protected abstract InternalEnumerateClient<T> getEnumerateClient(Context context,
            LazyDaemon<T> lazyDaemon, IBinder token, int userId, String owner,
            List<S> enrolledList, BiometricUtils utils, int sensorId);
            List<S> enrolledList, BiometricUtils<S> utils, int sensorId);

    protected abstract RemovalClient<T> getRemovalClient(Context context, LazyDaemon<T> lazyDaemon,
            IBinder token, int biometricId, int userId, String owner, BiometricUtils utils,
            int sensorId, Map<Integer, Long> authenticatorIds);
    protected abstract RemovalClient<S, T> getRemovalClient(Context context,
            LazyDaemon<T> lazyDaemon, IBinder token, int biometricId, int userId, String owner,
            BiometricUtils<S> utils, int sensorId, Map<Integer, Long> authenticatorIds);

    protected InternalCleanupClient(@NonNull Context context, @NonNull LazyDaemon<T> lazyDaemon,
            int userId, @NonNull String owner, int sensorId, int statsModality,
            @NonNull List<S> enrolledList, @NonNull BiometricUtils utils,
            @NonNull List<S> enrolledList, @NonNull BiometricUtils<S> utils,
            @NonNull Map<Integer, Long> authenticatorIds) {
        super(context, lazyDaemon, null /* token */, null /* ClientMonitorCallbackConverter */,
                userId, owner, 0 /* cookie */, sensorId, statsModality,
@@ -153,7 +153,7 @@ public abstract class InternalCleanupClient<S extends BiometricAuthenticator.Ide
                    + mCurrentTask.getClass().getSimpleName());
            return;
        }
        ((RemovalClient<T>) mCurrentTask).onRemoved(identifier, remaining);
        ((RemovalClient<S, T>) mCurrentTask).onRemoved(identifier, remaining);
    }

    @Override
+4 −3
Original line number Diff line number Diff line
@@ -29,17 +29,18 @@ import java.util.Map;
/**
 * A class to keep track of the remove state for a given client.
 */
public abstract class RemovalClient<T> extends ClientMonitor<T> implements RemovalConsumer {
public abstract class RemovalClient<S extends BiometricAuthenticator.Identifier, T>
        extends ClientMonitor<T> implements RemovalConsumer {

    private static final String TAG = "Biometrics/RemovalClient";

    protected final int mBiometricId;
    private final BiometricUtils mBiometricUtils;
    private final BiometricUtils<S> mBiometricUtils;
    private final Map<Integer, Long> mAuthenticatorIds;

    public RemovalClient(@NonNull Context context, @NonNull LazyDaemon<T> lazyDaemon,
            @NonNull IBinder token, @NonNull ClientMonitorCallbackConverter listener,
            int biometricId, int userId, @NonNull String owner, @NonNull BiometricUtils utils,
            int biometricId, int userId, @NonNull String owner, @NonNull BiometricUtils<S> utils,
            int sensorId, @NonNull Map<Integer, Long> authenticatorIds, int statsModality) {
        super(context, lazyDaemon, token, listener, userId, owner, 0 /* cookie */, sensorId,
                statsModality, BiometricsProtoEnums.ACTION_REMOVE,
+4 −3
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import android.hardware.biometrics.BiometricFaceConstants;
import android.hardware.biometrics.BiometricsProtoEnums;
import android.hardware.biometrics.face.V1_0.IBiometricsFace;
import android.hardware.biometrics.face.V1_0.Status;
import android.hardware.face.Face;
import android.hardware.face.FaceManager;
import android.os.IBinder;
import android.os.NativeHandle;
@@ -53,9 +54,9 @@ public class FaceEnrollClient extends EnrollClient<IBiometricsFace> {

    FaceEnrollClient(@NonNull Context context, @NonNull LazyDaemon<IBiometricsFace> lazyDaemon,
            @NonNull IBinder token, @NonNull ClientMonitorCallbackConverter listener, int userId,
            @NonNull byte[] hardwareAuthToken, @NonNull String owner, @NonNull BiometricUtils utils,
            @NonNull int[] disabledFeatures, int timeoutSec, @Nullable NativeHandle surfaceHandle,
            int sensorId) {
            @NonNull byte[] hardwareAuthToken, @NonNull String owner,
            @NonNull BiometricUtils<Face> utils, @NonNull int[] disabledFeatures, int timeoutSec,
            @Nullable NativeHandle surfaceHandle, int sensorId) {
        super(context, lazyDaemon, token, listener, userId, hardwareAuthToken, owner, utils,
                timeoutSec, BiometricsProtoEnums.MODALITY_FACE, sensorId,
                false /* shouldVibrate */);
+4 −4
Original line number Diff line number Diff line
@@ -40,7 +40,7 @@ class FaceInternalCleanupClient extends InternalCleanupClient<Face, IBiometricsF

    FaceInternalCleanupClient(@NonNull Context context,
            @NonNull LazyDaemon<IBiometricsFace> lazyDaemon, int userId, @NonNull String owner,
            int sensorId, @NonNull List<Face> enrolledList, @NonNull BiometricUtils utils,
            int sensorId, @NonNull List<Face> enrolledList, @NonNull BiometricUtils<Face> utils,
            @NonNull Map<Integer, Long> authenticatorIds) {
        super(context, lazyDaemon, userId, owner, sensorId, BiometricsProtoEnums.MODALITY_FACE,
                enrolledList, utils, authenticatorIds);
@@ -49,15 +49,15 @@ class FaceInternalCleanupClient extends InternalCleanupClient<Face, IBiometricsF
    @Override
    protected InternalEnumerateClient<IBiometricsFace> getEnumerateClient(Context context,
            LazyDaemon<IBiometricsFace> lazyDaemon, IBinder token, int userId, String owner,
            List<Face> enrolledList, BiometricUtils utils, int sensorId) {
            List<Face> enrolledList, BiometricUtils<Face> utils, int sensorId) {
        return new FaceInternalEnumerateClient(context, lazyDaemon, token, userId, owner,
                enrolledList, utils, sensorId);
    }

    @Override
    protected RemovalClient<IBiometricsFace> getRemovalClient(Context context,
    protected RemovalClient<Face, IBiometricsFace> getRemovalClient(Context context,
            LazyDaemon<IBiometricsFace> lazyDaemon, IBinder token,
            int biometricId, int userId, String owner, BiometricUtils utils, int sensorId,
            int biometricId, int userId, String owner, BiometricUtils<Face> utils, int sensorId,
            Map<Integer, Long> authenticatorIds) {
        // Internal remove does not need to send results to anyone. Cleanup (enumerate + remove)
        // is all done internally.
+2 −2
Original line number Diff line number Diff line
@@ -40,8 +40,8 @@ class FaceInternalEnumerateClient extends InternalEnumerateClient<IBiometricsFac

    FaceInternalEnumerateClient(@NonNull Context context,
            @NonNull LazyDaemon<IBiometricsFace> lazyDaemon, @NonNull IBinder token, int userId,
            @NonNull String owner, @NonNull List<Face> enrolledList, @NonNull BiometricUtils utils,
            int sensorId) {
            @NonNull String owner, @NonNull List<Face> enrolledList,
            @NonNull BiometricUtils<Face> utils, int sensorId) {
        super(context, lazyDaemon, token, userId, owner, enrolledList, utils, sensorId,
                BiometricsProtoEnums.MODALITY_FACE);
    }
Loading