9/n: Fix more biometric templating
Fixes raw use of untemplated BiometricUtils, etc Bug: 170497736 Test: Builds Change-Id: I3f7695efd3f2853c79d560fc9843f9cf4531a867
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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 */);
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ import android.annotation.NonNull;
|
||||
import android.content.Context;
|
||||
import android.hardware.biometrics.BiometricsProtoEnums;
|
||||
import android.hardware.biometrics.face.V1_0.IBiometricsFace;
|
||||
import android.hardware.face.Face;
|
||||
import android.os.IBinder;
|
||||
import android.os.RemoteException;
|
||||
import android.util.Slog;
|
||||
@@ -34,12 +35,12 @@ import java.util.Map;
|
||||
* Face-specific removal client supporting the {@link android.hardware.biometrics.face.V1_0}
|
||||
* and {@link android.hardware.biometrics.face.V1_1} HIDL interfaces.
|
||||
*/
|
||||
class FaceRemovalClient extends RemovalClient<IBiometricsFace> {
|
||||
class FaceRemovalClient extends RemovalClient<Face, IBiometricsFace> {
|
||||
private static final String TAG = "FaceRemovalClient";
|
||||
|
||||
FaceRemovalClient(@NonNull Context context, @NonNull LazyDaemon<IBiometricsFace> 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<Face> utils,
|
||||
int sensorId, @NonNull Map<Integer, Long> authenticatorIds) {
|
||||
super(context, lazyDaemon, token, listener, biometricId, userId, owner, utils, sensorId,
|
||||
authenticatorIds, BiometricsProtoEnums.MODALITY_FACE);
|
||||
|
||||
@@ -24,8 +24,8 @@ import android.hardware.biometrics.BiometricFingerprintConstants;
|
||||
import android.hardware.biometrics.BiometricsProtoEnums;
|
||||
import android.hardware.biometrics.common.ICancellationSignal;
|
||||
import android.hardware.biometrics.fingerprint.ISession;
|
||||
import android.hardware.fingerprint.Fingerprint;
|
||||
import android.hardware.fingerprint.IUdfpsOverlayController;
|
||||
import android.hardware.keymaster.HardwareAuthToken;
|
||||
import android.os.IBinder;
|
||||
import android.os.RemoteException;
|
||||
import android.util.Slog;
|
||||
@@ -50,7 +50,7 @@ public class FingerprintEnrollClient extends EnrollClient<ISession> implements U
|
||||
@NonNull LazyDaemon<ISession> lazyDaemon, @NonNull IBinder token,
|
||||
@NonNull ClientMonitorCallbackConverter listener, int userId,
|
||||
@NonNull byte[] hardwareAuthToken, @NonNull String owner,
|
||||
@NonNull FingerprintUtils utils, int sensorId,
|
||||
@NonNull BiometricUtils<Fingerprint> utils, int sensorId,
|
||||
@Nullable IUdfpsOverlayController udfpsOvelayController, int maxTemplatesPerUser) {
|
||||
super(context, lazyDaemon, token, listener, userId, hardwareAuthToken, owner, utils,
|
||||
0 /* timeoutSec */, BiometricsProtoEnums.MODALITY_FINGERPRINT, sensorId,
|
||||
|
||||
@@ -20,13 +20,14 @@ import android.annotation.NonNull;
|
||||
import android.content.Context;
|
||||
import android.hardware.biometrics.BiometricsProtoEnums;
|
||||
import android.hardware.biometrics.fingerprint.ISession;
|
||||
import android.hardware.fingerprint.Fingerprint;
|
||||
import android.os.IBinder;
|
||||
import android.os.RemoteException;
|
||||
import android.util.Slog;
|
||||
|
||||
import com.android.server.biometrics.sensors.BiometricUtils;
|
||||
import com.android.server.biometrics.sensors.ClientMonitorCallbackConverter;
|
||||
import com.android.server.biometrics.sensors.RemovalClient;
|
||||
import com.android.server.biometrics.sensors.fingerprint.FingerprintUtils;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@@ -34,13 +35,13 @@ import java.util.Map;
|
||||
* Fingerprint-specific removal client supporting the
|
||||
* {@link android.hardware.biometrics.fingerprint.IFingerprint} interface.
|
||||
*/
|
||||
public class FingerprintRemovalClient extends RemovalClient<ISession> {
|
||||
public class FingerprintRemovalClient extends RemovalClient<Fingerprint, ISession> {
|
||||
private static final String TAG = "FingerprintRemovalClient";
|
||||
|
||||
public FingerprintRemovalClient(@NonNull Context context,
|
||||
@NonNull LazyDaemon<ISession> lazyDaemon, @NonNull IBinder token,
|
||||
@NonNull ClientMonitorCallbackConverter listener, int biometricId, int userId,
|
||||
@NonNull String owner, @NonNull FingerprintUtils utils, int sensorId,
|
||||
@NonNull String owner, @NonNull BiometricUtils<Fingerprint> utils, int sensorId,
|
||||
@NonNull Map<Integer, Long> authenticatorIds) {
|
||||
super(context, lazyDaemon, token, listener, biometricId, userId, owner, utils, sensorId,
|
||||
authenticatorIds, BiometricsProtoEnums.MODALITY_FINGERPRINT);
|
||||
|
||||
@@ -22,6 +22,7 @@ import android.content.Context;
|
||||
import android.hardware.biometrics.BiometricFingerprintConstants;
|
||||
import android.hardware.biometrics.BiometricsProtoEnums;
|
||||
import android.hardware.biometrics.fingerprint.V2_1.IBiometricsFingerprint;
|
||||
import android.hardware.fingerprint.Fingerprint;
|
||||
import android.hardware.fingerprint.IUdfpsOverlayController;
|
||||
import android.os.IBinder;
|
||||
import android.os.RemoteException;
|
||||
@@ -48,8 +49,8 @@ public class FingerprintEnrollClient extends EnrollClient<IBiometricsFingerprint
|
||||
FingerprintEnrollClient(@NonNull Context context,
|
||||
@NonNull LazyDaemon<IBiometricsFingerprint> lazyDaemon, @NonNull IBinder token,
|
||||
@NonNull ClientMonitorCallbackConverter listener, int userId,
|
||||
@NonNull byte[] hardwareAuthToken, @NonNull String owner, @NonNull BiometricUtils utils,
|
||||
int timeoutSec, int sensorId,
|
||||
@NonNull byte[] hardwareAuthToken, @NonNull String owner,
|
||||
@NonNull BiometricUtils<Fingerprint> utils, int timeoutSec, int sensorId,
|
||||
@Nullable IUdfpsOverlayController udfpsOverlayController) {
|
||||
super(context, lazyDaemon, token, listener, userId, hardwareAuthToken, owner, utils,
|
||||
timeoutSec, BiometricsProtoEnums.MODALITY_FINGERPRINT, sensorId,
|
||||
|
||||
@@ -42,7 +42,8 @@ class FingerprintInternalCleanupClient
|
||||
FingerprintInternalCleanupClient(@NonNull Context context,
|
||||
@NonNull LazyDaemon<IBiometricsFingerprint> lazyDaemon, int userId,
|
||||
@NonNull String owner, int sensorId, @NonNull List<Fingerprint> enrolledList,
|
||||
@NonNull BiometricUtils utils, @NonNull Map<Integer, Long> authenticatorIds) {
|
||||
@NonNull BiometricUtils<Fingerprint> utils,
|
||||
@NonNull Map<Integer, Long> authenticatorIds) {
|
||||
super(context, lazyDaemon, userId, owner, sensorId,
|
||||
BiometricsProtoEnums.MODALITY_FINGERPRINT, enrolledList, utils, authenticatorIds);
|
||||
}
|
||||
@@ -50,18 +51,17 @@ class FingerprintInternalCleanupClient
|
||||
@Override
|
||||
protected InternalEnumerateClient<IBiometricsFingerprint> getEnumerateClient(
|
||||
Context context, LazyDaemon<IBiometricsFingerprint> lazyDaemon, IBinder token,
|
||||
int userId, String owner,
|
||||
List<Fingerprint> enrolledList, BiometricUtils utils,
|
||||
int sensorId) {
|
||||
int userId, String owner, List<Fingerprint> enrolledList,
|
||||
BiometricUtils<Fingerprint> utils, int sensorId) {
|
||||
return new FingerprintInternalEnumerateClient(context, lazyDaemon, token, userId, owner,
|
||||
enrolledList, utils, sensorId);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected RemovalClient<IBiometricsFingerprint> getRemovalClient(Context context,
|
||||
protected RemovalClient<Fingerprint, IBiometricsFingerprint> getRemovalClient(Context context,
|
||||
LazyDaemon<IBiometricsFingerprint> lazyDaemon, IBinder token,
|
||||
int biometricId, int userId, String owner, BiometricUtils utils, int sensorId,
|
||||
Map<Integer, Long> authenticatorIds) {
|
||||
int biometricId, int userId, String owner, BiometricUtils<Fingerprint> utils,
|
||||
int sensorId, Map<Integer, Long> authenticatorIds) {
|
||||
// Internal remove does not need to send results to anyone. Cleanup (enumerate + remove)
|
||||
// is all done internally.
|
||||
return new FingerprintRemovalClient(context, lazyDaemon, token,
|
||||
|
||||
@@ -41,7 +41,7 @@ class FingerprintInternalEnumerateClient extends InternalEnumerateClient<IBiomet
|
||||
FingerprintInternalEnumerateClient(@NonNull Context context,
|
||||
@NonNull LazyDaemon<IBiometricsFingerprint> lazyDaemon, @NonNull IBinder token,
|
||||
int userId, @NonNull String owner, @NonNull List<Fingerprint> enrolledList,
|
||||
@NonNull BiometricUtils utils, int sensorId) {
|
||||
@NonNull BiometricUtils<Fingerprint> utils, int sensorId) {
|
||||
super(context, lazyDaemon, token, userId, owner, enrolledList, utils, sensorId,
|
||||
BiometricsProtoEnums.MODALITY_FINGERPRINT);
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ import android.annotation.NonNull;
|
||||
import android.content.Context;
|
||||
import android.hardware.biometrics.BiometricsProtoEnums;
|
||||
import android.hardware.biometrics.fingerprint.V2_1.IBiometricsFingerprint;
|
||||
import android.hardware.fingerprint.Fingerprint;
|
||||
import android.os.IBinder;
|
||||
import android.os.RemoteException;
|
||||
import android.util.Slog;
|
||||
@@ -35,13 +36,13 @@ import java.util.Map;
|
||||
* {@link android.hardware.biometrics.fingerprint.V2_1} and
|
||||
* {@link android.hardware.biometrics.fingerprint.V2_2} HIDL interfaces.
|
||||
*/
|
||||
class FingerprintRemovalClient extends RemovalClient<IBiometricsFingerprint> {
|
||||
class FingerprintRemovalClient extends RemovalClient<Fingerprint, IBiometricsFingerprint> {
|
||||
private static final String TAG = "FingerprintRemovalClient";
|
||||
|
||||
FingerprintRemovalClient(@NonNull Context context,
|
||||
@NonNull LazyDaemon<IBiometricsFingerprint> lazyDaemon, @NonNull IBinder token,
|
||||
@NonNull ClientMonitorCallbackConverter listener, int biometricId, int userId,
|
||||
@NonNull String owner, @NonNull BiometricUtils utils, int sensorId,
|
||||
@NonNull String owner, @NonNull BiometricUtils<Fingerprint> utils, int sensorId,
|
||||
@NonNull Map<Integer, Long> authenticatorIds) {
|
||||
super(context, lazyDaemon, token, listener, biometricId, userId, owner, utils, sensorId,
|
||||
authenticatorIds, BiometricsProtoEnums.MODALITY_FINGERPRINT);
|
||||
|
||||
Reference in New Issue
Block a user