summaryrefslogtreecommitdiff
path: root/services/java/com/android/server/pm/PackageManagerService.java
diff options
context:
space:
mode:
authorBen Gruver <bgruv@google.com>2013-08-06 12:34:17 -0700
committerBen Gruver <bgruv@google.com>2013-08-07 13:59:17 -0700
commitdd72c9ed558158f889a8cdfed8a108553ba5a562 (patch)
tree6c95473c7c6f1f06b60ba74003d35ca20f013f7c /services/java/com/android/server/pm/PackageManagerService.java
parent40f5b63bd9c0d5570d3330d6d9c16f323253aba1 (diff)
Improve the logic for determining whether the caller is a system app
Bug: 10024554 Change-Id: I742e918840a98dd83d713bdf7a43a919674e65fe
Diffstat (limited to 'services/java/com/android/server/pm/PackageManagerService.java')
-rwxr-xr-xservices/java/com/android/server/pm/PackageManagerService.java17
1 files changed, 15 insertions, 2 deletions
diff --git a/services/java/com/android/server/pm/PackageManagerService.java b/services/java/com/android/server/pm/PackageManagerService.java
index fea7fe7c85b1..80e20a537592 100755
--- a/services/java/com/android/server/pm/PackageManagerService.java
+++ b/services/java/com/android/server/pm/PackageManagerService.java
@@ -2574,6 +2574,20 @@ public class PackageManagerService extends IPackageManager.Stub {
}
}
+ public int getFlagsForUid(int uid) {
+ synchronized (mPackages) {
+ Object obj = mSettings.getUserIdLPr(UserHandle.getAppId(uid));
+ if (obj instanceof SharedUserSetting) {
+ final SharedUserSetting sus = (SharedUserSetting) obj;
+ return sus.pkgFlags;
+ } else if (obj instanceof PackageSetting) {
+ final PackageSetting ps = (PackageSetting) obj;
+ return ps.pkgFlags;
+ }
+ }
+ return 0;
+ }
+
@Override
public ResolveInfo resolveIntent(Intent intent, String resolvedType,
int flags, int userId) {
@@ -4058,8 +4072,7 @@ public class PackageManagerService extends IPackageManager.Stub {
}
if (pkg.mSharedUserId != null) {
- suid = mSettings.getSharedUserLPw(pkg.mSharedUserId,
- pkg.applicationInfo.flags, true);
+ suid = mSettings.getSharedUserLPw(pkg.mSharedUserId, 0, true);
if (suid == null) {
Slog.w(TAG, "Creating application package " + pkg.packageName
+ " for shared user failed");