Add system API to install ephemeral apps
Test: manual; install using "adb install --ephemeral" Change-Id: Idce214779fea5f3c4a0121542319044f9f0e0a42
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -1066,6 +1066,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);
|
||||
|
||||
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user