diff options
author | KalimochoAz <calimochoazucarado@gmail.com> | 2011-01-10 06:14:21 +0100 |
---|---|---|
committer | KalimochoAz <calimochoazucarado@gmail.com> | 2011-01-10 06:14:21 +0100 |
commit | d646a6fa1da35d8842c2a2b7768671bf782eb8a7 (patch) | |
tree | 29577681023519e780023aad1695ebca290aaa2e /recovery.c | |
parent | 53c9bd8b10b26a91744af0b68fa782093b7fba79 (diff) | |
download | bootable_recovery-d646a6fa1da35d8842c2a2b7768671bf782eb8a7.zip bootable_recovery-d646a6fa1da35d8842c2a2b7768671bf782eb8a7.tar.gz bootable_recovery-d646a6fa1da35d8842c2a2b7768671bf782eb8a7.tar.bz2 |
Added Power off capability
Change-Id: I545f8b73e84c5083d2d17b98f8edcdd612c0f78e
Diffstat (limited to 'recovery.c')
-rw-r--r-- | recovery.c | 15 |
1 files changed, 13 insertions, 2 deletions
@@ -61,6 +61,7 @@ static const char *LOG_FILE = "/cache/recovery/log"; static const char *LAST_LOG_FILE = "/cache/recovery/last_log"; static const char *SDCARD_ROOT = "/sdcard"; static int allow_display_toggle = 1; +static int poweroff = 0; static const char *SDCARD_PACKAGE_FILE = "/sdcard/update.zip"; static const char *TEMPORARY_LOG_FILE = "/tmp/recovery.log"; static const char *SIDELOAD_TEMP_DIR = "/tmp/sideload"; @@ -707,6 +708,7 @@ prompt_and_wait() { switch (chosen_item) { case ITEM_REBOOT: + poweroff=0; return; case ITEM_WIPE_DATA: @@ -751,6 +753,9 @@ prompt_and_wait() { case ITEM_ADVANCED: show_advanced_menu(); break; + case ITEM_POWEROFF: + poweroff=1; + return; } } } @@ -782,6 +787,9 @@ main(int argc, char **argv) { return nandroid_main(argc, argv); if (strstr(argv[0], "reboot")) return reboot_main(argc, argv); + if (strstr(argv[0], "poweroff")){ + return reboot_main(argc, argv); + } if (strstr(argv[0], "setprop")) return setprop_main(argc, argv); return busybox_driver(argc, argv); @@ -939,9 +947,12 @@ main(int argc, char **argv) { // Otherwise, get ready to boot the main system... finish_recovery(send_intent); - ui_print("Rebooting...\n"); + if(!poweroff) + ui_print("Rebooting...\n"); + else + ui_print("Shutting down...\n"); sync(); - reboot(RB_AUTOBOOT); + reboot((!poweroff) ? RB_AUTOBOOT : RB_POWER_OFF); return EXIT_SUCCESS; } |