Move wipe cache|data to libinstall
Therefore, libinstall becomes the sole owner to handle the request from minadbd service. The change also includes 1. move logging.cpp out of librecovery 2. drop the dependency on common.h 3. now it's more sensible to move the wipe_cache as part of install_package. move the wipe_cache to the end of the function. Bug: 130166585 Test: wipe data and cache from menu Change-Id: I6f356dccdb38015c50acf756bac246f87c30fc1f
This commit is contained in:
+13
-5
@@ -48,6 +48,7 @@
|
||||
|
||||
#include "install/package.h"
|
||||
#include "install/verifier.h"
|
||||
#include "install/wipe_data.h"
|
||||
#include "otautil/error_code.h"
|
||||
#include "otautil/paths.h"
|
||||
#include "otautil/roots.h"
|
||||
@@ -631,10 +632,9 @@ static int really_install_package(const std::string& path, bool* wipe_cache, boo
|
||||
return result;
|
||||
}
|
||||
|
||||
int install_package(const std::string& path, bool* wipe_cache, bool needs_mount, int retry_count,
|
||||
RecoveryUI* ui) {
|
||||
int install_package(const std::string& path, bool should_wipe_cache, bool needs_mount,
|
||||
int retry_count, RecoveryUI* ui) {
|
||||
CHECK(!path.empty());
|
||||
CHECK(wipe_cache != nullptr);
|
||||
|
||||
auto start = std::chrono::system_clock::now();
|
||||
|
||||
@@ -647,8 +647,10 @@ int install_package(const std::string& path, bool* wipe_cache, bool needs_mount,
|
||||
LOG(ERROR) << "failed to set up expected mounts for install; aborting";
|
||||
result = INSTALL_ERROR;
|
||||
} else {
|
||||
result = really_install_package(path, wipe_cache, needs_mount, &log_buffer, retry_count,
|
||||
&max_temperature, ui);
|
||||
bool updater_wipe_cache = false;
|
||||
result = really_install_package(path, &updater_wipe_cache, needs_mount, &log_buffer,
|
||||
retry_count, &max_temperature, ui);
|
||||
should_wipe_cache = should_wipe_cache || updater_wipe_cache;
|
||||
}
|
||||
|
||||
// Measure the time spent to apply OTA update in seconds.
|
||||
@@ -703,6 +705,12 @@ int install_package(const std::string& path, bool* wipe_cache, bool needs_mount,
|
||||
// Write a copy into last_log.
|
||||
LOG(INFO) << log_content;
|
||||
|
||||
if (result == INSTALL_SUCCESS && should_wipe_cache) {
|
||||
if (!WipeCache(ui, nullptr)) {
|
||||
result = INSTALL_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user