Merge "Add the checking of the package installed state"
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index 1fc9fc2..8535129 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 @@
// reader
final AndroidPackage p = mPackages.get(packageName);
if (p != null && AndroidPackageUtils.isMatchForSystemOnly(p, flags)) {
- PackageSetting ps = getPackageSettingInternal(p.getPackageName(), callingUid);
- if (shouldFilterApplicationLocked(ps, callingUid, userId)) {
- return -1;
+ final PackageSetting ps = getPackageSettingInternal(p.getPackageName(), callingUid);
+ if (ps != null && ps.getInstalled(userId)
+ && !shouldFilterApplicationLocked(ps, callingUid, userId)) {
+ return UserHandle.getUid(userId, p.getUid());
}
- return UserHandle.getUid(userId, p.getUid());
}
if ((flags & MATCH_KNOWN_PACKAGES) != 0) {
final PackageSetting ps = mSettings.getPackageLPr(packageName);
@@ -8579,13 +8579,11 @@
synchronized (mLock) {
final AndroidPackage p = mPackages.get(packageName);
if (p != null && AndroidPackageUtils.isMatchForSystemOnly(p, flags)) {
- PackageSetting ps = getPackageSetting(p.getPackageName());
- if (shouldFilterApplicationLocked(ps, callingUid, userId)) {
- return null;
+ final PackageSetting ps = getPackageSetting(p.getPackageName());
+ if (ps != null && ps.getInstalled(userId)
+ && !shouldFilterApplicationLocked(ps, callingUid, userId)) {
+ return mPermissionManager.getGidsForUid(UserHandle.getUid(userId, ps.appId));
}
- // 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);
@@ -12208,6 +12206,7 @@
}
}
builder.append(" to access user ");
+ builder.append(userId);
builder.append(".");
return builder.toString();
}