diff options
author | Jeff Sharkey <jsharkey@android.com> | 2015-10-20 17:32:01 -0700 |
---|---|---|
committer | Jeff Sharkey <jsharkey@android.com> | 2015-10-20 17:32:05 -0700 |
commit | bbcb3312050dc89385e70e96fee7d88fbcb4e794 (patch) | |
tree | b781be4d6a863d3f20c96a54a2b305b21f22bff5 /services | |
parent | a11234794acbc94e4808b7dd57f8337b1aa51f1f (diff) | |
download | frameworks_base-bbcb3312050dc89385e70e96fee7d88fbcb4e794.zip frameworks_base-bbcb3312050dc89385e70e96fee7d88fbcb4e794.tar.gz frameworks_base-bbcb3312050dc89385e70e96fee7d88fbcb4e794.tar.bz2 |
Correctly derive ABI for apps on adopted media.
There was a bug causing PackageManager to think apps on adopted media
were actually in an ASEC, causing it to skip ABI derivation. This
change fixes the issue by copying the volume UUID into place early
in the scanning process.
Also fixes two places where we had incorrectly been including apps
on adopted media; switched them to check only for ASECs.
Bug: 24583803
Change-Id: If66d1bce02824a4d8e22f741b04a2abda0378cfb
Diffstat (limited to 'services')
-rw-r--r-- | services/core/java/com/android/server/pm/PackageManagerService.java | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 313972b..26a1f92 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -7551,8 +7551,8 @@ public class PackageManagerService extends IPackageManager.Stub { // We would never need to extract libs for forward-locked and external packages, // since the container service will do it for us. We shouldn't attempt to // extract libs from system app when it was not updated. - if (pkg.isForwardLocked() || isExternal(pkg) || - (isSystemApp(pkg) && !pkg.isUpdatedSystemApp()) ) { + if (pkg.isForwardLocked() || pkg.applicationInfo.isExternalAsec() || + (isSystemApp(pkg) && !pkg.isUpdatedSystemApp())) { extractLibs = false; } @@ -7829,7 +7829,7 @@ public class PackageManagerService extends IPackageManager.Stub { final String codePath = pkg.codePath; final File codeFile = new File(codePath); final boolean bundledApp = info.isSystemApp() && !info.isUpdatedSystemApp(); - final boolean asecApp = info.isForwardLocked() || isExternal(info); + final boolean asecApp = info.isForwardLocked() || info.isExternalAsec(); info.nativeLibraryRootDir = null; info.nativeLibraryRootRequiresIsa = false; @@ -13647,7 +13647,7 @@ public class PackageManagerService extends IPackageManager.Stub { if (ps != null) { libDirRoot = ps.legacyNativeLibraryPathString; } - if (p != null && (isExternal(p) || p.isForwardLocked())) { + if (p != null && (p.isForwardLocked() || p.applicationInfo.isExternalAsec())) { final long token = Binder.clearCallingIdentity(); try { String secureContainerId = cidFromCodePath(p.applicationInfo.getBaseCodePath()); |