Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f3650a6d authored by Joshua McCloskey's avatar Joshua McCloskey Committed by Joshua Mccloskey
Browse files

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
parent 99945d5d
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -345,8 +345,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;
@@ -360,6 +360,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,
@@ -367,7 +368,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)