summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndroid (Google) Code Review <android-gerrit@google.com>2009-10-16 15:36:40 -0400
committerAndroid (Google) Code Review <android-gerrit@google.com>2009-10-16 15:36:40 -0400
commitc75348a9384a5310bb34bf02cafd0076630f4a28 (patch)
tree72915e40669abd5df9d4af36863dd849777c279c
parent0b08abe1b8e4f49cfaefb8226696664ad3d5ca6a (diff)
parentb897cff1ef1981757d8e26e24d1fc77893a34e40 (diff)
downloadframeworks_base-c75348a9384a5310bb34bf02cafd0076630f4a28.zip
frameworks_base-c75348a9384a5310bb34bf02cafd0076630f4a28.tar.gz
frameworks_base-c75348a9384a5310bb34bf02cafd0076630f4a28.tar.bz2
Merge change Ib897cff1 into eclair
* changes: do not merge Return valid package info for packages that have been uninstalled with an option to retain data and resources using the flag GET_UNINSTALLED_PACKAGES These packages do not have a package setting. just check the flag and return the required info from PackageParser.generatePackageInfo
-rw-r--r--services/java/com/android/server/PackageManagerService.java4
1 files changed, 4 insertions, 0 deletions
diff --git a/services/java/com/android/server/PackageManagerService.java b/services/java/com/android/server/PackageManagerService.java
index 6289d4f..66e7ecd 100644
--- a/services/java/com/android/server/PackageManagerService.java
+++ b/services/java/com/android/server/PackageManagerService.java
@@ -872,6 +872,10 @@ class PackageManagerService extends IPackageManager.Stub {
}
PackageInfo generatePackageInfo(PackageParser.Package p, int flags) {
+ if ((flags & PackageManager.GET_UNINSTALLED_PACKAGES) != 0) {
+ // The package has been uninstalled but has retained data and resources.
+ return PackageParser.generatePackageInfo(p, null, flags);
+ }
final PackageSetting ps = (PackageSetting)p.mExtras;
if (ps == null) {
return null;