summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jeff Sharkey <jsharkey@android.com> 2015-07-21 00:14:13 +0000
committer Android Git Automerger <android-git-automerger@android.com> 2015-07-21 00:14:13 +0000
commit527dfdfa72e319d11013ab9c7bf79af42fa91ad7 (patch)
tree4c95ae31b542247c5f72bfb4d206b5fba7ff9fb2
parentbd04eaa950b06cf083df475b39483afea6ccc6a9 (diff)
parentd4dc87569fcc608f8065395c98ac956a3d11a79a (diff)
am d4dc8756: am 4524184c: am f811d7fc: am fe7a311c: am 35ba2cdb: Merge "Inherit ABI when moving existing install." into mnc-dev
* commit 'd4dc87569fcc608f8065395c98ac956a3d11a79a': Inherit ABI when moving existing install.
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerService.java14
1 files changed, 14 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index b5b360eefbe0..2f8eff4fd1c0 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -12273,6 +12273,20 @@ public class PackageManagerService extends IPackageManager.Stub {
// We did an in-place move, so dex is ready to roll
scanFlags |= SCAN_NO_DEX;
scanFlags |= SCAN_MOVE;
+
+ synchronized (mPackages) {
+ final PackageSetting ps = mSettings.mPackages.get(pkgName);
+ if (ps == null) {
+ res.setError(INSTALL_FAILED_INTERNAL_ERROR,
+ "Missing settings for moved package " + pkgName);
+ }
+
+ // We moved the entire application as-is, so bring over the
+ // previously derived ABI information.
+ pkg.applicationInfo.primaryCpuAbi = ps.primaryCpuAbiString;
+ pkg.applicationInfo.secondaryCpuAbi = ps.secondaryCpuAbiString;
+ }
+
} else if (!forwardLocked && !pkg.applicationInfo.isExternalAsec()) {
// Enable SCAN_NO_DEX flag to skip dexopt at a later stage
scanFlags |= SCAN_NO_DEX;