DO NOT MERGE: 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
(cherry picked from commit 316e971746)
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