diff options
| author | 2020-01-18 01:20:42 +0000 | |
|---|---|---|
| committer | 2020-01-18 01:24:34 +0000 | |
| commit | 62d918cbc0c6f3bd911f01e9607f11e7dfbb219e (patch) | |
| tree | 2f900c1b9091728252831b623af616fa5e9ec42b | |
| parent | 880792723ab6eb5ee2d8aa34b6a6d47cf5b23af1 (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.java | 11 |
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); } |