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

Commit 3dce9e76 authored by Elliott Hughes's avatar Elliott Hughes Committed by Android Git Automerger
Browse files

am e944944f: Merge "Add "Apply update from sdcard" to default recovery image."

* commit 'e944944f':
  Add "Apply update from sdcard" to default recovery image.
parents b8838e6b e944944f
Loading
Loading
Loading
Loading

README.md

0 → 100644
+14 −0
Original line number Diff line number Diff line
The Recovery Image
==================

Quick turn-around testing
-------------------------

    mm -j
    m ramdisk-nodeps
    m recoveryimage-nodeps
    adb reboot bootloader

    # To boot into the new recovery image
    # without flashing the recovery partition:
    fastboot boot $ANDROID_PRODUCT_OUT/recovery.img
+23 −17
Original line number Diff line number Diff line
@@ -20,19 +20,24 @@
#include "device.h"
#include "screen_ui.h"

static const char* HEADERS[] = { "Volume up/down to move highlight;",
                                 "enter button to select.",
static const char* HEADERS[] = {
    "Volume up/down to move highlight.",
    "Power button to select.",
    "",
                                 NULL };
    NULL
};

static const char* ITEMS[] =  {"reboot system now",
                               "apply update from ADB",
                               "wipe data/factory reset",
                               "wipe cache partition",
                               "reboot to bootloader",
                               "power down",
                               "view recovery logs",
                               NULL };
static const char* ITEMS[] = {
    "Reboot system now",
    "Reboot to bootloader",
    "Apply update from ADB",
    "Apply update from SD card",
    "Wipe data/factory reset",
    "Wipe cache partition",
    "View recovery logs",
    "Power off",
    NULL
};

class DefaultDevice : public Device {
  public:
@@ -65,12 +70,13 @@ class DefaultDevice : public Device {
    BuiltinAction InvokeMenuItem(int menu_position) {
        switch (menu_position) {
          case 0: return REBOOT;
          case 1: return APPLY_ADB_SIDELOAD;
          case 2: return WIPE_DATA;
          case 3: return WIPE_CACHE;
          case 4: return REBOOT_BOOTLOADER;
          case 5: return SHUTDOWN;
          case 1: return REBOOT_BOOTLOADER;
          case 2: return APPLY_ADB_SIDELOAD;
          case 3: return APPLY_EXT;
          case 4: return WIPE_DATA;
          case 5: return WIPE_CACHE;
          case 6: return READ_RECOVERY_LASTLOG;
          case 7: return SHUTDOWN;
          default: return NO_ACTION;
        }
    }
+7 −3
Original line number Diff line number Diff line
@@ -512,7 +512,7 @@ prepend_title(const char* const* headers) {

    const char** new_headers = (const char**)malloc((count+1) * sizeof(char*));
    const char** h = new_headers;
    *(h++) = "Android system recovery <" EXPAND(RECOVERY_API_VERSION) "e>";
    *(h++) = "Android system recovery (API " EXPAND(RECOVERY_API_VERSION) ")";
    *(h++) = recovery_version;
    *(h++) = "";
    for (p = headers; *p; ++p, ++h) *h = *p;
@@ -877,7 +877,11 @@ prompt_and_wait(Device* device, int status) {
                break;

            case Device::APPLY_EXT: {
                ensure_path_mounted(SDCARD_ROOT);
                if (ensure_path_mounted(SDCARD_ROOT) != 0) {
                    ui->Print("\n-- Couldn't mount %s.\n", SDCARD_ROOT);
                    break;
                }

                char* path = browse_directory(SDCARD_ROOT, device);
                if (path == NULL) {
                    ui->Print("\n-- No package file selected.\n", path);
@@ -910,7 +914,7 @@ prompt_and_wait(Device* device, int status) {
                    } else if (!ui->IsTextVisible()) {
                        return Device::NO_ACTION;  // reboot if logs aren't visible
                    } else {
                        ui->Print("\nInstall from sdcard complete.\n");
                        ui->Print("\nInstall from SD card complete.\n");
                    }
                }
                break;