From 782dcc1996f6b39ef9e085d7153c2f109ff2609a Mon Sep 17 00:00:00 2001 From: Tao Bao Date: Mon, 29 Apr 2019 11:23:16 -0700 Subject: Consolidate the codes that handle reboot/shutdown. Test: Choose `Reboot system now`, `Power off`, `Reboot to bootloader` from recovery UI respectively. Test: `adb reboot recovery` while under sideload mode. Change-Id: I0f3d55b80b472178ea4f6970b29cd9df0778b639 --- otautil/sysutil.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'otautil/sysutil.cpp') 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 StringVectorToNullTerminatedArray(const std::vector& args) { std::vector result(args.size()); std::transform(args.cbegin(), args.cend(), result.begin(), -- cgit v1.2.3