summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorSuchi Amalapurapu <asuchitra@google.com>2009-10-29 19:56:20 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2009-10-29 19:56:20 -0700
commitdf4bc1d1d508a6482fa9985d415e3e3afc114a28 (patch)
tree07dccd9026cc1241f261f11447bec9ef827f19a1 /services
parentfe48ca568007428d7dd21a1837115a5f9d470f8b (diff)
parenta7bbedca97498e75b32c6f6ca4afe56d4cf481f7 (diff)
downloadframeworks_base-df4bc1d1d508a6482fa9985d415e3e3afc114a28.zip
frameworks_base-df4bc1d1d508a6482fa9985d415e3e3afc114a28.tar.gz
frameworks_base-df4bc1d1d508a6482fa9985d415e3e3afc114a28.tar.bz2
am a7bbedca: am 22dad592: Merge change I6cae32c7 into eclair
Merge commit 'a7bbedca97498e75b32c6f6ca4afe56d4cf481f7' into eclair-mr2-plus-aosp * commit 'a7bbedca97498e75b32c6f6ca4afe56d4cf481f7': When upgrading packages with shared user ids make sure we are eliminating
Diffstat (limited to 'services')
-rw-r--r--services/java/com/android/server/PackageManagerService.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/services/java/com/android/server/PackageManagerService.java b/services/java/com/android/server/PackageManagerService.java
index 5f30b3d..a83459e 100644
--- a/services/java/com/android/server/PackageManagerService.java
+++ b/services/java/com/android/server/PackageManagerService.java
@@ -6344,7 +6344,9 @@ class PackageManagerService extends IPackageManager.Stub {
continue;
}
for (PackageSetting pkg:sus.packages) {
- if (pkg.pkg.requestedPermissions.contains(eachPerm)) {
+ if (pkg.pkg != null &&
+ !pkg.pkg.packageName.equalsIgnoreCase(deletedPs.pkg.packageName) &&
+ pkg.pkg.requestedPermissions.contains(eachPerm)) {
used = true;
break;
}
@@ -6359,7 +6361,9 @@ class PackageManagerService extends IPackageManager.Stub {
int newGids[] = globalGids;
for (String eachPerm : sus.grantedPermissions) {
BasePermission bp = mPermissions.get(eachPerm);
- newGids = appendInts(newGids, bp.gids);
+ if (bp != null) {
+ newGids = appendInts(newGids, bp.gids);
+ }
}
sus.gids = newGids;
}