From efa1bab94c332892abe7306cc963edaed709f651 Mon Sep 17 00:00:00 2001 From: Doug Zongker Date: Mon, 1 Feb 2010 15:59:12 -0800 Subject: change log recovery to generic device_recovery_start function Remove (or at least stop calling) the HTC-specific mechanism for preserving the recovery log from before a radio or hboot update. Replace it with a generic device_recovery_start() function which each device's code can implement to do whatever it wants on recovery startup. Change-Id: If3cca4b498c0b1cf0565236404ecf56a1fc46123 --- default_recovery_ui.c | 4 ++++ firmware.c | 1 - recovery.c | 6 +++--- recovery_ui.h | 3 +++ 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/default_recovery_ui.c b/default_recovery_ui.c index d4e620403..409d67934 100644 --- a/default_recovery_ui.c +++ b/default_recovery_ui.c @@ -29,6 +29,10 @@ char* MENU_ITEMS[] = { "reboot system now", "wipe cache partition", NULL }; +int device_recovery_start() { + return 0; +} + int device_toggle_display(volatile char* key_pressed, int key_code) { return key_code == KEY_HOME; } diff --git a/firmware.c b/firmware.c index 6739c1e93..4c1a9a4a9 100644 --- a/firmware.c +++ b/firmware.c @@ -119,7 +119,6 @@ int maybe_install_firmware_update(const char *send_intent, * wipe the cache and reboot into the system.) */ snprintf(boot.command, sizeof(boot.command), "update-%s", update_type); - strlcat(boot.recovery, "--recover_log\n", sizeof(boot.recovery)); if (set_bootloader_message(&boot)) { format_root_device("CACHE:"); return -1; diff --git a/recovery.c b/recovery.c index 1a885602d..73a54a23e 100644 --- a/recovery.c +++ b/recovery.c @@ -44,9 +44,8 @@ static const struct option OPTIONS[] = { { "update_package", required_argument, NULL, 'u' }, { "wipe_data", no_argument, NULL, 'w' }, { "wipe_cache", no_argument, NULL, 'c' }, - // TODO{oam}: implement improved command line passing key, egnot to review. + // TODO{oam}: implement improved command line passing key, egnor to review. { "set_encrypted_filesystem", required_argument, NULL, 'e' }, - { "recover_log", no_argument, NULL, 'g' }, { NULL, 0, NULL, 0 }, }; @@ -492,13 +491,14 @@ main(int argc, char **argv) { case 'w': wipe_data = wipe_cache = 1; break; case 'c': wipe_cache = 1; break; case 'e': efs_mode = optarg; toggle_efs = 1; break; - case 'g': recover_firmware_update_log(); break; case '?': LOGE("Invalid command argument\n"); continue; } } + device_recovery_start(); + fprintf(stderr, "Command:"); for (arg = 0; arg < argc; arg++) { fprintf(stderr, " \"%s\"", argv[arg]); diff --git a/recovery_ui.h b/recovery_ui.h index 8818ef303..e451bdfa2 100644 --- a/recovery_ui.h +++ b/recovery_ui.h @@ -17,6 +17,9 @@ #ifndef _RECOVERY_UI_H #define _RECOVERY_UI_H +// Called when recovery starts up. Returns 0. +extern int device_recovery_start(); + // Called in the input thread when a new key (key_code) is pressed. // *key_pressed is an array of KEY_MAX+1 bytes indicating which other // keys are already pressed. Return true if the text display should -- cgit v1.2.3