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

Commit 8d38894d authored by Jim Miller's avatar Jim Miller Committed by Android (Google) Code Review
Browse files

Merge "Clean up fingerprint enrollment API" into nyc-dev

parents c56ca116 c12eca8b
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -51,7 +51,8 @@ public abstract class EnrollClient extends ClientMonitor {
                    " getGroupId():" + getGroupId());
        }
        if (remaining == 0) {
            FingerprintUtils.getInstance().addFingerprintForUser(getContext(), fingerId, groupId);
            FingerprintUtils.getInstance().addFingerprintForUser(getContext(), fingerId,
                    getTargetUserId());
        }
        return sendEnrollResult(fingerId, groupId, remaining);
    }
+10 −9
Original line number Diff line number Diff line
@@ -540,13 +540,15 @@ public class FingerprintService extends SystemService implements IBinder.DeathRe
        startClient(client, true /* initiatedByClient */);
    }

    private void startEnrollment(IBinder token, byte [] cryptoToken, int callingUserId, int groupId,
    private void startEnrollment(IBinder token, byte [] cryptoToken, int userId,
            IFingerprintServiceReceiver receiver, int flags, boolean restricted,
            String opPackageName) {
        updateActiveGroup(groupId, opPackageName);
        updateActiveGroup(userId, opPackageName);

        final int groupId = userId; // default group for fingerprint enrollment

        EnrollClient client = new EnrollClient(getContext(), mHalDeviceId, token, receiver,
                callingUserId, groupId, cryptoToken, restricted, opPackageName) {
                userId, groupId, cryptoToken, restricted, opPackageName) {

            @Override
            public IFingerprintDaemon getFingerprintDaemon() {
@@ -680,15 +682,14 @@ public class FingerprintService extends SystemService implements IBinder.DeathRe
        }

        @Override // Binder call
        public void enroll(final IBinder token, final byte[] cryptoToken, final int groupId,
        public void enroll(final IBinder token, final byte[] cryptoToken, final int userId,
                final IFingerprintServiceReceiver receiver, final int flags,
                final String opPackageName) {
            checkPermission(MANAGE_FINGERPRINT);
            final int limit =  mContext.getResources().getInteger(
                    com.android.internal.R.integer.config_fingerprintMaxTemplatesPerUser);
            final int callingUserId = UserHandle.getCallingUserId();
            final int enrolled = FingerprintService.this.
                    getEnrolledFingerprints(callingUserId).size();

            final int enrolled = FingerprintService.this.getEnrolledFingerprints(userId).size();
            if (enrolled >= limit) {
                Slog.w(TAG, "Too many fingerprints registered");
                return;
@@ -696,7 +697,7 @@ public class FingerprintService extends SystemService implements IBinder.DeathRe

            // Group ID is arbitrarily set to parent profile user ID. It just represents
            // the default fingerprints for the user.
            if (!isCurrentUserOrProfile(groupId)) {
            if (!isCurrentUserOrProfile(userId)) {
                return;
            }

@@ -704,7 +705,7 @@ public class FingerprintService extends SystemService implements IBinder.DeathRe
            mHandler.post(new Runnable() {
                @Override
                public void run() {
                    startEnrollment(token, cryptoToken, callingUserId, groupId, receiver, flags,
                    startEnrollment(token, cryptoToken, userId, receiver, flags,
                            restricted, opPackageName);
                }
            });