summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--api/system-current.txt1
-rw-r--r--cmds/pm/src/com/android/commands/pm/Pm.java2
-rw-r--r--core/java/android/content/pm/PackageInstaller.java10
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerShellCommand.java2
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());