From c79346286e9cb03df8bf8417c15059aed0f0b41a Mon Sep 17 00:00:00 2001 From: Joshua McCloskey Date: Tue, 31 May 2022 23:49:50 +0000 Subject: [DO NOT MERGE] 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 Bug: 231932206 Change-Id: I473c9c28cd0fbb01f4dd48447ddea8aa32834131 (cherry picked from commit f3650a6dee1ebe5f681699e4170c244e7bd7f9fc) --- .../server/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 2b2e0a0601f9..77f1333e1c15 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 @@ -298,8 +298,8 @@ public class FingerprintService extends SystemService { if (!isKeyguard && !Utils.isSettings(getContext(), opPackageName) && sensorProps != null && sensorProps.isAnyUdfpsType()) { try { - authenticateWithPrompt(operationId, sensorProps, userId, receiver, - opPackageName); + authenticateWithPrompt(operationId, sensorProps, callingUid, + callingUserId, receiver, opPackageName); } catch (PackageManager.NameNotFoundException e) { Slog.e(TAG, "Invalid package", e); } @@ -313,13 +313,14 @@ public class FingerprintService extends SystemService { private void authenticateWithPrompt( final long operationId, @NonNull final FingerprintSensorPropertiesInternal props, + final int uId, final int userId, final IFingerprintServiceReceiver receiver, final String opPackageName) throws PackageManager.NameNotFoundException { 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) -- cgit v1.2.3-59-g8ed1b