Loading core/java/android/hardware/fingerprint/FingerprintManager.java +13 −2 Original line number Original line Diff line number Diff line Loading @@ -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(); } } Loading core/java/android/hardware/fingerprint/IFingerprintService.aidl +1 −1 Original line number Original line Diff line number Diff line Loading @@ -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); Loading services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java +3 −2 Original line number Original line Diff line number Diff line Loading @@ -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(); Loading @@ -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 Loading services/core/java/com/android/server/biometrics/sensors/fingerprint/ServiceProvider.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -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, Loading services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintGenerateChallengeClient.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -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 Loading
core/java/android/hardware/fingerprint/FingerprintManager.java +13 −2 Original line number Original line Diff line number Diff line Loading @@ -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(); } } Loading
core/java/android/hardware/fingerprint/IFingerprintService.aidl +1 −1 Original line number Original line Diff line number Diff line Loading @@ -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); Loading
services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java +3 −2 Original line number Original line Diff line number Diff line Loading @@ -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(); Loading @@ -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 Loading
services/core/java/com/android/server/biometrics/sensors/fingerprint/ServiceProvider.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -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, Loading
services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintGenerateChallengeClient.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -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