diff options
| author | 2017-02-15 21:43:38 +0000 | |
|---|---|---|
| committer | 2017-02-15 21:43:38 +0000 | |
| commit | c2f0d886f46ee5eb28011e1119fa9d23b073a64c (patch) | |
| tree | f6ff287b2eab2be7efecd10aaa4d34e865b8c59a | |
| parent | 4eb7cea562cd117e598a327ab4d93142589c1ae6 (diff) | |
Revert "remove app-ephemeral"
Bug: 35390781
This reverts commit 4eb7cea562cd117e598a327ab4d93142589c1ae6.
Change-Id: I94567d333b40f99f7a2573125259f4ab575a0519
3 files changed, 14 insertions, 0 deletions
diff --git a/core/java/android/os/Environment.java b/core/java/android/os/Environment.java index 39f4d428a230..7cdb3cec5dbb 100644 --- a/core/java/android/os/Environment.java +++ b/core/java/android/os/Environment.java @@ -311,6 +311,11 @@ public class Environment { } /** {@hide} */ + public static File getDataAppEphemeralDirectory(String volumeUuid) { + return new File(getDataDirectory(volumeUuid), "app-ephemeral"); + } + + /** {@hide} */ public static File getDataUserCeDirectory(String volumeUuid) { return new File(getDataDirectory(volumeUuid), "user"); } diff --git a/services/core/java/com/android/server/pm/PackageInstallerService.java b/services/core/java/com/android/server/pm/PackageInstallerService.java index 0df4570f87f2..eb42f809c0e8 100644 --- a/services/core/java/com/android/server/pm/PackageInstallerService.java +++ b/services/core/java/com/android/server/pm/PackageInstallerService.java @@ -787,6 +787,9 @@ public class PackageInstallerService extends IPackageInstaller.Stub { } private File buildStagingDir(String volumeUuid, boolean isEphemeral) { + if (isEphemeral) { + return Environment.getDataAppEphemeralDirectory(volumeUuid); + } return Environment.getDataAppDirectory(volumeUuid); } diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 814ba2176fd5..01db37c2d601 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -629,6 +629,7 @@ public class PackageManagerService extends IPackageManager.Stub { /** Directory where installed third-party apps stored */ final File mAppInstallDir; + final File mEphemeralInstallDir; /** * Directory to which applications installed internally have their @@ -2273,6 +2274,7 @@ public class PackageManagerService extends IPackageManager.Stub { File dataDir = Environment.getDataDirectory(); mAppInstallDir = new File(dataDir, "app"); mAppLib32InstallDir = new File(dataDir, "app-lib"); + mEphemeralInstallDir = new File(dataDir, "app-ephemeral"); mAsecInternalPath = new File(dataDir, "app-asec").getPath(); mDrmAppPrivateInstallDir = new File(dataDir, "app-private"); sUserManager = new UserManagerService(context, this, @@ -2576,6 +2578,10 @@ public class PackageManagerService extends IPackageManager.Stub { | PackageParser.PARSE_FORWARD_LOCK, scanFlags | SCAN_REQUIRE_KNOWN, 0); + scanDirLI(mEphemeralInstallDir, mDefParseFlags + | PackageParser.PARSE_IS_EPHEMERAL, + scanFlags | SCAN_REQUIRE_KNOWN, 0); + /** * Remove disable package settings for any updated system * apps that were removed via an OTA. If they're not a |