diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 8535129b9cd13..1fc9fc2af7348 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -4215,11 +4215,11 @@ public class PackageManagerService extends IPackageManager.Stub // reader final AndroidPackage p = mPackages.get(packageName); if (p != null && AndroidPackageUtils.isMatchForSystemOnly(p, flags)) { - final PackageSetting ps = getPackageSettingInternal(p.getPackageName(), callingUid); - if (ps != null && ps.getInstalled(userId) - && !shouldFilterApplicationLocked(ps, callingUid, userId)) { - return UserHandle.getUid(userId, p.getUid()); + PackageSetting ps = getPackageSettingInternal(p.getPackageName(), callingUid); + if (shouldFilterApplicationLocked(ps, callingUid, userId)) { + return -1; } + return UserHandle.getUid(userId, p.getUid()); } if ((flags & MATCH_KNOWN_PACKAGES) != 0) { final PackageSetting ps = mSettings.getPackageLPr(packageName); @@ -8579,11 +8579,13 @@ public class PackageManagerService extends IPackageManager.Stub synchronized (mLock) { final AndroidPackage p = mPackages.get(packageName); if (p != null && AndroidPackageUtils.isMatchForSystemOnly(p, flags)) { - final PackageSetting ps = getPackageSetting(p.getPackageName()); - if (ps != null && ps.getInstalled(userId) - && !shouldFilterApplicationLocked(ps, callingUid, userId)) { - return mPermissionManager.getGidsForUid(UserHandle.getUid(userId, ps.appId)); + PackageSetting ps = getPackageSetting(p.getPackageName()); + if (shouldFilterApplicationLocked(ps, callingUid, userId)) { + return null; } + // TODO: Shouldn't this be checking for package installed state for userId and + // return null? + return mPermissionManager.getGidsForUid(UserHandle.getUid(userId, ps.appId)); } if ((flags & MATCH_KNOWN_PACKAGES) != 0) { final PackageSetting ps = mSettings.getPackageLPr(packageName); @@ -12206,7 +12208,6 @@ public class PackageManagerService extends IPackageManager.Stub } } builder.append(" to access user "); - builder.append(userId); builder.append("."); return builder.toString(); }