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

Commit 7494002c authored by Patrick Baumann's avatar Patrick Baumann
Browse files

Fixes PM.grantImplicitAccess for multi-user

This change fixes the security check in grantImplicitAccess to support
the case that the system user does not have an installed contacts
provider.

Fixes: 169684344
Test: atest android.provider.cts.contacts.ContactsContract_DirectoryTest
Change-Id: I2c80513a5dffa7ad92963e376ea85217f127f39a
parent 2ca98d20
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -25434,7 +25434,7 @@ public class PackageManagerService extends IPackageManager.Stub
        // This API is exposed temporarily to only the contacts provider. (b/158688602)
        final int callingUid = Binder.getCallingUid();
        ProviderInfo contactsProvider = resolveContentProviderInternal(
                        ContactsContract.AUTHORITY, 0, UserHandle.USER_SYSTEM);
                        ContactsContract.AUTHORITY, 0, UserHandle.getUserId(callingUid));
        if (contactsProvider == null || contactsProvider.applicationInfo == null
                || !UserHandle.isSameApp(contactsProvider.applicationInfo.uid, callingUid)) {
            throw new SecurityException(callingUid + " is not allow to call grantImplicitAccess");