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
diff --git a/default_recovery_ui.c b/default_recovery_ui.c
index d4e6204..409d679 100644
--- a/default_recovery_ui.c
+++ b/default_recovery_ui.c
@@ -29,6 +29,10 @@
"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 6739c1e..4c1a9a4 100644
--- a/firmware.c
+++ b/firmware.c
@@ -119,7 +119,6 @@
* 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 1a88560..73a54a2 100644
--- a/recovery.c
+++ b/recovery.c
@@ -44,9 +44,8 @@
{ "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 @@
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 8818ef3..e451bdf 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