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

* commit 'e944944fa58f66dad5483b6ee1ea9a2c0f9bedd2':
  Add "Apply update from sdcard" to default recovery image.
This commit is contained in:
Elliott Hughes 2015-03-23 15:07:59 +00:00 committed by Android Git Automerger
commit 3dce9e761f
3 changed files with 44 additions and 20 deletions

14
README.md Normal file
View file

@ -0,0 +1,14 @@
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

View file

@ -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.",
"",
NULL };
static const char* HEADERS[] = {
"Volume up/down to move highlight.",
"Power button to select.",
"",
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;
}
}

View file

@ -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;