From 5194e4ab29ebe78b290af52ea59d7b498640479e Mon Sep 17 00:00:00 2001 From: Joshua McCloskey Date: Tue, 31 May 2022 23:49:50 +0000 Subject: [PATCH] fpService#authWithPrompt uses correct user handle. CTS > BYOD Managed Provisioning > Authentication Bound Keys Verified Fingerprint-bound key test works as expected. Test: Manually verified CTS Fixes: 231932206 Change-Id: I473c9c28cd0fbb01f4dd48447ddea8aa32834131 (cherry picked from commit f3650a6dee1ebe5f681699e4170c244e7bd7f9fc) --- .../biometrics/sensors/fingerprint/FingerprintService.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 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 3a93d82a68eec..7a878043b9968 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 @@ -332,8 +332,8 @@ public class FingerprintService extends SystemService { if (!isKeyguard && !Utils.isSettings(getContext(), opPackageName) && sensorProps != null && sensorProps.isAnyUdfpsType()) { try { - return authenticateWithPrompt(operationId, sensorProps, userId, receiver, - opPackageName, ignoreEnrollmentState); + return authenticateWithPrompt(operationId, sensorProps, callingUid, + callingUserId, receiver, opPackageName, ignoreEnrollmentState); } catch (PackageManager.NameNotFoundException e) { Slog.e(TAG, "Invalid package", e); return -1; @@ -347,6 +347,7 @@ public class FingerprintService extends SystemService { private long authenticateWithPrompt( final long operationId, @NonNull final FingerprintSensorPropertiesInternal props, + final int uId, final int userId, final IFingerprintServiceReceiver receiver, final String opPackageName, @@ -354,7 +355,7 @@ public class FingerprintService extends SystemService { final Context context = getUiContext(); final Context promptContext = context.createPackageContextAsUser( - opPackageName, 0 /* flags */, UserHandle.getUserHandleForUid(userId)); + opPackageName, 0 /* flags */, UserHandle.getUserHandleForUid(uId)); final Executor executor = context.getMainExecutor(); final BiometricPrompt biometricPrompt = new BiometricPrompt.Builder(promptContext)