summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Suchi Amalapurapu <asuchitra@google.com> 2010-05-18 13:16:13 -0700
committer Android Git Automerger <android-git-automerger@android.com> 2010-05-18 13:16:13 -0700
commitaa4db173a2465d74ea35cc7f736f6b2a5b01f72c (patch)
treebfe0eea8ac30d0eb21b3dfd121b30a521d99a5d3
parent3aecdb9d7e92b1a91860600feefb5c0062b652cf (diff)
parent9a212adcffbc4b32d51f512889b33ba584647aa9 (diff)
am 9a212adc: Fix 2641875 Initialize the cache path only if the container exists. This did exist before but was somehow removed. Fix a known test failure as well.
Merge commit '9a212adcffbc4b32d51f512889b33ba584647aa9' into froyo-plus-aosp * commit '9a212adcffbc4b32d51f512889b33ba584647aa9': Fix 2641875
-rwxr-xr-xcore/tests/coretests/src/android/content/pm/PackageManagerTests.java5
-rw-r--r--services/java/com/android/server/PackageManagerService.java4
2 files changed, 6 insertions, 3 deletions
diff --git a/core/tests/coretests/src/android/content/pm/PackageManagerTests.java b/core/tests/coretests/src/android/content/pm/PackageManagerTests.java
index 5571341ed6c0..c1e4d72068fc 100755
--- a/core/tests/coretests/src/android/content/pm/PackageManagerTests.java
+++ b/core/tests/coretests/src/android/content/pm/PackageManagerTests.java
@@ -1444,7 +1444,7 @@ public class PackageManagerTests extends AndroidTestCase {
int result = PackageManager.MOVE_FAILED_FORWARD_LOCKED;
sampleMoveFromRawResource(installFlags, moveFlags, fail, result);
}
- //TODO: To be reenabled after investigation
+ @MediumTest
public void testMoveAppFailInternalToExternalDelete() {
int installFlags = 0;
int moveFlags = PackageManager.MOVE_EXTERNAL_MEDIA;
@@ -1461,7 +1461,8 @@ public class PackageManagerTests extends AndroidTestCase {
ip = installFromRawResource("install.apk", R.raw.install, installFlags, false,
false, -1, PackageInfo.INSTALL_LOCATION_UNSPECIFIED);
// Delete the package now retaining data.
- pm.deletePackage(ip.pkg.packageName, null, PackageManager.DONT_DELETE_DATA);
+ GenericReceiver receiver = new DeleteReceiver(ip.pkg.packageName);
+ invokeDeletePackage(ip.pkg.packageName, PackageManager.DONT_DELETE_DATA, receiver);
assertTrue(invokeMovePackageFail(ip.pkg.packageName, moveFlags, result));
} catch (Exception e) {
failStr(e);
diff --git a/services/java/com/android/server/PackageManagerService.java b/services/java/com/android/server/PackageManagerService.java
index b646a24e30d0..df93215610e7 100644
--- a/services/java/com/android/server/PackageManagerService.java
+++ b/services/java/com/android/server/PackageManagerService.java
@@ -5057,7 +5057,8 @@ class PackageManagerService extends IPackageManager.Stub {
}
}
- private InstallArgs createInstallArgs(Uri packageURI, int flags, String pkgName) {
+ private InstallArgs createInstallArgs(Uri packageURI, int flags,
+ String pkgName) {
if (installOnSd(flags)) {
String cid = getNextCodePath(null, pkgName, "/" + SdInstallArgs.RES_FILE_NAME);
return new SdInstallArgs(packageURI, cid);
@@ -5317,6 +5318,7 @@ class PackageManagerService extends IPackageManager.Stub {
SdInstallArgs(String cid) {
super(null, null, PackageManager.INSTALL_EXTERNAL, null);
this.cid = cid;
+ cachePath = PackageHelper.getSdDir(cid);
}
SdInstallArgs(Uri packageURI, String cid) {