Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a69c69b2 authored by Tianjie Xu's avatar Tianjie Xu Committed by Gerrit Code Review
Browse files

Merge "Consolidate the wait in recovery's reboot"

parents 95101e7f 00c4aba9
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -103,7 +103,7 @@ class MemMapping {

// Reboots the device into the specified target, by additionally handling quiescent reboot mode.
// All unknown targets reboot into Android.
bool Reboot(std::string_view target);
[[noreturn]] void Reboot(std::string_view target);

// Triggers a shutdown.
bool Shutdown(std::string_view target);
+6 −2
Original line number Diff line number Diff line
@@ -219,14 +219,18 @@ MemMapping::~MemMapping() {
  ranges_.clear();
}

bool Reboot(std::string_view target) {
void Reboot(std::string_view target) {
  std::string cmd = "reboot," + std::string(target);
  // Honor the quiescent mode if applicable.
  if (target != "bootloader" && target != "fastboot" &&
      android::base::GetBoolProperty("ro.boot.quiescent", false)) {
    cmd += ",quiescent";
  }
  return android::base::SetProperty(ANDROID_RB_PROPERTY, cmd);
  if (!android::base::SetProperty(ANDROID_RB_PROPERTY, cmd)) {
    LOG(FATAL) << "Reboot failed";
  }

  while (true) pause();
}

bool Shutdown(std::string_view target) {
+1 −7
Original line number Diff line number Diff line
@@ -783,13 +783,7 @@ Device::BuiltinAction start_recovery(Device* device, const std::vector<std::stri
          ui->Print("Retry attempt %d\n", retry_count);

          // Reboot back into recovery to retry the update.
          if (!Reboot("recovery")) {
            ui->Print("Reboot failed\n");
          } else {
            while (true) {
              pause();
            }
          }
          Reboot("recovery");
        }
        // If this is an eng or userdebug build, then automatically
        // turn the text display on if the script fails so the error
+0 −3
Original line number Diff line number Diff line
@@ -375,9 +375,6 @@ void RecoveryUI::ProcessKey(int key_code, int updown) {
      case RecoveryUI::REBOOT:
        if (reboot_enabled) {
          Reboot("userrequested,recovery,ui");
          while (true) {
            pause();
          }
        }
        break;

+0 −1
Original line number Diff line number Diff line
@@ -733,7 +733,6 @@ Value* RebootNowFn(const char* name, State* state, const std::vector<std::unique

  Reboot(property);

  sleep(5);
  return ErrorAbort(state, kRebootFailure, "%s() failed to reboot", name);
}