diff options
author | Tao Bao <tbao@google.com> | 2019-04-30 00:24:38 +0200 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2019-04-30 00:24:38 +0200 |
commit | b0c3c15639187d51572a0b077c117fa8e47631aa (patch) | |
tree | f1dc939213892d4be03e23dbd8b7de127b7ea147 /otautil/sysutil.cpp | |
parent | [automerger skipped] Parse BCB command to enter rescue mode. (diff) | |
parent | Merge "Consolidate the codes that handle reboot/shutdown." (diff) | |
download | android_bootable_recovery-b0c3c15639187d51572a0b077c117fa8e47631aa.tar android_bootable_recovery-b0c3c15639187d51572a0b077c117fa8e47631aa.tar.gz android_bootable_recovery-b0c3c15639187d51572a0b077c117fa8e47631aa.tar.bz2 android_bootable_recovery-b0c3c15639187d51572a0b077c117fa8e47631aa.tar.lz android_bootable_recovery-b0c3c15639187d51572a0b077c117fa8e47631aa.tar.xz android_bootable_recovery-b0c3c15639187d51572a0b077c117fa8e47631aa.tar.zst android_bootable_recovery-b0c3c15639187d51572a0b077c117fa8e47631aa.zip |
Diffstat (limited to 'otautil/sysutil.cpp')
-rw-r--r-- | otautil/sysutil.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/otautil/sysutil.cpp b/otautil/sysutil.cpp index 8366fa0ac..2b4861809 100644 --- a/otautil/sysutil.cpp +++ b/otautil/sysutil.cpp @@ -214,14 +214,21 @@ MemMapping::~MemMapping() { ranges_.clear(); } -bool reboot(const std::string& command) { - std::string cmd = command; - if (android::base::GetBoolProperty("ro.boot.quiescent", false)) { +bool Reboot(std::string_view target) { + std::string cmd = "reboot," + std::string(target); + // Honor the quiescent mode if applicable. + if (target != "bootloader" && target != "fastboot" && + android::base::GetBoolProperty("ro.boot.quiescent", false)) { cmd += ",quiescent"; } return android::base::SetProperty(ANDROID_RB_PROPERTY, cmd); } +bool Shutdown() { + // "shutdown" doesn't need a "reason" arg nor a comma. + return android::base::SetProperty(ANDROID_RB_PROPERTY, "shutdown"); +} + std::vector<char*> StringVectorToNullTerminatedArray(const std::vector<std::string>& args) { std::vector<char*> result(args.size()); std::transform(args.cbegin(), args.cend(), result.begin(), |