summaryrefslogtreecommitdiff
path: root/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java
diff options
context:
space:
mode:
Diffstat (limited to 'services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java')
-rw-r--r--services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java22
1 files changed, 10 insertions, 12 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 3a93d82a68ee..b44f4dc68274 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
@@ -331,12 +331,12 @@ public class FingerprintService extends SystemService {
provider.second.getSensorProperties(sensorId);
if (!isKeyguard && !Utils.isSettings(getContext(), opPackageName)
&& sensorProps != null && sensorProps.isAnyUdfpsType()) {
+ identity = Binder.clearCallingIdentity();
try {
return authenticateWithPrompt(operationId, sensorProps, userId, receiver,
- opPackageName, ignoreEnrollmentState);
- } catch (PackageManager.NameNotFoundException e) {
- Slog.e(TAG, "Invalid package", e);
- return -1;
+ ignoreEnrollmentState);
+ } finally {
+ Binder.restoreCallingIdentity(identity);
}
}
return provider.second.scheduleAuthenticate(provider.first, token, operationId, userId,
@@ -349,15 +349,12 @@ public class FingerprintService extends SystemService {
@NonNull final FingerprintSensorPropertiesInternal props,
final int userId,
final IFingerprintServiceReceiver receiver,
- final String opPackageName,
- boolean ignoreEnrollmentState) throws PackageManager.NameNotFoundException {
+ boolean ignoreEnrollmentState) {
final Context context = getUiContext();
- final Context promptContext = context.createPackageContextAsUser(
- opPackageName, 0 /* flags */, UserHandle.getUserHandleForUid(userId));
final Executor executor = context.getMainExecutor();
- final BiometricPrompt biometricPrompt = new BiometricPrompt.Builder(promptContext)
+ final BiometricPrompt biometricPrompt = new BiometricPrompt.Builder(context)
.setTitle(context.getString(R.string.biometric_dialog_default_title))
.setSubtitle(context.getString(R.string.fingerprint_dialog_default_subtitle))
.setNegativeButton(
@@ -371,7 +368,8 @@ public class FingerprintService extends SystemService {
Slog.e(TAG, "Remote exception in negative button onClick()", e);
}
})
- .setIsForLegacyFingerprintManager(props.sensorId)
+ .setAllowedSensorIds(new ArrayList<>(
+ Collections.singletonList(props.sensorId)))
.setIgnoreEnrollmentState(ignoreEnrollmentState)
.build();
@@ -425,8 +423,8 @@ public class FingerprintService extends SystemService {
}
};
- return biometricPrompt.authenticateForOperation(
- new CancellationSignal(), executor, promptCallback, operationId);
+ return biometricPrompt.authenticateUserForOperation(
+ new CancellationSignal(), executor, promptCallback, userId, operationId);
}
@Override