[DO NOT MERGE] fpService#authWithPrompt uses correct user handle. 2p: c79346286e

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19911498

Bug: 231932206
Change-Id: Id36b39057cc689ab11d32122c2fc8a2a473ee40a
This commit is contained in:
Presubmit Automerger Backend
2022-10-27 19:41:00 +00:00
committed by Joshua Mccloskey

View File

@@ -332,8 +332,8 @@ public class FingerprintService extends SystemService {
if (!isKeyguard && !Utils.isSettings(getContext(), opPackageName) if (!isKeyguard && !Utils.isSettings(getContext(), opPackageName)
&& sensorProps != null && sensorProps.isAnyUdfpsType()) { && sensorProps != null && sensorProps.isAnyUdfpsType()) {
try { try {
return authenticateWithPrompt(operationId, sensorProps, userId, receiver, return authenticateWithPrompt(operationId, sensorProps, callingUid,
opPackageName); callingUserId, receiver, opPackageName);
} catch (PackageManager.NameNotFoundException e) { } catch (PackageManager.NameNotFoundException e) {
Slog.e(TAG, "Invalid package", e); Slog.e(TAG, "Invalid package", e);
return -1; return -1;
@@ -347,13 +347,14 @@ public class FingerprintService extends SystemService {
private long authenticateWithPrompt( private long authenticateWithPrompt(
final long operationId, final long operationId,
@NonNull final FingerprintSensorPropertiesInternal props, @NonNull final FingerprintSensorPropertiesInternal props,
final int uId,
final int userId, final int userId,
final IFingerprintServiceReceiver receiver, final IFingerprintServiceReceiver receiver,
final String opPackageName) throws PackageManager.NameNotFoundException { final String opPackageName) throws PackageManager.NameNotFoundException {
final Context context = getUiContext(); final Context context = getUiContext();
final Context promptContext = context.createPackageContextAsUser( final Context promptContext = context.createPackageContextAsUser(
opPackageName, 0 /* flags */, UserHandle.getUserHandleForUid(userId)); opPackageName, 0 /* flags */, UserHandle.getUserHandleForUid(uId));
final Executor executor = context.getMainExecutor(); final Executor executor = context.getMainExecutor();
final BiometricPrompt biometricPrompt = new BiometricPrompt.Builder(promptContext) final BiometricPrompt biometricPrompt = new BiometricPrompt.Builder(promptContext)