Fix sticky rescue party boot

When entering recovery via rescue party, recovery does not call
FinishRecovery() to reset BCB. This causes the rescue party command to
stick, and device keeps rebooting into rescue party mode after entering
bootloader mode and reboot.

Test: enter rescue party, reboot bootloader, fastboot reboot
Bug: 332621855
Change-Id: I958a77ccb2433d76aecb44f8c6f8fedebe08bbe0
This commit is contained in:
Kelvin Zhang 2024-04-04 17:44:59 -07:00
parent e366fe9f01
commit c031e9d3d1

View file

@ -176,6 +176,11 @@ static bool ask_to_wipe_data(Device* device) {
} }
static InstallResult prompt_and_wipe_data(Device* device) { static InstallResult prompt_and_wipe_data(Device* device) {
// Reset to normal system boot so recovery won't cycle indefinitely.
std::string err;
if (!clear_bootloader_message(&err)) {
LOG(ERROR) << "Failed to clear BCB message: " << err;
}
// Use a single string and let ScreenRecoveryUI handles the wrapping. // Use a single string and let ScreenRecoveryUI handles the wrapping.
std::vector<std::string> wipe_data_menu_headers{ std::vector<std::string> wipe_data_menu_headers{
"Can't load Android system. Your data may be corrupt. " "Can't load Android system. Your data may be corrupt. "