Loading install/adb_install.cpp +3 −1 Original line number Diff line number Diff line Loading @@ -363,11 +363,13 @@ int ApplyFromAdb(Device* device, bool rescue_mode, Device::BuiltinAction* reboot "\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); }); command_map.emplace(MinadbdCommand::kNoOp, []() { return std::make_pair(true, true); }); ui->Print("\n\nWaiting for rescue commands...\n"); } CreateMinadbdServiceAndExecuteCommands(ui, command_map, rescue_mode); Loading minadbd/minadbd_services.cpp +8 −0 Original line number Diff line number Diff line Loading @@ -190,6 +190,14 @@ static void RescueGetpropHostService(unique_fd sfd, const std::string& prop) { if (!android::base::WriteFully(sfd, result.data(), result.size())) { exit(kMinadbdHostSocketIOError); } // Send heartbeat signal to keep the rescue service alive. if (!WriteCommandToFd(MinadbdCommand::kNoOp, minadbd_socket)) { exit(kMinadbdSocketIOError); } if (MinadbdCommandStatus status; !WaitForCommandStatus(minadbd_socket, &status)) { exit(kMinadbdMessageFormatError); } } // Reboots into the given target. We don't reboot directly from minadbd, but going through recovery Loading minadbd/minadbd_types.h +1 −0 Original line number Diff line number Diff line Loading @@ -53,6 +53,7 @@ enum class MinadbdCommand : uint32_t { kRebootRescue = 6, kWipeCache = 7, kWipeData = 8, kNoOp = 9, // Last but invalid command. kError, Loading Loading
install/adb_install.cpp +3 −1 Original line number Diff line number Diff line Loading @@ -363,11 +363,13 @@ int ApplyFromAdb(Device* device, bool rescue_mode, Device::BuiltinAction* reboot "\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); }); command_map.emplace(MinadbdCommand::kNoOp, []() { return std::make_pair(true, true); }); ui->Print("\n\nWaiting for rescue commands...\n"); } CreateMinadbdServiceAndExecuteCommands(ui, command_map, rescue_mode); Loading
minadbd/minadbd_services.cpp +8 −0 Original line number Diff line number Diff line Loading @@ -190,6 +190,14 @@ static void RescueGetpropHostService(unique_fd sfd, const std::string& prop) { if (!android::base::WriteFully(sfd, result.data(), result.size())) { exit(kMinadbdHostSocketIOError); } // Send heartbeat signal to keep the rescue service alive. if (!WriteCommandToFd(MinadbdCommand::kNoOp, minadbd_socket)) { exit(kMinadbdSocketIOError); } if (MinadbdCommandStatus status; !WaitForCommandStatus(minadbd_socket, &status)) { exit(kMinadbdMessageFormatError); } } // Reboots into the given target. We don't reboot directly from minadbd, but going through recovery Loading
minadbd/minadbd_types.h +1 −0 Original line number Diff line number Diff line Loading @@ -53,6 +53,7 @@ enum class MinadbdCommand : uint32_t { kRebootRescue = 6, kWipeCache = 7, kWipeData = 8, kNoOp = 9, // Last but invalid command. kError, Loading