Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b7717682 authored by Todd Kennedy's avatar Todd Kennedy
Browse files

Add system API to install ephemeral apps

Test: manual; install using "adb install --ephemeral"
Change-Id: Idce214779fea5f3c4a0121542319044f9f0e0a42
parent 5686ade0
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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);
+1 −1
Original line number Diff line number Diff line
@@ -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());
+10 −0
Original line number Diff line number Diff line
@@ -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);
+1 −1
Original line number Diff line number Diff line
@@ -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());