From cf60a44bd497599363c0efcab23eb6be376c741f Mon Sep 17 00:00:00 2001 From: Tao Bao Date: Mon, 18 Jun 2018 14:56:20 -0700 Subject: Drop the dependency on AB_OTA_UPDATER flag. This shortens the gap between A/B and non-A/B builds, by replacing the dependency on build-time flag with runtime detection instead. It also allows building and testing both paths regardless of the target OTA type. The size increase to /sbin/recovery looks negligible (< 0.01%). - marlin: increased from 2084928 to 2085024; - angler: increased from 2084776 to 2084896. Test: Run recovery_component_test on angler and marlin. Test: Sideload an A/B OTA package on marlin. Test: Sideload a non-A/B OTA package on angler. Change-Id: I1d927d1ede9713fb42f73b4fe324aa5705ee6f99 --- otautil/include/otautil/paths.h | 10 ++++++++++ otautil/paths.cpp | 4 +++- 2 files changed, 13 insertions(+), 1 deletion(-) (limited to 'otautil') diff --git a/otautil/include/otautil/paths.h b/otautil/include/otautil/paths.h index 39088f100..f95741a24 100644 --- a/otautil/include/otautil/paths.h +++ b/otautil/include/otautil/paths.h @@ -76,6 +76,13 @@ class Paths { temporary_log_file_ = log_file; } + std::string temporary_update_binary() const { + return temporary_update_binary_; + } + void set_temporary_update_binary(const std::string& update_binary) { + temporary_update_binary_ = update_binary; + } + private: Paths(); DISALLOW_COPY_AND_ASSIGN(Paths); @@ -103,6 +110,9 @@ class Paths { // Path to the temporary log file while under recovery. std::string temporary_log_file_; + + // Path to the temporary update binary while installing a non-A/B package. + std::string temporary_update_binary_; }; #endif // _OTAUTIL_PATHS_H_ diff --git a/otautil/paths.cpp b/otautil/paths.cpp index f08e51c7a..33ab4a5d4 100644 --- a/otautil/paths.cpp +++ b/otautil/paths.cpp @@ -23,6 +23,7 @@ constexpr const char kDefaultResourceDirectory[] = "/res/images"; constexpr const char kDefaultStashDirectoryBase[] = "/cache/recovery"; constexpr const char kDefaultTemporaryInstallFile[] = "/tmp/last_install"; constexpr const char kDefaultTemporaryLogFile[] = "/tmp/recovery.log"; +constexpr const char kDefaultTemporaryUpdateBinary[] = "/tmp/update-binary"; Paths& Paths::Get() { static Paths paths; @@ -36,4 +37,5 @@ Paths::Paths() resource_dir_(kDefaultResourceDirectory), stash_directory_base_(kDefaultStashDirectoryBase), temporary_install_file_(kDefaultTemporaryInstallFile), - temporary_log_file_(kDefaultTemporaryLogFile) {} + temporary_log_file_(kDefaultTemporaryLogFile), + temporary_update_binary_(kDefaultTemporaryUpdateBinary) {} -- cgit v1.2.3