Merge "pm install: clarify when --multi-package can be used" am: 1004623ba1 am: 5a07f14951
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2015636 Change-Id: I9a4369c754d658619310b99c3663d64dcff4c498
This commit is contained in:
@@ -129,6 +129,7 @@ import java.util.Comparator;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.Set;
|
||||||
import java.util.WeakHashMap;
|
import java.util.WeakHashMap;
|
||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
import java.util.concurrent.CountDownLatch;
|
import java.util.concurrent.CountDownLatch;
|
||||||
@@ -142,6 +143,10 @@ class PackageManagerShellCommand extends ShellCommand {
|
|||||||
private final static String ART_PROFILE_SNAPSHOT_DEBUG_LOCATION = "/data/misc/profman/";
|
private final static String ART_PROFILE_SNAPSHOT_DEBUG_LOCATION = "/data/misc/profman/";
|
||||||
private static final int DEFAULT_STAGED_READY_TIMEOUT_MS = 60 * 1000;
|
private static final int DEFAULT_STAGED_READY_TIMEOUT_MS = 60 * 1000;
|
||||||
private static final String TAG = "PackageManagerShellCommand";
|
private static final String TAG = "PackageManagerShellCommand";
|
||||||
|
private static final Set<String> UNSUPPORTED_INSTALL_CMD_OPTS = Set.of(
|
||||||
|
"--multi-package"
|
||||||
|
);
|
||||||
|
private static final Set<String> UNSUPPORTED_SESSION_CREATE_OPTS = Collections.emptySet();
|
||||||
|
|
||||||
final IPackageManager mInterface;
|
final IPackageManager mInterface;
|
||||||
final LegacyPermissionManagerInternal mLegacyPermissionManager;
|
final LegacyPermissionManagerInternal mLegacyPermissionManager;
|
||||||
@@ -1282,7 +1287,7 @@ class PackageManagerShellCommand extends ShellCommand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private int runStreamingInstall() throws RemoteException {
|
private int runStreamingInstall() throws RemoteException {
|
||||||
final InstallParams params = makeInstallParams();
|
final InstallParams params = makeInstallParams(UNSUPPORTED_INSTALL_CMD_OPTS);
|
||||||
if (params.sessionParams.dataLoaderParams == null) {
|
if (params.sessionParams.dataLoaderParams == null) {
|
||||||
params.sessionParams.setDataLoaderParams(
|
params.sessionParams.setDataLoaderParams(
|
||||||
PackageManagerShellCommandDataLoader.getStreamingDataLoaderParams(this));
|
PackageManagerShellCommandDataLoader.getStreamingDataLoaderParams(this));
|
||||||
@@ -1291,7 +1296,7 @@ class PackageManagerShellCommand extends ShellCommand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private int runIncrementalInstall() throws RemoteException {
|
private int runIncrementalInstall() throws RemoteException {
|
||||||
final InstallParams params = makeInstallParams();
|
final InstallParams params = makeInstallParams(UNSUPPORTED_INSTALL_CMD_OPTS);
|
||||||
if (params.sessionParams.dataLoaderParams == null) {
|
if (params.sessionParams.dataLoaderParams == null) {
|
||||||
params.sessionParams.setDataLoaderParams(
|
params.sessionParams.setDataLoaderParams(
|
||||||
PackageManagerShellCommandDataLoader.getIncrementalDataLoaderParams(this));
|
PackageManagerShellCommandDataLoader.getIncrementalDataLoaderParams(this));
|
||||||
@@ -1300,7 +1305,7 @@ class PackageManagerShellCommand extends ShellCommand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private int runInstall() throws RemoteException {
|
private int runInstall() throws RemoteException {
|
||||||
return doRunInstall(makeInstallParams());
|
return doRunInstall(makeInstallParams(UNSUPPORTED_INSTALL_CMD_OPTS));
|
||||||
}
|
}
|
||||||
|
|
||||||
private int doRunInstall(final InstallParams params) throws RemoteException {
|
private int doRunInstall(final InstallParams params) throws RemoteException {
|
||||||
@@ -1452,7 +1457,7 @@ class PackageManagerShellCommand extends ShellCommand {
|
|||||||
|
|
||||||
private int runInstallCreate() throws RemoteException {
|
private int runInstallCreate() throws RemoteException {
|
||||||
final PrintWriter pw = getOutPrintWriter();
|
final PrintWriter pw = getOutPrintWriter();
|
||||||
final InstallParams installParams = makeInstallParams();
|
final InstallParams installParams = makeInstallParams(UNSUPPORTED_SESSION_CREATE_OPTS);
|
||||||
final int sessionId = doCreateSession(installParams.sessionParams,
|
final int sessionId = doCreateSession(installParams.sessionParams,
|
||||||
installParams.installerPackageName, installParams.userId);
|
installParams.installerPackageName, installParams.userId);
|
||||||
|
|
||||||
@@ -2764,7 +2769,7 @@ class PackageManagerShellCommand extends ShellCommand {
|
|||||||
long stagedReadyTimeoutMs = DEFAULT_STAGED_READY_TIMEOUT_MS;
|
long stagedReadyTimeoutMs = DEFAULT_STAGED_READY_TIMEOUT_MS;
|
||||||
}
|
}
|
||||||
|
|
||||||
private InstallParams makeInstallParams() {
|
private InstallParams makeInstallParams(Set<String> unsupportedOptions) {
|
||||||
final SessionParams sessionParams = new SessionParams(SessionParams.MODE_FULL_INSTALL);
|
final SessionParams sessionParams = new SessionParams(SessionParams.MODE_FULL_INSTALL);
|
||||||
final InstallParams params = new InstallParams();
|
final InstallParams params = new InstallParams();
|
||||||
|
|
||||||
@@ -2776,6 +2781,9 @@ class PackageManagerShellCommand extends ShellCommand {
|
|||||||
boolean replaceExisting = true;
|
boolean replaceExisting = true;
|
||||||
boolean forceNonStaged = false;
|
boolean forceNonStaged = false;
|
||||||
while ((opt = getNextOption()) != null) {
|
while ((opt = getNextOption()) != null) {
|
||||||
|
if (unsupportedOptions.contains(opt)) {
|
||||||
|
throw new IllegalArgumentException("Unsupported option " + opt);
|
||||||
|
}
|
||||||
switch (opt) {
|
switch (opt) {
|
||||||
case "-r": // ignore
|
case "-r": // ignore
|
||||||
break;
|
break;
|
||||||
@@ -3674,7 +3682,7 @@ class PackageManagerShellCommand extends ShellCommand {
|
|||||||
pw.println(" [--user USER_ID] INTENT");
|
pw.println(" [--user USER_ID] INTENT");
|
||||||
pw.println(" Prints all broadcast receivers that can handle the given INTENT.");
|
pw.println(" Prints all broadcast receivers that can handle the given INTENT.");
|
||||||
pw.println("");
|
pw.println("");
|
||||||
pw.println(" install [-rtfdgw] [-i PACKAGE] [--user USER_ID|all|current]");
|
pw.println(" install [-rtfdg] [-i PACKAGE] [--user USER_ID|all|current]");
|
||||||
pw.println(" [-p INHERIT_PACKAGE] [--install-location 0/1/2]");
|
pw.println(" [-p INHERIT_PACKAGE] [--install-location 0/1/2]");
|
||||||
pw.println(" [--install-reason 0/1/2/3/4] [--originating-uri URI]");
|
pw.println(" [--install-reason 0/1/2/3/4] [--originating-uri URI]");
|
||||||
pw.println(" [--referrer URI] [--abi ABI_NAME] [--force-sdk]");
|
pw.println(" [--referrer URI] [--abi ABI_NAME] [--force-sdk]");
|
||||||
|
|||||||
Reference in New Issue
Block a user