diff --git a/Android.mk b/Android.mk index acff24a7..abe1b838 100644 --- a/Android.mk +++ b/Android.mk @@ -65,6 +65,7 @@ LOCAL_MODULE := librecovery_ui LOCAL_STATIC_LIBRARIES := \ libminui \ + libotautil \ libbase ifneq ($(TARGET_RECOVERY_UI_MARGIN_HEIGHT),) diff --git a/common.h b/common.h index 33c5ba08..de536fdb 100644 --- a/common.h +++ b/common.h @@ -48,6 +48,4 @@ void ui_print(const char* format, ...) __printflike(1, 2); bool is_ro_debuggable(); -bool reboot(const std::string& command); - #endif // RECOVERY_COMMON_H diff --git a/install.cpp b/install.cpp index 30fd2c6b..a4c6986a 100644 --- a/install.cpp +++ b/install.cpp @@ -49,10 +49,10 @@ #include #include "common.h" -#include "otautil/SysUtil.h" -#include "otautil/ThermalUtil.h" #include "otautil/error_code.h" #include "otautil/paths.h" +#include "otautil/sysutil.h" +#include "otautil/thermalutil.h" #include "private/install.h" #include "roots.h" #include "ui.h" diff --git a/otautil/Android.bp b/otautil/Android.bp index 572d8df8..b058f7b3 100644 --- a/otautil/Android.bp +++ b/otautil/Android.bp @@ -40,14 +40,15 @@ cc_library_static { target: { android: { srcs: [ - "DirUtil.cpp", - "SysUtil.cpp", - "ThermalUtil.cpp", + "dirutil.cpp", "mounts.cpp", + "sysutil.cpp", + "thermalutil.cpp", ], static_libs: [ "libselinux", + "libcutils", ], }, }, diff --git a/otautil/DirUtil.cpp b/otautil/dirutil.cpp similarity index 99% rename from otautil/DirUtil.cpp rename to otautil/dirutil.cpp index 61c83281..ae1cd5c2 100644 --- a/otautil/DirUtil.cpp +++ b/otautil/dirutil.cpp @@ -14,7 +14,7 @@ * limitations under the License. */ -#include "otautil/DirUtil.h" +#include "otautil/dirutil.h" #include #include diff --git a/otautil/include/otautil/DirUtil.h b/otautil/include/otautil/dirutil.h similarity index 100% rename from otautil/include/otautil/DirUtil.h rename to otautil/include/otautil/dirutil.h diff --git a/otautil/include/otautil/SysUtil.h b/otautil/include/otautil/sysutil.h similarity index 86% rename from otautil/include/otautil/SysUtil.h rename to otautil/include/otautil/sysutil.h index 52f6d20a..649f8ffa 100644 --- a/otautil/include/otautil/SysUtil.h +++ b/otautil/include/otautil/sysutil.h @@ -50,4 +50,8 @@ class MemMapping { std::vector ranges_; }; +// Wrapper function to trigger a reboot, by additionally handling quiescent reboot mode. The +// command should start with "reboot," (e.g. "reboot,bootloader" or "reboot,"). +bool reboot(const std::string& command); + #endif // _OTAUTIL_SYSUTIL diff --git a/otautil/include/otautil/ThermalUtil.h b/otautil/include/otautil/thermalutil.h similarity index 100% rename from otautil/include/otautil/ThermalUtil.h rename to otautil/include/otautil/thermalutil.h diff --git a/otautil/SysUtil.cpp b/otautil/sysutil.cpp similarity index 94% rename from otautil/SysUtil.cpp rename to otautil/sysutil.cpp index 48336ad0..ab151308 100644 --- a/otautil/SysUtil.cpp +++ b/otautil/sysutil.cpp @@ -14,7 +14,7 @@ * limitations under the License. */ -#include "otautil/SysUtil.h" +#include "otautil/sysutil.h" #include // TEMP_FAILURE_RETRY #include @@ -28,8 +28,10 @@ #include #include +#include #include #include +#include bool MemMapping::MapFD(int fd) { struct stat sb; @@ -201,3 +203,11 @@ MemMapping::~MemMapping() { }; ranges_.clear(); } + +bool reboot(const std::string& command) { + std::string cmd = command; + if (android::base::GetBoolProperty("ro.boot.quiescent", false)) { + cmd += ",quiescent"; + } + return android::base::SetProperty(ANDROID_RB_PROPERTY, cmd); +} diff --git a/otautil/ThermalUtil.cpp b/otautil/thermalutil.cpp similarity index 98% rename from otautil/ThermalUtil.cpp rename to otautil/thermalutil.cpp index 5d9bd45c..4660e057 100644 --- a/otautil/ThermalUtil.cpp +++ b/otautil/thermalutil.cpp @@ -14,7 +14,7 @@ * limitations under the License. */ -#include "otautil/ThermalUtil.h" +#include "otautil/thermalutil.h" #include #include diff --git a/recovery.cpp b/recovery.cpp index 890f99c5..7219771c 100644 --- a/recovery.cpp +++ b/recovery.cpp @@ -67,9 +67,10 @@ #include "fuse_sideload.h" #include "install.h" #include "minui/minui.h" -#include "otautil/DirUtil.h" +#include "otautil/dirutil.h" #include "otautil/error_code.h" #include "otautil/paths.h" +#include "otautil/sysutil.h" #include "roots.h" #include "rotate_logs.h" #include "screen_ui.h" @@ -177,14 +178,6 @@ bool is_ro_debuggable() { return android::base::GetBoolProperty("ro.debuggable", false); } -bool reboot(const std::string& command) { - std::string cmd = command; - if (android::base::GetBoolProperty("ro.boot.quiescent", false)) { - cmd += ",quiescent"; - } - return android::base::SetProperty(ANDROID_RB_PROPERTY, cmd); -} - // command line args come from, in decreasing precedence: // - the actual command line // - the bootloader control block (one per line, after "recovery") diff --git a/tests/component/updater_test.cpp b/tests/component/updater_test.cpp index 5d3b2d99..48363a62 100644 --- a/tests/component/updater_test.cpp +++ b/tests/component/updater_test.cpp @@ -40,10 +40,10 @@ #include "common/test_constants.h" #include "edify/expr.h" -#include "otautil/SysUtil.h" #include "otautil/error_code.h" #include "otautil/paths.h" #include "otautil/print_sha1.h" +#include "otautil/sysutil.h" #include "updater/blockimg.h" #include "updater/install.h" #include "updater/updater.h" diff --git a/tests/component/verifier_test.cpp b/tests/component/verifier_test.cpp index 2ef3828a..3246ecdb 100644 --- a/tests/component/verifier_test.cpp +++ b/tests/component/verifier_test.cpp @@ -16,7 +16,6 @@ #include #include -#include #include #include #include @@ -28,9 +27,10 @@ #include #include #include +#include #include "common/test_constants.h" -#include "otautil/SysUtil.h" +#include "otautil/sysutil.h" #include "verifier.h" using namespace std::string_literals; diff --git a/tests/unit/dirutil_test.cpp b/tests/unit/dirutil_test.cpp index 7f85d13e..1ca786c2 100644 --- a/tests/unit/dirutil_test.cpp +++ b/tests/unit/dirutil_test.cpp @@ -22,7 +22,8 @@ #include #include -#include + +#include "otautil/dirutil.h" TEST(DirUtilTest, create_invalid) { // Requesting to create an empty dir is invalid. diff --git a/tests/unit/sysutil_test.cpp b/tests/unit/sysutil_test.cpp index 434ee25b..19fa4c59 100644 --- a/tests/unit/sysutil_test.cpp +++ b/tests/unit/sysutil_test.cpp @@ -14,14 +14,13 @@ * limitations under the License. */ -#include - #include #include #include +#include -#include "otautil/SysUtil.h" +#include "otautil/sysutil.h" TEST(SysUtilTest, InvalidArgs) { MemMapping mapping; diff --git a/tests/unit/zip_test.cpp b/tests/unit/zip_test.cpp index 82766852..47f33d9e 100644 --- a/tests/unit/zip_test.cpp +++ b/tests/unit/zip_test.cpp @@ -23,10 +23,10 @@ #include #include #include -#include #include #include "common/test_constants.h" +#include "otautil/sysutil.h" TEST(ZipTest, OpenFromMemory) { std::string zip_path = from_testdata_base("ziptest_dummy-update.zip"); diff --git a/ui.cpp b/ui.cpp index 3c9ded73..8983d769 100644 --- a/ui.cpp +++ b/ui.cpp @@ -36,14 +36,12 @@ #include #include #include -#include #include -#include #include -#include "common.h" -#include "roots.h" #include "device.h" +#include "otautil/sysutil.h" +#include "roots.h" static constexpr int UI_WAIT_KEY_TIMEOUT_SEC = 120; static constexpr const char* BRIGHTNESS_FILE = "/sys/class/leds/lcd-backlight/brightness"; diff --git a/updater/install.cpp b/updater/install.cpp index 5623c337..bd22467a 100644 --- a/updater/install.cpp +++ b/updater/install.cpp @@ -48,7 +48,6 @@ #include #include #include -#include #include #include #include @@ -58,10 +57,11 @@ #include "edify/expr.h" #include "otafault/ota_io.h" -#include "otautil/DirUtil.h" +#include "otautil/dirutil.h" #include "otautil/error_code.h" #include "otautil/mounts.h" #include "otautil/print_sha1.h" +#include "otautil/sysutil.h" #include "updater/updater.h" // Send over the buffer to recovery though the command pipe. @@ -874,11 +874,7 @@ Value* RebootNowFn(const char* name, State* state, const std::vector