diff options
| author | Ben Gruver <bgruv@google.com> | 2013-08-06 12:34:17 -0700 |
|---|---|---|
| committer | Ben Gruver <bgruv@google.com> | 2013-08-07 13:59:17 -0700 |
| commit | dd72c9ed558158f889a8cdfed8a108553ba5a562 (patch) | |
| tree | 6c95473c7c6f1f06b60ba74003d35ca20f013f7c /services/java/com/android/server/pm/PackageManagerService.java | |
| parent | 40f5b63bd9c0d5570d3330d6d9c16f323253aba1 (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-x | services/java/com/android/server/pm/PackageManagerService.java | 17 |
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"); |
