recovery: Clear BCB before rebooting to recovery

This should clear update_in_progress flag.

Change-Id: Idc5b99a77d6f1368fa37cf664a1fb5b6b19886db
This commit is contained in:
LuK1337 2023-08-04 22:09:53 +02:00 committed by zlewchan
parent d2eaf6e562
commit c1fb553b53

View file

@ -46,6 +46,7 @@
#include <android-base/strings.h> #include <android-base/strings.h>
#include <android-base/unique_fd.h> #include <android-base/unique_fd.h>
#include "bootloader_message/bootloader_message.h"
#include "install/snapshot_utils.h" #include "install/snapshot_utils.h"
#include "install/spl_check.h" #include "install/spl_check.h"
#include "install/wipe_data.h" #include "install/wipe_data.h"
@ -419,10 +420,17 @@ static InstallResult TryUpdateBinary(Package* package, bool* wipe_cache,
return INSTALL_ERROR; return INSTALL_ERROR;
}*/ }*/
const auto reboot_to_recovery = [] {
if (std::string err; !clear_bootloader_message(&err)) {
LOG(ERROR) << "Failed to clear BCB message: " << err;
}
Reboot("userrequested,recovery,ui");
};
static bool ab_package_installed = false; static bool ab_package_installed = false;
if (ab_package_installed) { if (ab_package_installed) {
if (ask_to_ab_reboot(device)) { if (ask_to_ab_reboot(device)) {
Reboot("userrequested,recovery,ui"); reboot_to_recovery();
} }
return INSTALL_ERROR; return INSTALL_ERROR;
} }
@ -615,7 +623,7 @@ static InstallResult TryUpdateBinary(Package* package, bool* wipe_cache,
ab_package_installed = true; ab_package_installed = true;
PerformPowerwashIfRequired(zip, device); PerformPowerwashIfRequired(zip, device);
if (ask_to_ab_reboot(device)) { if (ask_to_ab_reboot(device)) {
Reboot("userrequested,recovery,ui"); reboot_to_recovery();
} }
} }