summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Nikita Ioffe <ioffe@google.com> 2020-01-18 01:20:42 +0000
committer Nikita Ioffe <ioffe@google.com> 2020-01-18 01:24:34 +0000
commit62d918cbc0c6f3bd911f01e9607f11e7dfbb219e (patch)
tree2f900c1b9091728252831b623af616fa5e9ec42b
parent880792723ab6eb5ee2d8aa34b6a6d47cf5b23af1 (diff)
PackageManagerShellCommand: implicitly add --wait for staged installs
Add --no-wait flag to opt-out from the waiting logic. Also changed the prompt to remind developer to reboot a device to apply an install. Test: adb install system/apex/shim/com.android.apex.cts.shim.v2.apex Test: adb shell pm install-abandon Test: adb install --no-wait system/apex/shim/com.android.apex.cts.shim.v2.apex Bug: 147694315 Change-Id: Ic79905422935d85308d6d57a44005e71a706f2d3
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerShellCommand.java11
1 files changed, 7 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerShellCommand.java b/services/core/java/com/android/server/pm/PackageManagerShellCommand.java
index e991a91fe8ba..609a41560e7b 100644
--- a/services/core/java/com/android/server/pm/PackageManagerShellCommand.java
+++ b/services/core/java/com/android/server/pm/PackageManagerShellCommand.java
@@ -1159,7 +1159,7 @@ class PackageManagerShellCommand extends ShellCommand {
}
abandonSession = false;
- if (!params.sessionParams.isStaged || !params.waitForStagedSessionReady) {
+ if (!params.sessionParams.isStaged || !params.mWaitForStagedSessionReady) {
pw.println("Success");
return 0;
}
@@ -1197,7 +1197,7 @@ class PackageManagerShellCommand extends ShellCommand {
+ si.getStagedSessionErrorMessage() + "]");
return 1;
}
- pw.println("Success");
+ pw.println("Success. Reboot device to apply staged session");
return 0;
} finally {
if (abandonSession) {
@@ -2487,7 +2487,7 @@ class PackageManagerShellCommand extends ShellCommand {
SessionParams sessionParams;
String installerPackageName;
int userId = UserHandle.USER_ALL;
- boolean waitForStagedSessionReady = false;
+ boolean mWaitForStagedSessionReady = true;
long timeoutMs = DEFAULT_WAIT_MS;
}
@@ -2615,13 +2615,16 @@ class PackageManagerShellCommand extends ShellCommand {
sessionParams.installFlags |= PackageManager.INSTALL_ENABLE_ROLLBACK;
break;
case "--wait":
- params.waitForStagedSessionReady = true;
+ params.mWaitForStagedSessionReady = true;
try {
params.timeoutMs = Long.parseLong(peekNextArg());
getNextArg();
} catch (NumberFormatException ignore) {
}
break;
+ case "--no-wait":
+ params.mWaitForStagedSessionReady = false;
+ break;
default:
throw new IllegalArgumentException("Unknown option " + opt);
}