am 0d616883: Merge "Fix moving of apps into legacy ASEC." into mnc-dev

* commit '0d6168835a6114a9e346278e4613e9175a907fd3':
  Fix moving of apps into legacy ASEC.
This commit is contained in:
Jeff Sharkey
2015-08-04 23:38:27 +00:00
committed by Android Git Automerger

View File

@@ -15814,10 +15814,15 @@ public class PackageManagerService extends IPackageManager.Stub {
"Cannot move system application"); "Cannot move system application");
} }
if (Objects.equals(ps.volumeUuid, volumeUuid)) { if (pkg.applicationInfo.isExternalAsec()) {
throw new PackageManagerException(MOVE_FAILED_INTERNAL_ERROR, currentAsec = true;
"Package already moved to " + volumeUuid); currentVolumeUuid = StorageManager.UUID_PRIMARY_PHYSICAL;
} } else if (pkg.applicationInfo.isForwardLocked()) {
currentAsec = true;
currentVolumeUuid = "forward_locked";
} else {
currentAsec = false;
currentVolumeUuid = ps.volumeUuid;
final File probe = new File(pkg.codePath); final File probe = new File(pkg.codePath);
final File probeOat = new File(probe, "oat"); final File probeOat = new File(probe, "oat");
@@ -15825,6 +15830,12 @@ public class PackageManagerService extends IPackageManager.Stub {
throw new PackageManagerException(MOVE_FAILED_INTERNAL_ERROR, throw new PackageManagerException(MOVE_FAILED_INTERNAL_ERROR,
"Move only supported for modern cluster style installs"); "Move only supported for modern cluster style installs");
} }
}
if (Objects.equals(currentVolumeUuid, volumeUuid)) {
throw new PackageManagerException(MOVE_FAILED_INTERNAL_ERROR,
"Package already moved to " + volumeUuid);
}
if (ps.frozen) { if (ps.frozen) {
throw new PackageManagerException(MOVE_FAILED_OPERATION_PENDING, throw new PackageManagerException(MOVE_FAILED_OPERATION_PENDING,
@@ -15832,9 +15843,6 @@ public class PackageManagerService extends IPackageManager.Stub {
} }
ps.frozen = true; ps.frozen = true;
currentAsec = pkg.applicationInfo.isForwardLocked()
|| pkg.applicationInfo.isExternalAsec();
currentVolumeUuid = ps.volumeUuid;
codeFile = new File(pkg.codePath); codeFile = new File(pkg.codePath);
installerPackageName = ps.installerPackageName; installerPackageName = ps.installerPackageName;
packageAbiOverride = ps.cpuAbiOverrideString; packageAbiOverride = ps.cpuAbiOverrideString;