summaryrefslogtreecommitdiffstats
path: root/install/adb_install.cpp
diff options
context:
space:
mode:
authorTianjie Xu <xunchang@google.com>2019-04-29 19:47:20 +0200
committerGerrit Code Review <noreply-gerritcodereview@google.com>2019-04-29 19:47:20 +0200
commit8fc8f39b623e024ec015d1fef06a0a3013835946 (patch)
treea0561a174f68bd867fe5bdaff42ca8e1ac1d9f39 /install/adb_install.cpp
parentMerge "Add recovery_host_test to TEST_MAPPING." (diff)
parentSupport wipe command in rescue mode (diff)
downloadandroid_bootable_recovery-8fc8f39b623e024ec015d1fef06a0a3013835946.tar
android_bootable_recovery-8fc8f39b623e024ec015d1fef06a0a3013835946.tar.gz
android_bootable_recovery-8fc8f39b623e024ec015d1fef06a0a3013835946.tar.bz2
android_bootable_recovery-8fc8f39b623e024ec015d1fef06a0a3013835946.tar.lz
android_bootable_recovery-8fc8f39b623e024ec015d1fef06a0a3013835946.tar.xz
android_bootable_recovery-8fc8f39b623e024ec015d1fef06a0a3013835946.tar.zst
android_bootable_recovery-8fc8f39b623e024ec015d1fef06a0a3013835946.zip
Diffstat (limited to 'install/adb_install.cpp')
-rw-r--r--install/adb_install.cpp23
1 files changed, 15 insertions, 8 deletions
diff --git a/install/adb_install.cpp b/install/adb_install.cpp
index 9dfe0407f..4dd1f1b09 100644
--- a/install/adb_install.cpp
+++ b/install/adb_install.cpp
@@ -43,6 +43,7 @@
#include "fuse_sideload.h"
#include "install/install.h"
+#include "install/wipe_data.h"
#include "minadbd_types.h"
#include "otautil/sysutil.h"
#include "recovery_ui/device.h"
@@ -330,7 +331,7 @@ static void CreateMinadbdServiceAndExecuteCommands(
signal(SIGPIPE, SIG_DFL);
}
-int ApplyFromAdb(RecoveryUI* ui, bool rescue_mode, Device::BuiltinAction* reboot_action) {
+int ApplyFromAdb(Device* device, bool rescue_mode, Device::BuiltinAction* reboot_action) {
// Save the usb state to restore after the sideload operation.
std::string usb_state = android::base::GetProperty("sys.usb.state", "none");
// Clean up state and stop adbd.
@@ -339,13 +340,7 @@ int ApplyFromAdb(RecoveryUI* ui, bool rescue_mode, Device::BuiltinAction* reboot
return INSTALL_ERROR;
}
- if (!rescue_mode) {
- ui->Print(
- "\n\nNow send the package you want to apply\n"
- "to the device with \"adb sideload <filename>\"...\n");
- } else {
- ui->Print("\n\nWaiting for rescue commands...\n");
- }
+ RecoveryUI* ui = device->GetUI();
int install_result = INSTALL_ERROR;
std::map<MinadbdCommand, CommandFunction> command_map{
@@ -363,6 +358,18 @@ int ApplyFromAdb(RecoveryUI* ui, bool rescue_mode, Device::BuiltinAction* reboot
std::bind(&AdbRebootHandler, MinadbdCommand::kRebootRescue, &install_result, reboot_action) },
};
+ if (!rescue_mode) {
+ ui->Print(
+ "\n\nNow send the package you want to apply\n"
+ "to the device with \"adb sideload <filename>\"...\n");
+ } else {
+ ui->Print("\n\nWaiting for rescue commands...\n");
+ command_map.emplace(MinadbdCommand::kWipeData, [&device]() {
+ bool result = WipeData(device, false);
+ return std::make_pair(result, true);
+ });
+ }
+
CreateMinadbdServiceAndExecuteCommands(ui, command_map, rescue_mode);
// Clean up before switching to the older state, for example setting the state