Merge "PackageManagerShellCommand: implicitly add --wait for staged installs"

This commit is contained in:
Nikita Ioffe
2020-01-21 23:16:42 +00:00
committed by Gerrit Code Review

View File

@@ -1159,7 +1159,7 @@ class PackageManagerShellCommand extends ShellCommand {
} }
abandonSession = false; abandonSession = false;
if (!params.sessionParams.isStaged || !params.waitForStagedSessionReady) { if (!params.sessionParams.isStaged || !params.mWaitForStagedSessionReady) {
pw.println("Success"); pw.println("Success");
return 0; return 0;
} }
@@ -1197,7 +1197,7 @@ class PackageManagerShellCommand extends ShellCommand {
+ si.getStagedSessionErrorMessage() + "]"); + si.getStagedSessionErrorMessage() + "]");
return 1; return 1;
} }
pw.println("Success"); pw.println("Success. Reboot device to apply staged session");
return 0; return 0;
} finally { } finally {
if (abandonSession) { if (abandonSession) {
@@ -2487,7 +2487,7 @@ class PackageManagerShellCommand extends ShellCommand {
SessionParams sessionParams; SessionParams sessionParams;
String installerPackageName; String installerPackageName;
int userId = UserHandle.USER_ALL; int userId = UserHandle.USER_ALL;
boolean waitForStagedSessionReady = false; boolean mWaitForStagedSessionReady = true;
long timeoutMs = DEFAULT_WAIT_MS; long timeoutMs = DEFAULT_WAIT_MS;
} }
@@ -2615,13 +2615,16 @@ class PackageManagerShellCommand extends ShellCommand {
sessionParams.installFlags |= PackageManager.INSTALL_ENABLE_ROLLBACK; sessionParams.installFlags |= PackageManager.INSTALL_ENABLE_ROLLBACK;
break; break;
case "--wait": case "--wait":
params.waitForStagedSessionReady = true; params.mWaitForStagedSessionReady = true;
try { try {
params.timeoutMs = Long.parseLong(peekNextArg()); params.timeoutMs = Long.parseLong(peekNextArg());
getNextArg(); getNextArg();
} catch (NumberFormatException ignore) { } catch (NumberFormatException ignore) {
} }
break; break;
case "--no-wait":
params.mWaitForStagedSessionReady = false;
break;
default: default:
throw new IllegalArgumentException("Unknown option " + opt); throw new IllegalArgumentException("Unknown option " + opt);
} }