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

Commit 328a97c0 authored by Curtis Belmonte's avatar Curtis Belmonte Committed by Automerger Merge Worker
Browse files

Merge "Require non-null HAT for fingerprint enrollment" into sc-dev am: 0295c273

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15305883

Change-Id: I9567ab19fa4c097355a85a99cc4f63214df26871
parents d6415d20 0295c273
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -215,9 +215,9 @@ public class FingerprintService extends SystemService {
        }
        }


        @Override // Binder call
        @Override // Binder call
        public void enroll(final IBinder token, final byte[] hardwareAuthToken, final int userId,
        public void enroll(final IBinder token, @NonNull final byte[] hardwareAuthToken,
                final IFingerprintServiceReceiver receiver, final String opPackageName,
                final int userId, final IFingerprintServiceReceiver receiver,
                @FingerprintManager.EnrollReason int enrollReason) {
                final String opPackageName, @FingerprintManager.EnrollReason int enrollReason) {
            Utils.checkPermission(getContext(), MANAGE_FINGERPRINT);
            Utils.checkPermission(getContext(), MANAGE_FINGERPRINT);


            final Pair<Integer, ServiceProvider> provider = getSingleProvider();
            final Pair<Integer, ServiceProvider> provider = getSingleProvider();
+6 −3
Original line number Original line Diff line number Diff line
@@ -85,9 +85,12 @@ public interface ServiceProvider {
    void scheduleRevokeChallenge(int sensorId, int userId, @NonNull IBinder token,
    void scheduleRevokeChallenge(int sensorId, int userId, @NonNull IBinder token,
            @NonNull String opPackageName, long challenge);
            @NonNull String opPackageName, long challenge);


    void scheduleEnroll(int sensorId, @NonNull IBinder token, byte[] hardwareAuthToken, int userId,
    /**
            @NonNull IFingerprintServiceReceiver receiver, @NonNull String opPackageName,
     * Schedules fingerprint enrollment.
            @FingerprintManager.EnrollReason int enrollReason,
     */
    void scheduleEnroll(int sensorId, @NonNull IBinder token, @NonNull byte[] hardwareAuthToken,
            int userId, @NonNull IFingerprintServiceReceiver receiver,
            @NonNull String opPackageName, @FingerprintManager.EnrollReason int enrollReason,
            @NonNull FingerprintStateCallback fingerprintStateCallback);
            @NonNull FingerprintStateCallback fingerprintStateCallback);


    void cancelEnrollment(int sensorId, @NonNull IBinder token);
    void cancelEnrollment(int sensorId, @NonNull IBinder token);
+4 −3
Original line number Original line Diff line number Diff line
@@ -329,9 +329,10 @@ public class FingerprintProvider implements IBinder.DeathRecipient, ServiceProvi
    }
    }


    @Override
    @Override
    public void scheduleEnroll(int sensorId, @NonNull IBinder token, byte[] hardwareAuthToken,
    public void scheduleEnroll(int sensorId, @NonNull IBinder token,
            int userId, @NonNull IFingerprintServiceReceiver receiver,
            @NonNull byte[] hardwareAuthToken, int userId,
            @NonNull String opPackageName, @FingerprintManager.EnrollReason int enrollReason,
            @NonNull IFingerprintServiceReceiver receiver, @NonNull String opPackageName,
            @FingerprintManager.EnrollReason int enrollReason,
            @NonNull FingerprintStateCallback fingerprintStateCallback) {
            @NonNull FingerprintStateCallback fingerprintStateCallback) {
        mHandler.post(() -> {
        mHandler.post(() -> {
            final int maxTemplatesPerUser = mSensors.get(sensorId).getSensorProperties()
            final int maxTemplatesPerUser = mSensors.get(sensorId).getSensorProperties()
+2 −0
Original line number Original line Diff line number Diff line
@@ -2174,6 +2174,7 @@ public class LockSettingsService extends ILockSettings.Stub {
    @Override
    @Override
    public VerifyCredentialResponse verifyGatekeeperPasswordHandle(long gatekeeperPasswordHandle,
    public VerifyCredentialResponse verifyGatekeeperPasswordHandle(long gatekeeperPasswordHandle,
            long challenge, int userId) {
            long challenge, int userId) {

        checkPasswordReadPermission();
        checkPasswordReadPermission();


        final VerifyCredentialResponse response;
        final VerifyCredentialResponse response;
@@ -2185,6 +2186,7 @@ public class LockSettingsService extends ILockSettings.Stub {


        synchronized (mSpManager) {
        synchronized (mSpManager) {
            if (gatekeeperPassword == null) {
            if (gatekeeperPassword == null) {
                Slog.d(TAG, "No gatekeeper password for handle");
                response = VerifyCredentialResponse.ERROR;
                response = VerifyCredentialResponse.ERROR;
            } else {
            } else {
                response = mSpManager.verifyChallengeInternal(getGateKeeperService(),
                response = mSpManager.verifyChallengeInternal(getGateKeeperService(),