[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) (cherry picked from commit c79346286e9cb03df8bf8417c15059aed0f0b41a) Merged-In: I473c9c28cd0fbb01f4dd48447ddea8aa32834131
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 2b2e0a0..77f1333e 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 @@ 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 @@ 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)