diff options
| -rw-r--r-- | services/java/com/android/server/pm/PackageManagerService.java | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/services/java/com/android/server/pm/PackageManagerService.java b/services/java/com/android/server/pm/PackageManagerService.java index 88f5ec52f8dc..778e1d8f9209 100644 --- a/services/java/com/android/server/pm/PackageManagerService.java +++ b/services/java/com/android/server/pm/PackageManagerService.java @@ -7839,7 +7839,7 @@ public class PackageManagerService extends IPackageManager.Stub { } p = ps.pkg; } - if (p != null && isExternal(p)) { + if (p != null && (isExternal(p) || isForwardLocked(p))) { String secureContainerId = cidFromCodePath(p.applicationInfo.sourceDir); if (secureContainerId != null) { asecPath = PackageHelper.getSdFilesystem(secureContainerId); @@ -7862,6 +7862,13 @@ public class PackageManagerService extends IPackageManager.Stub { if (res < 0) { return false; } + + // Fix-up for forward-locked applications in ASEC containers. + if (!isExternal(p)) { + pStats.codeSize += pStats.externalCodeSize; + pStats.externalCodeSize = 0L; + } + return true; } |