diff options
-rw-r--r-- | api/system-current.txt | 1 | ||||
-rw-r--r-- | cmds/pm/src/com/android/commands/pm/Pm.java | 2 | ||||
-rw-r--r-- | core/java/android/content/pm/PackageInstaller.java | 10 | ||||
-rw-r--r-- | services/core/java/com/android/server/pm/PackageManagerShellCommand.java | 2 |
4 files changed, 13 insertions, 2 deletions
diff --git a/api/system-current.txt b/api/system-current.txt index 7a287df833f6..9d113dbb0685 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -10236,6 +10236,7 @@ package android.content.pm { method public void setAppPackageName(java.lang.String); method public void setDontKillApp(boolean); method public void setGrantedRuntimePermissions(java.lang.String[]); + method public void setInstallAsInstantApp(boolean); method public void setInstallLocation(int); method public void setOriginatingUid(int); method public void setOriginatingUri(android.net.Uri); diff --git a/cmds/pm/src/com/android/commands/pm/Pm.java b/cmds/pm/src/com/android/commands/pm/Pm.java index 50f46f4007d3..810d20187ee4 100644 --- a/cmds/pm/src/com/android/commands/pm/Pm.java +++ b/cmds/pm/src/com/android/commands/pm/Pm.java @@ -553,7 +553,7 @@ public final class Pm { sessionParams.abiOverride = checkAbiArgument(nextOptionData()); break; case "--ephemeral": - sessionParams.installFlags |= PackageManager.INSTALL_EPHEMERAL; + sessionParams.setInstallAsInstantApp(true /*isInstantApp*/); break; case "--user": params.userId = UserHandle.parseUserArg(nextOptionData()); diff --git a/core/java/android/content/pm/PackageInstaller.java b/core/java/android/content/pm/PackageInstaller.java index ed8143e36f03..646bd3c8e78b 100644 --- a/core/java/android/content/pm/PackageInstaller.java +++ b/core/java/android/content/pm/PackageInstaller.java @@ -1067,6 +1067,16 @@ public class PackageInstaller { } /** {@hide} */ + @SystemApi + public void setInstallAsInstantApp(boolean isInstantApp) { + if (isInstantApp) { + installFlags |= PackageManager.INSTALL_EPHEMERAL; + } else { + installFlags &= ~PackageManager.INSTALL_EPHEMERAL; + } + } + + /** {@hide} */ public void dump(IndentingPrintWriter pw) { pw.printPair("mode", mode); pw.printHexPair("installFlags", installFlags); diff --git a/services/core/java/com/android/server/pm/PackageManagerShellCommand.java b/services/core/java/com/android/server/pm/PackageManagerShellCommand.java index 7938a1289280..2751742ff875 100644 --- a/services/core/java/com/android/server/pm/PackageManagerShellCommand.java +++ b/services/core/java/com/android/server/pm/PackageManagerShellCommand.java @@ -1109,7 +1109,7 @@ class PackageManagerShellCommand extends ShellCommand { sessionParams.abiOverride = checkAbiArgument(getNextArg()); break; case "--ephemeral": - sessionParams.installFlags |= PackageManager.INSTALL_EPHEMERAL; + sessionParams.setInstallAsInstantApp(true /*isInstantApp*/); break; case "--user": params.userId = UserHandle.parseUserArg(getNextArgRequired()); |