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

Commit 79f689dd authored by Kevin Chyn's avatar Kevin Chyn Committed by Android (Google) Code Review
Browse files

Merge "4/n: Add RevokeChallenge and ResetLockout for IFingerprint"

parents 4c1deb59 b3cf50a3
Loading
Loading
Loading
Loading
+13 −2
Original line number Original line Diff line number Diff line
@@ -636,13 +636,24 @@ public class FingerprintManager implements BiometricAuthenticator, BiometricFing
    }
    }


    /**
    /**
     * Finishes enrollment and cancels the current auth token.
     * Revokes the current challenge.
     * @hide
     * @hide
     */
     */
    @RequiresPermission(MANAGE_FINGERPRINT)
    @RequiresPermission(MANAGE_FINGERPRINT)
    public void revokeChallenge() {
    public void revokeChallenge() {
        // On HALs with only single in-flight challenge such as IBiometricsFingerprint@2.1,
        // this parameter is ignored.
        revokeChallenge(0L);
    }

    /**
     * Revokes the specified challenge.
     * @hide
     */
    @RequiresPermission(MANAGE_FINGERPRINT)
    public void revokeChallenge(long challenge) {
        if (mService != null) try {
        if (mService != null) try {
            mService.revokeChallenge(mToken, mContext.getOpPackageName());
            mService.revokeChallenge(mToken, mContext.getOpPackageName(), challenge);
        } catch (RemoteException e) {
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
            throw e.rethrowFromSystemServer();
        }
        }
+1 −1
Original line number Original line Diff line number Diff line
@@ -96,7 +96,7 @@ interface IFingerprintService {
    void generateChallenge(IBinder token, int sensorId, IFingerprintServiceReceiver receiver, String opPackageName);
    void generateChallenge(IBinder token, int sensorId, IFingerprintServiceReceiver receiver, String opPackageName);


    // Finish an enrollment sequence and invalidate the authentication token
    // Finish an enrollment sequence and invalidate the authentication token
    void revokeChallenge(IBinder token, String opPackageName);
    void revokeChallenge(IBinder token, String opPackageName, long challenge);


    // Determine if a user has at least one enrolled fingerprint
    // Determine if a user has at least one enrolled fingerprint
    boolean hasEnrolledFingerprints(int userId, String opPackageName);
    boolean hasEnrolledFingerprints(int userId, String opPackageName);
+3 −2
Original line number Original line Diff line number Diff line
@@ -187,7 +187,7 @@ public class FingerprintService extends SystemService {
        }
        }


        @Override // Binder call
        @Override // Binder call
        public void revokeChallenge(IBinder token, String opPackageName) {
        public void revokeChallenge(IBinder token, String opPackageName, long challenge) {
            Utils.checkPermission(getContext(), MANAGE_FINGERPRINT);
            Utils.checkPermission(getContext(), MANAGE_FINGERPRINT);


            final Pair<Integer, ServiceProvider> provider = getSingleProvider();
            final Pair<Integer, ServiceProvider> provider = getSingleProvider();
@@ -196,7 +196,8 @@ public class FingerprintService extends SystemService {
                return;
                return;
            }
            }


            provider.second.scheduleRevokeChallenge(provider.first, token, opPackageName);
            provider.second.scheduleRevokeChallenge(provider.first, token, opPackageName,
                    challenge);
        }
        }


        @Override // Binder call
        @Override // Binder call
+1 −1
Original line number Original line Diff line number Diff line
@@ -68,7 +68,7 @@ public interface ServiceProvider {
            @NonNull IFingerprintServiceReceiver receiver, String opPackageName);
            @NonNull IFingerprintServiceReceiver receiver, String opPackageName);


    void scheduleRevokeChallenge(int sensorId, @NonNull IBinder token,
    void scheduleRevokeChallenge(int sensorId, @NonNull IBinder token,
            @NonNull String opPackageName);
            @NonNull String opPackageName, long challenge);


    void scheduleEnroll(int sensorId, @NonNull IBinder token, byte[] hardwareAuthToken, int userId,
    void scheduleEnroll(int sensorId, @NonNull IBinder token, byte[] hardwareAuthToken, int userId,
            @NonNull IFingerprintServiceReceiver receiver, @NonNull String opPackageName,
            @NonNull IFingerprintServiceReceiver receiver, @NonNull String opPackageName,
+1 −1
Original line number Original line Diff line number Diff line
@@ -34,7 +34,7 @@ public class FingerprintGenerateChallengeClient extends GenerateChallengeClient<
    private static final String TAG = "FingerprintGenerateChallengeClient";
    private static final String TAG = "FingerprintGenerateChallengeClient";
    private static final int CHALLENGE_TIMEOUT_SEC = 600; // 10 minutes
    private static final int CHALLENGE_TIMEOUT_SEC = 600; // 10 minutes


    private IGenerateChallengeCallback mGenerateChallengeCallback =
    private final IGenerateChallengeCallback mGenerateChallengeCallback =
            new IGenerateChallengeCallback.Stub() {
            new IGenerateChallengeCallback.Stub() {
        @Override
        @Override
        public void onChallengeGenerated(int sensorId, int userId, long challenge) {
        public void onChallengeGenerated(int sensorId, int userId, long challenge) {
Loading