21/n: Clean up ClientMonitor parameters
Bug: 157790417 Test: Builds Change-Id: Ie5dcef72f623dd0efe1764af826c29a9d706e6c8
This commit is contained in:
@@ -48,11 +48,11 @@ public abstract class AcquisitionClient<T> extends ClientMonitor<T>
|
||||
private final VibrationEffect mErrorVibrationEffect;
|
||||
|
||||
AcquisitionClient(@NonNull Context context, @NonNull IBinder token,
|
||||
@NonNull ClientMonitorCallbackConverter listener, int userId, boolean restricted,
|
||||
@NonNull ClientMonitorCallbackConverter listener, int userId,
|
||||
@NonNull String owner, int cookie, int sensorId, int statsModality,
|
||||
int statsAction, int statsClient) {
|
||||
super(context, token, listener, userId, restricted, owner, cookie, sensorId,
|
||||
statsModality, statsAction, statsClient);
|
||||
super(context, token, listener, userId, owner, cookie, sensorId, statsModality, statsAction,
|
||||
statsClient);
|
||||
mPowerManager = context.getSystemService(PowerManager.class);
|
||||
mSuccessVibrationEffect = VibrationEffect.get(VibrationEffect.EFFECT_CLICK);
|
||||
mErrorVibrationEffect = VibrationEffect.get(VibrationEffect.EFFECT_DOUBLE_CLICK);
|
||||
|
||||
@@ -43,6 +43,7 @@ public abstract class AuthenticationClient<T> extends AcquisitionClient<T> {
|
||||
private final IActivityTaskManager mActivityTaskManager;
|
||||
private final TaskStackListener mTaskStackListener;
|
||||
private final LockoutTracker mLockoutTracker;
|
||||
private final boolean mIsRestricted;
|
||||
|
||||
protected final long mOperationId;
|
||||
|
||||
@@ -51,13 +52,12 @@ public abstract class AuthenticationClient<T> extends AcquisitionClient<T> {
|
||||
|
||||
protected boolean mAuthAttempted;
|
||||
|
||||
public AuthenticationClient(@NonNull Context context,
|
||||
@NonNull IBinder token, @NonNull ClientMonitorCallbackConverter listener,
|
||||
int targetUserId, long operationId, boolean restricted, @NonNull String owner,
|
||||
int cookie, boolean requireConfirmation, int sensorId, boolean isStrongBiometric,
|
||||
int statsModality, int statsClient, @NonNull TaskStackListener taskStackListener,
|
||||
@NonNull LockoutTracker lockoutTracker) {
|
||||
super(context, token, listener, targetUserId, restricted, owner, cookie, sensorId,
|
||||
public AuthenticationClient(@NonNull Context context, @NonNull IBinder token,
|
||||
@NonNull ClientMonitorCallbackConverter listener, int targetUserId, long operationId,
|
||||
boolean restricted, @NonNull String owner, int cookie, boolean requireConfirmation,
|
||||
int sensorId, boolean isStrongBiometric, int statsModality, int statsClient,
|
||||
@NonNull TaskStackListener taskStackListener, @NonNull LockoutTracker lockoutTracker) {
|
||||
super(context, token, listener, targetUserId, owner, cookie, sensorId,
|
||||
statsModality, BiometricsProtoEnums.ACTION_AUTHENTICATE, statsClient);
|
||||
mIsStrongBiometric = isStrongBiometric;
|
||||
mOperationId = operationId;
|
||||
@@ -65,6 +65,7 @@ public abstract class AuthenticationClient<T> extends AcquisitionClient<T> {
|
||||
mActivityTaskManager = ActivityTaskManager.getService();
|
||||
mTaskStackListener = taskStackListener;
|
||||
mLockoutTracker = lockoutTracker;
|
||||
mIsRestricted = restricted;
|
||||
}
|
||||
|
||||
public @LockoutTracker.LockoutMode int handleFailedAttempt(int userId) {
|
||||
@@ -147,7 +148,7 @@ public abstract class AuthenticationClient<T> extends AcquisitionClient<T> {
|
||||
|
||||
// Explicitly have if/else here to make it super obvious in case the code is
|
||||
// touched in the future.
|
||||
if (!getIsRestricted()) {
|
||||
if (!mIsRestricted) {
|
||||
listener.onAuthenticationSucceeded(getSensorId(), identifier, byteToken,
|
||||
getTargetUserId(), mIsStrongBiometric);
|
||||
} else {
|
||||
|
||||
@@ -53,8 +53,6 @@ public abstract class ClientMonitor<T> extends LoggableMonitor implements IBinde
|
||||
|
||||
@NonNull private final Context mContext;
|
||||
private final int mTargetUserId;
|
||||
// True if client does not have MANAGE_FINGERPRINT permission
|
||||
private final boolean mIsRestricted;
|
||||
@NonNull private final String mOwner;
|
||||
private final int mSensorId; // sensorId as configured by the framework
|
||||
|
||||
@@ -73,8 +71,6 @@ public abstract class ClientMonitor<T> extends LoggableMonitor implements IBinde
|
||||
* @param token a unique token for the client
|
||||
* @param listener recipient of related events (e.g. authentication)
|
||||
* @param userId target user id for operation
|
||||
* @param restricted whether or not client has the MANAGE_* permission
|
||||
* permission
|
||||
* @param owner name of the client that owns this
|
||||
* @param cookie BiometricPrompt authentication cookie (to be moved into a subclass soon)
|
||||
* @param sensorId ID of the sensor that the operation should be requested of
|
||||
@@ -83,15 +79,14 @@ public abstract class ClientMonitor<T> extends LoggableMonitor implements IBinde
|
||||
* @param statsClient One of {@link BiometricsProtoEnums} CLIENT_* constants
|
||||
*/
|
||||
public ClientMonitor(@NonNull Context context, @Nullable IBinder token,
|
||||
@Nullable ClientMonitorCallbackConverter listener, int userId, boolean restricted,
|
||||
@NonNull String owner, int cookie, int sensorId, int statsModality, int statsAction,
|
||||
@Nullable ClientMonitorCallbackConverter listener, int userId, @NonNull String owner,
|
||||
int cookie, int sensorId, int statsModality, int statsAction,
|
||||
int statsClient) {
|
||||
super(statsModality, statsAction, statsClient);
|
||||
mContext = context;
|
||||
mToken = token;
|
||||
mListener = listener;
|
||||
mTargetUserId = userId;
|
||||
mIsRestricted = restricted;
|
||||
mOwner = owner;
|
||||
mCookie = cookie;
|
||||
mSensorId = sensorId;
|
||||
@@ -184,10 +179,6 @@ public abstract class ClientMonitor<T> extends LoggableMonitor implements IBinde
|
||||
return mListener;
|
||||
}
|
||||
|
||||
public final boolean getIsRestricted() {
|
||||
return mIsRestricted;
|
||||
}
|
||||
|
||||
public final int getTargetUserId() {
|
||||
return mTargetUserId;
|
||||
}
|
||||
|
||||
@@ -43,12 +43,11 @@ public abstract class EnrollClient<T> extends AcquisitionClient<T> {
|
||||
|
||||
public EnrollClient(@NonNull Context context, @NonNull IBinder token,
|
||||
@NonNull ClientMonitorCallbackConverter listener, int userId,
|
||||
@NonNull byte[] hardwareAuthToken, boolean restricted, String owner,
|
||||
@NonNull BiometricUtils utils, int timeoutSec, int statsModality, int sensorId,
|
||||
@NonNull byte[] hardwareAuthToken, @NonNull String owner, @NonNull BiometricUtils utils,
|
||||
int timeoutSec, int statsModality, int sensorId,
|
||||
boolean shouldVibrate) {
|
||||
super(context, token, listener, userId, restricted, owner, 0 /* cookie */,
|
||||
sensorId, statsModality, BiometricsProtoEnums.ACTION_ENROLL,
|
||||
BiometricsProtoEnums.CLIENT_UNKNOWN);
|
||||
super(context, token, listener, userId, owner, 0 /* cookie */, sensorId, statsModality,
|
||||
BiometricsProtoEnums.ACTION_ENROLL, BiometricsProtoEnums.CLIENT_UNKNOWN);
|
||||
mBiometricUtils = utils;
|
||||
mHardwareAuthToken = Arrays.copyOf(hardwareAuthToken, hardwareAuthToken.length);
|
||||
mTimeoutSec = timeoutSec;
|
||||
|
||||
@@ -31,9 +31,9 @@ public abstract class GenerateChallengeClient<T> extends ClientMonitor<T> {
|
||||
|
||||
public GenerateChallengeClient(Context context, IBinder token,
|
||||
ClientMonitorCallbackConverter listener, String owner, int sensorId) {
|
||||
super(context, token, listener, 0 /* userId */, false /* restricted */,
|
||||
owner, 0 /* cookie */, sensorId, BiometricsProtoEnums.MODALITY_UNKNOWN,
|
||||
BiometricsProtoEnums.ACTION_UNKNOWN, BiometricsProtoEnums.CLIENT_UNKNOWN);
|
||||
super(context, token, listener, 0 /* userId */, owner, 0 /* cookie */, sensorId,
|
||||
BiometricsProtoEnums.MODALITY_UNKNOWN, BiometricsProtoEnums.ACTION_UNKNOWN,
|
||||
BiometricsProtoEnums.CLIENT_UNKNOWN);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -86,20 +86,19 @@ public abstract class InternalCleanupClient<T> extends ClientMonitor<T>
|
||||
};
|
||||
|
||||
protected abstract InternalEnumerateClient<T> getEnumerateClient(Context context, IBinder token,
|
||||
int userId, boolean restricted, String owner,
|
||||
int userId, String owner,
|
||||
List<? extends BiometricAuthenticator.Identifier> enrolledList, BiometricUtils utils,
|
||||
int sensorId, int statsModality);
|
||||
int sensorId);
|
||||
|
||||
protected abstract RemovalClient<T> getRemovalClient(Context context, IBinder token,
|
||||
int biometricId, int userId, boolean restricted, String owner, BiometricUtils utils,
|
||||
int sensorId, int statsModality);
|
||||
int biometricId, int userId, String owner, BiometricUtils utils, int sensorId);
|
||||
|
||||
protected InternalCleanupClient(@NonNull Context context, int userId, boolean restricted,
|
||||
protected InternalCleanupClient(@NonNull Context context, int userId,
|
||||
@NonNull String owner, int sensorId, int statsModality,
|
||||
@NonNull List<? extends BiometricAuthenticator.Identifier> enrolledList,
|
||||
@NonNull BiometricUtils utils) {
|
||||
super(context, null /* token */, null /* ClientMonitorCallbackConverter */,
|
||||
userId, restricted, owner, 0 /* cookie */, sensorId, statsModality,
|
||||
userId, owner, 0 /* cookie */, sensorId, statsModality,
|
||||
BiometricsProtoEnums.ACTION_ENUMERATE, BiometricsProtoEnums.CLIENT_UNKNOWN);
|
||||
mBiometricUtils = utils;
|
||||
mEnrolledList = enrolledList;
|
||||
@@ -109,8 +108,8 @@ public abstract class InternalCleanupClient<T> extends ClientMonitor<T>
|
||||
UserTemplate template = mUnknownHALTemplates.get(0);
|
||||
mUnknownHALTemplates.remove(template);
|
||||
mCurrentTask = getRemovalClient(getContext(), getToken(),
|
||||
template.mIdentifier.getBiometricId(), template.mUserId, getIsRestricted(),
|
||||
getContext().getPackageName(), mBiometricUtils, getSensorId(), mStatsModality);
|
||||
template.mIdentifier.getBiometricId(), template.mUserId,
|
||||
getContext().getPackageName(), mBiometricUtils, getSensorId());
|
||||
FrameworkStatsLog.write(FrameworkStatsLog.BIOMETRIC_SYSTEM_HEALTH_ISSUE_DETECTED,
|
||||
mStatsModality,
|
||||
BiometricsProtoEnums.ISSUE_UNKNOWN_TEMPLATE_ENROLLED_HAL);
|
||||
@@ -128,8 +127,7 @@ public abstract class InternalCleanupClient<T> extends ClientMonitor<T>
|
||||
|
||||
// Start enumeration. Removal will start if necessary, when enumeration is completed.
|
||||
mCurrentTask = getEnumerateClient(getContext(), getToken(), getTargetUserId(),
|
||||
getIsRestricted(), getOwnerString(), mEnrolledList, mBiometricUtils, getSensorId(),
|
||||
mStatsModality);
|
||||
getOwnerString(), mEnrolledList, mBiometricUtils, getSensorId());
|
||||
mCurrentTask.start(daemon, mEnumerateFinishCallback);
|
||||
}
|
||||
|
||||
|
||||
@@ -44,12 +44,12 @@ public abstract class InternalEnumerateClient<T> extends ClientMonitor<T>
|
||||
private List<BiometricAuthenticator.Identifier> mUnknownHALTemplates = new ArrayList<>();
|
||||
|
||||
protected InternalEnumerateClient(@NonNull Context context, @NonNull IBinder token, int userId,
|
||||
boolean restricted, @NonNull String owner,
|
||||
@NonNull String owner,
|
||||
@NonNull List<? extends BiometricAuthenticator.Identifier> enrolledList,
|
||||
@NonNull BiometricUtils utils, int sensorId, int statsModality) {
|
||||
// Internal enumerate does not need to send results to anyone. Cleanup (enumerate + remove)
|
||||
// is all done internally.
|
||||
super(context, token, null /* ClientMonitorCallbackConverter */, userId, restricted, owner,
|
||||
super(context, token, null /* ClientMonitorCallbackConverter */, userId, owner,
|
||||
0 /* cookie */, sensorId, statsModality, BiometricsProtoEnums.ACTION_ENUMERATE,
|
||||
BiometricsProtoEnums.CLIENT_UNKNOWN);
|
||||
mEnrolledList = enrolledList;
|
||||
|
||||
@@ -36,11 +36,9 @@ public abstract class RemovalClient<T> extends ClientMonitor<T> implements Remov
|
||||
|
||||
public RemovalClient(@NonNull Context context, @NonNull IBinder token,
|
||||
@NonNull ClientMonitorCallbackConverter listener, int biometricId, int userId,
|
||||
boolean restricted, @NonNull String owner, @NonNull BiometricUtils utils, int sensorId,
|
||||
int statsModality) {
|
||||
super(context, token, listener, userId, restricted, owner, 0 /* cookie */,
|
||||
sensorId, statsModality, BiometricsProtoEnums.ACTION_REMOVE,
|
||||
BiometricsProtoEnums.CLIENT_UNKNOWN);
|
||||
@NonNull String owner, @NonNull BiometricUtils utils, int sensorId, int statsModality) {
|
||||
super(context, token, listener, userId, owner, 0 /* cookie */, sensorId, statsModality,
|
||||
BiometricsProtoEnums.ACTION_REMOVE, BiometricsProtoEnums.CLIENT_UNKNOWN);
|
||||
mBiometricId = biometricId;
|
||||
mBiometricUtils = utils;
|
||||
}
|
||||
|
||||
@@ -24,9 +24,9 @@ import android.os.IBinder;
|
||||
public abstract class RevokeChallengeClient<T> extends ClientMonitor<T> {
|
||||
|
||||
public RevokeChallengeClient(Context context, IBinder token, String owner, int sensorId) {
|
||||
super(context, token, null /* listener */, 0 /* userId */, false /* restricted */, owner,
|
||||
0 /* cookie */, sensorId, BiometricsProtoEnums.MODALITY_UNKNOWN,
|
||||
BiometricsProtoEnums.ACTION_UNKNOWN, BiometricsProtoEnums.CLIENT_UNKNOWN);
|
||||
super(context, token, null /* listener */, 0 /* userId */, owner, 0 /* cookie */, sensorId,
|
||||
BiometricsProtoEnums.MODALITY_UNKNOWN, BiometricsProtoEnums.ACTION_UNKNOWN,
|
||||
BiometricsProtoEnums.CLIENT_UNKNOWN);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -20,6 +20,7 @@ import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.content.Context;
|
||||
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.FaceManager;
|
||||
@@ -52,11 +53,11 @@ public class FaceEnrollClient extends EnrollClient<IBiometricsFace> {
|
||||
|
||||
FaceEnrollClient(@NonNull Context context, @NonNull IBinder token,
|
||||
@NonNull ClientMonitorCallbackConverter listener, int userId,
|
||||
@NonNull byte[] hardwareAuthToken, boolean restricted, @NonNull String owner,
|
||||
@NonNull BiometricUtils utils, @NonNull int[] disabledFeatures, int timeoutSec,
|
||||
int statsModality, @Nullable NativeHandle surfaceHandle, int sensorId) {
|
||||
super(context, token, listener, userId, hardwareAuthToken, restricted,
|
||||
owner, utils, timeoutSec, statsModality, sensorId, false /* shouldVibrate */);
|
||||
@NonNull byte[] hardwareAuthToken, @NonNull String owner, @NonNull BiometricUtils utils,
|
||||
@NonNull int[] disabledFeatures, int timeoutSec, @Nullable NativeHandle surfaceHandle,
|
||||
int sensorId) {
|
||||
super(context, token, listener, userId, hardwareAuthToken, owner, utils, timeoutSec,
|
||||
BiometricsProtoEnums.MODALITY_FACE, sensorId, false /* shouldVibrate */);
|
||||
mDisabledFeatures = Arrays.copyOf(disabledFeatures, disabledFeatures.length);
|
||||
mSurfaceHandle = surfaceHandle;
|
||||
mEnrollIgnoreList = getContext().getResources()
|
||||
|
||||
@@ -43,9 +43,9 @@ public class FaceGetFeatureClient extends ClientMonitor<IBiometricsFace> {
|
||||
FaceGetFeatureClient(@NonNull Context context, @NonNull IBinder token,
|
||||
@NonNull ClientMonitorCallbackConverter listener, int userId, @NonNull String owner,
|
||||
int sensorId, int feature, int faceId) {
|
||||
super(context, token, listener, userId, false /* restricted */, owner,
|
||||
0 /* cookie */, sensorId, BiometricsProtoEnums.MODALITY_UNKNOWN,
|
||||
BiometricsProtoEnums.ACTION_UNKNOWN, BiometricsProtoEnums.CLIENT_UNKNOWN);
|
||||
super(context, token, listener, userId, owner, 0 /* cookie */, sensorId,
|
||||
BiometricsProtoEnums.MODALITY_UNKNOWN, BiometricsProtoEnums.ACTION_UNKNOWN,
|
||||
BiometricsProtoEnums.CLIENT_UNKNOWN);
|
||||
mFeature = feature;
|
||||
mFaceId = faceId;
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@ package com.android.server.biometrics.sensors.face;
|
||||
import android.annotation.NonNull;
|
||||
import android.content.Context;
|
||||
import android.hardware.biometrics.BiometricAuthenticator;
|
||||
import android.hardware.biometrics.BiometricsProtoEnums;
|
||||
import android.hardware.biometrics.face.V1_0.IBiometricsFace;
|
||||
import android.os.IBinder;
|
||||
|
||||
@@ -36,30 +37,28 @@ import java.util.List;
|
||||
*/
|
||||
class FaceInternalCleanupClient extends InternalCleanupClient<IBiometricsFace> {
|
||||
|
||||
FaceInternalCleanupClient(@NonNull Context context, int userId, boolean restricted,
|
||||
@NonNull String owner, int sensorId, int statsModality,
|
||||
@NonNull List<? extends BiometricAuthenticator.Identifier> enrolledList,
|
||||
FaceInternalCleanupClient(@NonNull Context context, int userId, @NonNull String owner,
|
||||
int sensorId, @NonNull List<? extends BiometricAuthenticator.Identifier> enrolledList,
|
||||
@NonNull BiometricUtils utils) {
|
||||
super(context, userId, restricted, owner, sensorId, statsModality,
|
||||
enrolledList, utils);
|
||||
super(context, userId, owner, sensorId, BiometricsProtoEnums.MODALITY_FACE, enrolledList,
|
||||
utils);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected InternalEnumerateClient<IBiometricsFace> getEnumerateClient(Context context,
|
||||
IBinder token, int userId, boolean restricted, String owner,
|
||||
IBinder token, int userId, String owner,
|
||||
List<? extends BiometricAuthenticator.Identifier> enrolledList,
|
||||
BiometricUtils utils, int sensorId, int statsModality) {
|
||||
return new FaceInternalEnumerateClient(context, token, userId, restricted, owner,
|
||||
enrolledList, utils, sensorId, statsModality);
|
||||
BiometricUtils utils, int sensorId) {
|
||||
return new FaceInternalEnumerateClient(context, token, userId, owner, enrolledList, utils,
|
||||
sensorId);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected RemovalClient<IBiometricsFace> getRemovalClient(Context context, IBinder token,
|
||||
int biometricId, int userId, boolean restricted, String owner, BiometricUtils utils,
|
||||
int sensorId, int statsModality) {
|
||||
int biometricId, int userId, String owner, BiometricUtils utils, int sensorId) {
|
||||
// Internal remove does not need to send results to anyone. Cleanup (enumerate + remove)
|
||||
// is all done internally.
|
||||
return new FaceRemovalClient(context, token, null /* ClientMonitorCallbackConverter */,
|
||||
biometricId, userId, restricted, owner, utils, sensorId, statsModality);
|
||||
biometricId, userId, owner, utils, sensorId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ package com.android.server.biometrics.sensors.face;
|
||||
import android.annotation.NonNull;
|
||||
import android.content.Context;
|
||||
import android.hardware.biometrics.BiometricAuthenticator;
|
||||
import android.hardware.biometrics.BiometricsProtoEnums;
|
||||
import android.hardware.biometrics.face.V1_0.IBiometricsFace;
|
||||
import android.os.IBinder;
|
||||
import android.os.RemoteException;
|
||||
@@ -38,11 +39,11 @@ class FaceInternalEnumerateClient extends InternalEnumerateClient<IBiometricsFac
|
||||
private static final String TAG = "FaceInternalEnumerateClient";
|
||||
|
||||
FaceInternalEnumerateClient(@NonNull Context context, @NonNull IBinder token, int userId,
|
||||
boolean restricted, @NonNull String owner,
|
||||
@NonNull String owner,
|
||||
@NonNull List<? extends BiometricAuthenticator.Identifier> enrolledList,
|
||||
@NonNull BiometricUtils utils, int sensorId, int statsModality) {
|
||||
super(context, token, userId, restricted, owner, enrolledList, utils,
|
||||
sensorId, statsModality);
|
||||
@NonNull BiometricUtils utils, int sensorId) {
|
||||
super(context, token, userId, owner, enrolledList, utils, sensorId,
|
||||
BiometricsProtoEnums.MODALITY_FACE);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -18,6 +18,7 @@ package com.android.server.biometrics.sensors.face;
|
||||
|
||||
import android.annotation.NonNull;
|
||||
import android.content.Context;
|
||||
import android.hardware.biometrics.BiometricsProtoEnums;
|
||||
import android.hardware.biometrics.face.V1_0.IBiometricsFace;
|
||||
import android.os.IBinder;
|
||||
import android.os.RemoteException;
|
||||
@@ -36,10 +37,9 @@ class FaceRemovalClient extends RemovalClient<IBiometricsFace> {
|
||||
|
||||
FaceRemovalClient(@NonNull Context context, @NonNull IBinder token,
|
||||
@NonNull ClientMonitorCallbackConverter listener, int biometricId, int userId,
|
||||
boolean restricted, @NonNull String owner, @NonNull BiometricUtils utils, int sensorId,
|
||||
int statsModality) {
|
||||
super(context, token, listener, biometricId, userId, restricted, owner,
|
||||
utils, sensorId, statsModality);
|
||||
@NonNull String owner, @NonNull BiometricUtils utils, int sensorId) {
|
||||
super(context, token, listener, biometricId, userId, owner, utils, sensorId,
|
||||
BiometricsProtoEnums.MODALITY_FACE);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -39,10 +39,9 @@ public class FaceResetLockoutClient extends ClientMonitor<IBiometricsFace> {
|
||||
|
||||
FaceResetLockoutClient(@NonNull Context context, int userId, String owner, int sensorId,
|
||||
byte[] hardwareAuthToken) {
|
||||
super(context, null /* token */, null /* listener */, userId,
|
||||
false /* restricted */, owner, 0 /* cookie */, sensorId,
|
||||
BiometricsProtoEnums.MODALITY_UNKNOWN, BiometricsProtoEnums.ACTION_UNKNOWN,
|
||||
BiometricsProtoEnums.CLIENT_UNKNOWN);
|
||||
super(context, null /* token */, null /* listener */, userId, owner, 0 /* cookie */,
|
||||
sensorId, BiometricsProtoEnums.MODALITY_UNKNOWN,
|
||||
BiometricsProtoEnums.ACTION_UNKNOWN, BiometricsProtoEnums.CLIENT_UNKNOWN);
|
||||
|
||||
mHardwareAuthToken = new ArrayList<>();
|
||||
for (byte b : hardwareAuthToken) {
|
||||
|
||||
@@ -149,11 +149,9 @@ public class FaceService extends BiometricServiceBase<IBiometricsFace> {
|
||||
UserHandle.CURRENT);
|
||||
});
|
||||
|
||||
final boolean restricted = isRestricted();
|
||||
final EnrollClient client = new FaceEnrollClient(getContext(), token,
|
||||
new ClientMonitorCallbackConverter(receiver),
|
||||
userId, cryptoToken, restricted, opPackageName, getBiometricUtils(),
|
||||
disabledFeatures, ENROLL_TIMEOUT_SEC, statsModality(),
|
||||
new ClientMonitorCallbackConverter(receiver), userId, cryptoToken,
|
||||
opPackageName, getBiometricUtils(), disabledFeatures, ENROLL_TIMEOUT_SEC,
|
||||
convertSurfaceToNativeHandle(surface), getSensorId());
|
||||
|
||||
enrollInternal(client, userId);
|
||||
@@ -241,10 +239,9 @@ public class FaceService extends BiometricServiceBase<IBiometricsFace> {
|
||||
return;
|
||||
}
|
||||
|
||||
final boolean restricted = isRestricted();
|
||||
final RemovalClient client = new FaceRemovalClient(getContext(), token,
|
||||
new ClientMonitorCallbackConverter(receiver), faceId, userId,
|
||||
restricted, opPackageName, getBiometricUtils(), getSensorId(), statsModality());
|
||||
new ClientMonitorCallbackConverter(receiver), faceId, userId, opPackageName,
|
||||
getBiometricUtils(), getSensorId());
|
||||
removeInternal(client);
|
||||
}
|
||||
|
||||
@@ -697,12 +694,10 @@ public class FaceService extends BiometricServiceBase<IBiometricsFace> {
|
||||
|
||||
@Override
|
||||
protected void doTemplateCleanupForUser(int userId) {
|
||||
final boolean restricted = !hasPermission(getManageBiometricPermission());
|
||||
final List<? extends BiometricAuthenticator.Identifier> enrolledList =
|
||||
getEnrolledTemplates(userId);
|
||||
final FaceInternalCleanupClient client = new FaceInternalCleanupClient(getContext(), userId,
|
||||
restricted, getContext().getOpPackageName(), getSensorId(), statsModality(),
|
||||
enrolledList, getBiometricUtils());
|
||||
getContext().getOpPackageName(), getSensorId(), enrolledList, getBiometricUtils());
|
||||
cleanupInternal(client);
|
||||
}
|
||||
|
||||
|
||||
@@ -47,9 +47,9 @@ public class FaceSetFeatureClient extends ClientMonitor<IBiometricsFace> {
|
||||
@NonNull ClientMonitorCallbackConverter listener, int userId,
|
||||
@NonNull String owner, int sensorId, int feature, boolean enabled,
|
||||
byte[] hardwareAuthToken, int faceId) {
|
||||
super(context, token, listener, userId, false /* restricted */,
|
||||
owner, 0 /* cookie */, sensorId, BiometricsProtoEnums.MODALITY_UNKNOWN,
|
||||
BiometricsProtoEnums.ACTION_UNKNOWN, BiometricsProtoEnums.CLIENT_UNKNOWN);
|
||||
super(context, token, listener, userId, owner, 0 /* cookie */, sensorId,
|
||||
BiometricsProtoEnums.MODALITY_UNKNOWN, BiometricsProtoEnums.ACTION_UNKNOWN,
|
||||
BiometricsProtoEnums.CLIENT_UNKNOWN);
|
||||
mFeature = feature;
|
||||
mEnabled = enabled;
|
||||
mFaceId = faceId;
|
||||
|
||||
@@ -19,6 +19,7 @@ package com.android.server.biometrics.sensors.fingerprint;
|
||||
import android.annotation.NonNull;
|
||||
import android.content.Context;
|
||||
import android.hardware.biometrics.BiometricFingerprintConstants;
|
||||
import android.hardware.biometrics.BiometricsProtoEnums;
|
||||
import android.hardware.biometrics.fingerprint.V2_1.IBiometricsFingerprint;
|
||||
import android.os.IBinder;
|
||||
import android.os.RemoteException;
|
||||
@@ -39,11 +40,10 @@ public class FingerprintEnrollClient extends EnrollClient<IBiometricsFingerprint
|
||||
|
||||
FingerprintEnrollClient(@NonNull Context context, @NonNull IBinder token,
|
||||
@NonNull ClientMonitorCallbackConverter listener, int userId,
|
||||
@NonNull byte[] hardwareAuthToken, boolean restricted, @NonNull String owner,
|
||||
@NonNull BiometricUtils utils, int timeoutSec, int statsModality,
|
||||
int sensorId, boolean shouldVibrate) {
|
||||
super(context, token, listener, userId, hardwareAuthToken, restricted,
|
||||
owner, utils, timeoutSec, statsModality, sensorId, shouldVibrate);
|
||||
@NonNull byte[] hardwareAuthToken, @NonNull String owner, @NonNull BiometricUtils utils,
|
||||
int timeoutSec, int sensorId) {
|
||||
super(context, token, listener, userId, hardwareAuthToken, owner, utils, timeoutSec,
|
||||
BiometricsProtoEnums.MODALITY_FINGERPRINT, sensorId, true /* shouldVibrate */);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -19,6 +19,7 @@ package com.android.server.biometrics.sensors.fingerprint;
|
||||
import android.annotation.NonNull;
|
||||
import android.content.Context;
|
||||
import android.hardware.biometrics.BiometricAuthenticator;
|
||||
import android.hardware.biometrics.BiometricsProtoEnums;
|
||||
import android.hardware.biometrics.fingerprint.V2_1.IBiometricsFingerprint;
|
||||
import android.os.IBinder;
|
||||
|
||||
@@ -36,31 +37,29 @@ import java.util.List;
|
||||
*/
|
||||
class FingerprintInternalCleanupClient extends InternalCleanupClient<IBiometricsFingerprint> {
|
||||
|
||||
FingerprintInternalCleanupClient(@NonNull Context context,int userId,
|
||||
boolean restricted, @NonNull String owner, int sensorId, int statsModality,
|
||||
@NonNull List<? extends BiometricAuthenticator.Identifier> enrolledList,
|
||||
FingerprintInternalCleanupClient(@NonNull Context context,int userId, @NonNull String owner,
|
||||
int sensorId, @NonNull List<? extends BiometricAuthenticator.Identifier> enrolledList,
|
||||
@NonNull BiometricUtils utils) {
|
||||
super(context, userId, restricted, owner, sensorId, statsModality,
|
||||
super(context, userId, owner, sensorId, BiometricsProtoEnums.MODALITY_FINGERPRINT,
|
||||
enrolledList, utils);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected InternalEnumerateClient<IBiometricsFingerprint> getEnumerateClient(
|
||||
Context context, IBinder token, int userId, boolean restricted, String owner,
|
||||
Context context, IBinder token, int userId, String owner,
|
||||
List<? extends BiometricAuthenticator.Identifier> enrolledList, BiometricUtils utils,
|
||||
int sensorId, int statsModality) {
|
||||
return new FingerprintInternalEnumerateClient(context, token,
|
||||
userId, restricted, owner, enrolledList, utils, sensorId, statsModality);
|
||||
int sensorId) {
|
||||
return new FingerprintInternalEnumerateClient(context, token, userId, owner, enrolledList,
|
||||
utils, sensorId);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected RemovalClient<IBiometricsFingerprint> getRemovalClient(Context context,
|
||||
IBinder token, int biometricId, int userId, boolean restricted, String owner,
|
||||
BiometricUtils utils, int sensorId, int statsModality) {
|
||||
protected RemovalClient<IBiometricsFingerprint> getRemovalClient(Context context, IBinder token,
|
||||
int biometricId, int userId, String owner, BiometricUtils utils, int sensorId) {
|
||||
// Internal remove does not need to send results to anyone. Cleanup (enumerate + remove)
|
||||
// is all done internally.
|
||||
return new FingerprintRemovalClient(context, token,
|
||||
null /* ClientMonitorCallbackConverter */, biometricId, userId, restricted,
|
||||
owner, utils, sensorId, statsModality);
|
||||
null /* ClientMonitorCallbackConverter */, biometricId, userId, owner, utils,
|
||||
sensorId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ package com.android.server.biometrics.sensors.fingerprint;
|
||||
import android.annotation.NonNull;
|
||||
import android.content.Context;
|
||||
import android.hardware.biometrics.BiometricAuthenticator;
|
||||
import android.hardware.biometrics.BiometricsProtoEnums;
|
||||
import android.hardware.biometrics.fingerprint.V2_1.IBiometricsFingerprint;
|
||||
import android.os.IBinder;
|
||||
import android.os.RemoteException;
|
||||
@@ -38,11 +39,11 @@ class FingerprintInternalEnumerateClient extends InternalEnumerateClient<IBiomet
|
||||
private static final String TAG = "FingerprintInternalEnumerateClient";
|
||||
|
||||
FingerprintInternalEnumerateClient(@NonNull Context context, @NonNull IBinder token, int userId,
|
||||
boolean restricted, @NonNull String owner,
|
||||
@NonNull String owner,
|
||||
@NonNull List<? extends BiometricAuthenticator.Identifier> enrolledList,
|
||||
@NonNull BiometricUtils utils, int sensorId, int statsModality) {
|
||||
super(context, token, userId, restricted, owner, enrolledList, utils,
|
||||
sensorId, statsModality);
|
||||
@NonNull BiometricUtils utils, int sensorId) {
|
||||
super(context, token, userId, owner, enrolledList, utils, sensorId,
|
||||
BiometricsProtoEnums.MODALITY_FINGERPRINT);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -18,6 +18,7 @@ package com.android.server.biometrics.sensors.fingerprint;
|
||||
|
||||
import android.annotation.NonNull;
|
||||
import android.content.Context;
|
||||
import android.hardware.biometrics.BiometricsProtoEnums;
|
||||
import android.hardware.biometrics.fingerprint.V2_1.IBiometricsFingerprint;
|
||||
import android.os.IBinder;
|
||||
import android.os.RemoteException;
|
||||
@@ -37,10 +38,9 @@ class FingerprintRemovalClient extends RemovalClient<IBiometricsFingerprint> {
|
||||
|
||||
FingerprintRemovalClient(@NonNull Context context, @NonNull IBinder token,
|
||||
@NonNull ClientMonitorCallbackConverter listener, int biometricId, int userId,
|
||||
boolean restricted, @NonNull String owner, @NonNull BiometricUtils utils, int sensorId,
|
||||
int statsModality) {
|
||||
super(context, token, listener, biometricId, userId, restricted, owner,
|
||||
utils, sensorId, statsModality);
|
||||
@NonNull String owner, @NonNull BiometricUtils utils, int sensorId) {
|
||||
super(context, token, listener, biometricId, userId, owner, utils, sensorId,
|
||||
BiometricsProtoEnums.MODALITY_FINGERPRINT);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -133,11 +133,9 @@ public class FingerprintService extends BiometricServiceBase<IBiometricsFingerpr
|
||||
checkPermission(MANAGE_FINGERPRINT);
|
||||
updateActiveGroup(userId);
|
||||
|
||||
final boolean restricted = isRestricted();
|
||||
final EnrollClient client = new FingerprintEnrollClient(getContext(), token,
|
||||
new ClientMonitorCallbackConverter(receiver), userId, cryptoToken, restricted,
|
||||
opPackageName, getBiometricUtils(), ENROLL_TIMEOUT_SEC, statsModality(),
|
||||
getSensorId(), true /* shouldVibrate */);
|
||||
new ClientMonitorCallbackConverter(receiver), userId, cryptoToken,
|
||||
opPackageName, getBiometricUtils(), ENROLL_TIMEOUT_SEC, getSensorId());
|
||||
|
||||
enrollInternal(client, userId);
|
||||
}
|
||||
@@ -224,10 +222,9 @@ public class FingerprintService extends BiometricServiceBase<IBiometricsFingerpr
|
||||
return;
|
||||
}
|
||||
|
||||
final boolean restricted = isRestricted();
|
||||
final RemovalClient client = new FingerprintRemovalClient(getContext(), token,
|
||||
new ClientMonitorCallbackConverter(receiver), fingerId, userId, restricted,
|
||||
opPackageName, getBiometricUtils(), getSensorId(), statsModality());
|
||||
new ClientMonitorCallbackConverter(receiver), fingerId, userId, opPackageName,
|
||||
getBiometricUtils(), getSensorId());
|
||||
removeInternal(client);
|
||||
}
|
||||
|
||||
@@ -609,12 +606,11 @@ public class FingerprintService extends BiometricServiceBase<IBiometricsFingerpr
|
||||
|
||||
@Override
|
||||
protected void doTemplateCleanupForUser(int userId) {
|
||||
final boolean restricted = !hasPermission(getManageBiometricPermission());
|
||||
final List<? extends BiometricAuthenticator.Identifier> enrolledList =
|
||||
getEnrolledTemplates(userId);
|
||||
final FingerprintInternalCleanupClient client = new FingerprintInternalCleanupClient(
|
||||
getContext(), userId, restricted, getContext().getOpPackageName(), getSensorId(),
|
||||
statsModality(), enrolledList, getBiometricUtils());
|
||||
getContext(), userId, getContext().getOpPackageName(), getSensorId(), enrolledList,
|
||||
getBiometricUtils());
|
||||
cleanupInternal(client);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user