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.

Change-Id: I63219369b0e7abca4919fbde2a04035a0fea9e35
This commit is contained in:
Suchi Amalapurapu
2010-05-18 11:06:53 -07:00
parent 5f1d100298
commit 9a212adcff
2 changed files with 6 additions and 3 deletions

View File

@@ -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);

View File

@@ -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) {