diff --git a/services/core/java/com/android/server/biometrics/sensors/AcquisitionClient.java b/services/core/java/com/android/server/biometrics/sensors/AcquisitionClient.java index 4d5060c2c37b4..466465e0a3f58 100644 --- a/services/core/java/com/android/server/biometrics/sensors/AcquisitionClient.java +++ b/services/core/java/com/android/server/biometrics/sensors/AcquisitionClient.java @@ -48,11 +48,11 @@ public abstract class AcquisitionClient extends ClientMonitor 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); diff --git a/services/core/java/com/android/server/biometrics/sensors/AuthenticationClient.java b/services/core/java/com/android/server/biometrics/sensors/AuthenticationClient.java index 3c30623e73085..a9cefbaf8ac0b 100644 --- a/services/core/java/com/android/server/biometrics/sensors/AuthenticationClient.java +++ b/services/core/java/com/android/server/biometrics/sensors/AuthenticationClient.java @@ -43,6 +43,7 @@ public abstract class AuthenticationClient extends AcquisitionClient { 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 extends AcquisitionClient { 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 extends AcquisitionClient { mActivityTaskManager = ActivityTaskManager.getService(); mTaskStackListener = taskStackListener; mLockoutTracker = lockoutTracker; + mIsRestricted = restricted; } public @LockoutTracker.LockoutMode int handleFailedAttempt(int userId) { @@ -147,7 +148,7 @@ public abstract class AuthenticationClient extends AcquisitionClient { // 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 { diff --git a/services/core/java/com/android/server/biometrics/sensors/ClientMonitor.java b/services/core/java/com/android/server/biometrics/sensors/ClientMonitor.java index 2e75c6c7724c0..5a2d63d667db4 100644 --- a/services/core/java/com/android/server/biometrics/sensors/ClientMonitor.java +++ b/services/core/java/com/android/server/biometrics/sensors/ClientMonitor.java @@ -53,8 +53,6 @@ public abstract class ClientMonitor 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 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 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 extends LoggableMonitor implements IBinde return mListener; } - public final boolean getIsRestricted() { - return mIsRestricted; - } - public final int getTargetUserId() { return mTargetUserId; } diff --git a/services/core/java/com/android/server/biometrics/sensors/EnrollClient.java b/services/core/java/com/android/server/biometrics/sensors/EnrollClient.java index 7e8af3c62d677..6637ede62b805 100644 --- a/services/core/java/com/android/server/biometrics/sensors/EnrollClient.java +++ b/services/core/java/com/android/server/biometrics/sensors/EnrollClient.java @@ -43,12 +43,11 @@ public abstract class EnrollClient extends AcquisitionClient { 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; diff --git a/services/core/java/com/android/server/biometrics/sensors/GenerateChallengeClient.java b/services/core/java/com/android/server/biometrics/sensors/GenerateChallengeClient.java index b521a87cfee6e..12584cfa7af32 100644 --- a/services/core/java/com/android/server/biometrics/sensors/GenerateChallengeClient.java +++ b/services/core/java/com/android/server/biometrics/sensors/GenerateChallengeClient.java @@ -31,9 +31,9 @@ public abstract class GenerateChallengeClient extends ClientMonitor { 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 diff --git a/services/core/java/com/android/server/biometrics/sensors/InternalCleanupClient.java b/services/core/java/com/android/server/biometrics/sensors/InternalCleanupClient.java index ed63ad05ecce8..f3ade65d6748a 100644 --- a/services/core/java/com/android/server/biometrics/sensors/InternalCleanupClient.java +++ b/services/core/java/com/android/server/biometrics/sensors/InternalCleanupClient.java @@ -86,20 +86,19 @@ public abstract class InternalCleanupClient extends ClientMonitor }; protected abstract InternalEnumerateClient getEnumerateClient(Context context, IBinder token, - int userId, boolean restricted, String owner, + int userId, String owner, List enrolledList, BiometricUtils utils, - int sensorId, int statsModality); + int sensorId); protected abstract RemovalClient 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 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 extends ClientMonitor 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 extends ClientMonitor // 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); } diff --git a/services/core/java/com/android/server/biometrics/sensors/InternalEnumerateClient.java b/services/core/java/com/android/server/biometrics/sensors/InternalEnumerateClient.java index 633cedf4b5567..9ce271c656c8f 100644 --- a/services/core/java/com/android/server/biometrics/sensors/InternalEnumerateClient.java +++ b/services/core/java/com/android/server/biometrics/sensors/InternalEnumerateClient.java @@ -44,12 +44,12 @@ public abstract class InternalEnumerateClient extends ClientMonitor private List mUnknownHALTemplates = new ArrayList<>(); protected InternalEnumerateClient(@NonNull Context context, @NonNull IBinder token, int userId, - boolean restricted, @NonNull String owner, + @NonNull String owner, @NonNull List 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; diff --git a/services/core/java/com/android/server/biometrics/sensors/RemovalClient.java b/services/core/java/com/android/server/biometrics/sensors/RemovalClient.java index 68dac6bda40ad..b734516322e4e 100644 --- a/services/core/java/com/android/server/biometrics/sensors/RemovalClient.java +++ b/services/core/java/com/android/server/biometrics/sensors/RemovalClient.java @@ -36,11 +36,9 @@ public abstract class RemovalClient extends ClientMonitor 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; } diff --git a/services/core/java/com/android/server/biometrics/sensors/RevokeChallengeClient.java b/services/core/java/com/android/server/biometrics/sensors/RevokeChallengeClient.java index f8dff5783ec3f..e00396b054e6f 100644 --- a/services/core/java/com/android/server/biometrics/sensors/RevokeChallengeClient.java +++ b/services/core/java/com/android/server/biometrics/sensors/RevokeChallengeClient.java @@ -24,9 +24,9 @@ import android.os.IBinder; public abstract class RevokeChallengeClient extends ClientMonitor { 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 diff --git a/services/core/java/com/android/server/biometrics/sensors/face/FaceEnrollClient.java b/services/core/java/com/android/server/biometrics/sensors/face/FaceEnrollClient.java index ec77880d888f2..b63b39e3cf6c0 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/FaceEnrollClient.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/FaceEnrollClient.java @@ -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 { 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() diff --git a/services/core/java/com/android/server/biometrics/sensors/face/FaceGetFeatureClient.java b/services/core/java/com/android/server/biometrics/sensors/face/FaceGetFeatureClient.java index 0b75a68d0e92a..227d817e31ff2 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/FaceGetFeatureClient.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/FaceGetFeatureClient.java @@ -43,9 +43,9 @@ public class FaceGetFeatureClient extends ClientMonitor { 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; diff --git a/services/core/java/com/android/server/biometrics/sensors/face/FaceInternalCleanupClient.java b/services/core/java/com/android/server/biometrics/sensors/face/FaceInternalCleanupClient.java index e52f6c7cb747e..388baa226deec 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/FaceInternalCleanupClient.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/FaceInternalCleanupClient.java @@ -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 { - FaceInternalCleanupClient(@NonNull Context context, int userId, boolean restricted, - @NonNull String owner, int sensorId, int statsModality, - @NonNull List enrolledList, + FaceInternalCleanupClient(@NonNull Context context, int userId, @NonNull String owner, + int sensorId, @NonNull List 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 getEnumerateClient(Context context, - IBinder token, int userId, boolean restricted, String owner, + IBinder token, int userId, String owner, List 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 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); } } diff --git a/services/core/java/com/android/server/biometrics/sensors/face/FaceInternalEnumerateClient.java b/services/core/java/com/android/server/biometrics/sensors/face/FaceInternalEnumerateClient.java index 83798c56311c5..c6749c5713d98 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/FaceInternalEnumerateClient.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/FaceInternalEnumerateClient.java @@ -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 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 diff --git a/services/core/java/com/android/server/biometrics/sensors/face/FaceRemovalClient.java b/services/core/java/com/android/server/biometrics/sensors/face/FaceRemovalClient.java index 1184ea93f4a38..b0ee9810a49b7 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/FaceRemovalClient.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/FaceRemovalClient.java @@ -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 { 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 diff --git a/services/core/java/com/android/server/biometrics/sensors/face/FaceResetLockoutClient.java b/services/core/java/com/android/server/biometrics/sensors/face/FaceResetLockoutClient.java index 171ee042f37e6..441cb14f6600a 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/FaceResetLockoutClient.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/FaceResetLockoutClient.java @@ -39,10 +39,9 @@ public class FaceResetLockoutClient extends ClientMonitor { 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) { diff --git a/services/core/java/com/android/server/biometrics/sensors/face/FaceService.java b/services/core/java/com/android/server/biometrics/sensors/face/FaceService.java index aa1db19c44927..047cfa3b94f24 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/FaceService.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/FaceService.java @@ -149,11 +149,9 @@ public class FaceService extends BiometricServiceBase { 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 { 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 { @Override protected void doTemplateCleanupForUser(int userId) { - final boolean restricted = !hasPermission(getManageBiometricPermission()); final List enrolledList = getEnrolledTemplates(userId); final FaceInternalCleanupClient client = new FaceInternalCleanupClient(getContext(), userId, - restricted, getContext().getOpPackageName(), getSensorId(), statsModality(), - enrolledList, getBiometricUtils()); + getContext().getOpPackageName(), getSensorId(), enrolledList, getBiometricUtils()); cleanupInternal(client); } diff --git a/services/core/java/com/android/server/biometrics/sensors/face/FaceSetFeatureClient.java b/services/core/java/com/android/server/biometrics/sensors/face/FaceSetFeatureClient.java index 2296087205628..91f63e185ff82 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/FaceSetFeatureClient.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/FaceSetFeatureClient.java @@ -47,9 +47,9 @@ public class FaceSetFeatureClient extends ClientMonitor { @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; diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintEnrollClient.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintEnrollClient.java index cd593290ec7ea..34681c38808bd 100644 --- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintEnrollClient.java +++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintEnrollClient.java @@ -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 { - FingerprintInternalCleanupClient(@NonNull Context context,int userId, - boolean restricted, @NonNull String owner, int sensorId, int statsModality, - @NonNull List enrolledList, + FingerprintInternalCleanupClient(@NonNull Context context,int userId, @NonNull String owner, + int sensorId, @NonNull List enrolledList, @NonNull BiometricUtils utils) { - super(context, userId, restricted, owner, sensorId, statsModality, + super(context, userId, owner, sensorId, BiometricsProtoEnums.MODALITY_FINGERPRINT, enrolledList, utils); } @Override protected InternalEnumerateClient getEnumerateClient( - Context context, IBinder token, int userId, boolean restricted, String owner, + Context context, IBinder token, int userId, String owner, List 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 getRemovalClient(Context context, - IBinder token, int biometricId, int userId, boolean restricted, String owner, - BiometricUtils utils, int sensorId, int statsModality) { + protected RemovalClient 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); } } diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintInternalEnumerateClient.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintInternalEnumerateClient.java index d03b39ca242dd..ba412e3956cea 100644 --- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintInternalEnumerateClient.java +++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintInternalEnumerateClient.java @@ -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 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 diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintRemovalClient.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintRemovalClient.java index aa7a99666792d..6d7e761620293 100644 --- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintRemovalClient.java +++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintRemovalClient.java @@ -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 { 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 diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java index e6e5dc2043c43..abab813cc71d1 100644 --- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java +++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java @@ -133,11 +133,9 @@ public class FingerprintService extends BiometricServiceBase 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); }