summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Curtis Belmonte <curtislb@google.com> 2021-07-17 00:47:14 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2021-07-17 00:47:14 +0000
commit0295c273bd77aeefc6499e6ee18a7b58aea12a58 (patch)
treed4b149a011c2621bc9378cd4264dd36d01f15623
parentbf09a9fac03376602e2cc7deb661b4903359141d (diff)
parent592bacb778489d075341c43ed20029562e6d75fa (diff)
Merge "Require non-null HAT for fingerprint enrollment" into sc-dev
-rw-r--r--services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java6
-rw-r--r--services/core/java/com/android/server/biometrics/sensors/fingerprint/ServiceProvider.java9
-rw-r--r--services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java7
-rw-r--r--services/core/java/com/android/server/locksettings/LockSettingsService.java2
4 files changed, 15 insertions, 9 deletions
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 012e47e425f6..183fabdc2a7b 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
@@ -215,9 +215,9 @@ public class FingerprintService extends SystemService {
}
@Override // Binder call
- public void enroll(final IBinder token, final byte[] hardwareAuthToken, final int userId,
- final IFingerprintServiceReceiver receiver, final String opPackageName,
- @FingerprintManager.EnrollReason int enrollReason) {
+ public void enroll(final IBinder token, @NonNull final byte[] hardwareAuthToken,
+ final int userId, final IFingerprintServiceReceiver receiver,
+ final String opPackageName, @FingerprintManager.EnrollReason int enrollReason) {
Utils.checkPermission(getContext(), MANAGE_FINGERPRINT);
final Pair<Integer, ServiceProvider> provider = getSingleProvider();
diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/ServiceProvider.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/ServiceProvider.java
index 3a214f44c0a8..706ac1013746 100644
--- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/ServiceProvider.java
+++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/ServiceProvider.java
@@ -85,9 +85,12 @@ public interface ServiceProvider {
void scheduleRevokeChallenge(int sensorId, int userId, @NonNull IBinder token,
@NonNull String opPackageName, long challenge);
- void scheduleEnroll(int sensorId, @NonNull IBinder token, byte[] hardwareAuthToken, int userId,
- @NonNull IFingerprintServiceReceiver receiver, @NonNull String opPackageName,
- @FingerprintManager.EnrollReason int enrollReason,
+ /**
+ * Schedules fingerprint enrollment.
+ */
+ 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);
void cancelEnrollment(int sensorId, @NonNull IBinder token);
diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java
index cfc467430349..102b07493134 100644
--- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java
+++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java
@@ -329,9 +329,10 @@ public class FingerprintProvider implements IBinder.DeathRecipient, ServiceProvi
}
@Override
- public void scheduleEnroll(int sensorId, @NonNull IBinder token, byte[] hardwareAuthToken,
- int userId, @NonNull IFingerprintServiceReceiver receiver,
- @NonNull String opPackageName, @FingerprintManager.EnrollReason int enrollReason,
+ public 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) {
mHandler.post(() -> {
final int maxTemplatesPerUser = mSensors.get(sensorId).getSensorProperties()
diff --git a/services/core/java/com/android/server/locksettings/LockSettingsService.java b/services/core/java/com/android/server/locksettings/LockSettingsService.java
index 0bec09cd003f..c0b8648b5328 100644
--- a/services/core/java/com/android/server/locksettings/LockSettingsService.java
+++ b/services/core/java/com/android/server/locksettings/LockSettingsService.java
@@ -2174,6 +2174,7 @@ public class LockSettingsService extends ILockSettings.Stub {
@Override
public VerifyCredentialResponse verifyGatekeeperPasswordHandle(long gatekeeperPasswordHandle,
long challenge, int userId) {
+
checkPasswordReadPermission();
final VerifyCredentialResponse response;
@@ -2185,6 +2186,7 @@ public class LockSettingsService extends ILockSettings.Stub {
synchronized (mSpManager) {
if (gatekeeperPassword == null) {
+ Slog.d(TAG, "No gatekeeper password for handle");
response = VerifyCredentialResponse.ERROR;
} else {
response = mSpManager.verifyChallengeInternal(getGateKeeperService(),