summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorSuchi Amalapurapu <asuchitra@google.com>2010-05-13 16:05:54 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2010-05-13 16:05:54 -0700
commit3f5ed04f7f594efe401f2a9f7828343920723b4b (patch)
tree9af8d5f0e186c335ea829883cd5d339cbd6c3cc8 /services
parentcf67d18a1d5e6e89b96f7750706cb36208ddb936 (diff)
parentb63ea5f784b7862a7ab28e0134f6da47f6275810 (diff)
downloadframeworks_base-3f5ed04f7f594efe401f2a9f7828343920723b4b.zip
frameworks_base-3f5ed04f7f594efe401f2a9f7828343920723b4b.tar.gz
frameworks_base-3f5ed04f7f594efe401f2a9f7828343920723b4b.tar.bz2
am b63ea5f7: am c928a11e: Merge "Fix 2672155 Check the code path when enabling disabling packages." into froyo
Merge commit 'b63ea5f784b7862a7ab28e0134f6da47f6275810' into kraken * commit 'b63ea5f784b7862a7ab28e0134f6da47f6275810': Fix 2672155
Diffstat (limited to 'services')
-rw-r--r--services/java/com/android/server/PackageManagerService.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/services/java/com/android/server/PackageManagerService.java b/services/java/com/android/server/PackageManagerService.java
index c10a7e8..9f14e19 100644
--- a/services/java/com/android/server/PackageManagerService.java
+++ b/services/java/com/android/server/PackageManagerService.java
@@ -5340,13 +5340,13 @@ class PackageManagerService extends IPackageManager.Stub {
}
SdInstallArgs(String cid) {
- super(null, null, PackageManager.INSTALL_EXTERNAL, null);
- this.cid = cid;
+ this((Uri)null, cid);
}
SdInstallArgs(Uri packageURI, String cid) {
super(packageURI, null, PackageManager.INSTALL_EXTERNAL, null);
this.cid = cid;
+ cachePath = PackageHelper.getSdDir(cid);
}
void createCopyFile() {
@@ -9608,7 +9608,10 @@ class PackageManagerService extends IPackageManager.Stub {
}
if (DEBUG_SD_INSTALL) Log.i(TAG, "Looking for pkg : " + pkgName);
PackageSetting ps = mSettings.mPackages.get(pkgName);
- if (ps != null && ps.codePathString != null) {
+ // The package status is changed only if the code path
+ // matches between settings and the container id.
+ if (ps != null && ps.codePathString != null &&
+ ps.codePathString.equals(args.getCodePath())) {
if (DEBUG_SD_INSTALL) Log.i(TAG, "Container : " + cid +
" corresponds to pkg : " + pkgName +
" at code path: " + ps.codePathString);