aboutsummaryrefslogtreecommitdiffstats
path: root/default_recovery_ui.c
diff options
context:
space:
mode:
authorKoushik K. Dutta <koushd@gmail.com>2010-02-19 14:17:22 -0800
committerKoushik K. Dutta <koushd@gmail.com>2010-02-19 14:17:22 -0800
commita3c2f735d7681aa1c0a927f2d45e08d86656dd09 (patch)
tree9d3c7de38896bb980c60c91739e55e9ef3157f64 /default_recovery_ui.c
parent841b2bf352cd4c8596d8062d97200390c1dec84c (diff)
downloadbootable_recovery-a3c2f735d7681aa1c0a927f2d45e08d86656dd09.zip
bootable_recovery-a3c2f735d7681aa1c0a927f2d45e08d86656dd09.tar.gz
bootable_recovery-a3c2f735d7681aa1c0a927f2d45e08d86656dd09.tar.bz2
fix up back button and menu toggling
Diffstat (limited to 'default_recovery_ui.c')
-rw-r--r--default_recovery_ui.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/default_recovery_ui.c b/default_recovery_ui.c
index 991f376..2c39a78 100644
--- a/default_recovery_ui.c
+++ b/default_recovery_ui.c
@@ -18,6 +18,7 @@
#include "recovery_ui.h"
#include "common.h"
+#include "extendedcommands.h"
char* MENU_HEADERS[] = { "Android system recovery utility",
"",
@@ -36,7 +37,8 @@ int device_toggle_display(volatile char* key_pressed, int key_code) {
int alt = key_pressed[KEY_LEFTALT] || key_pressed[KEY_RIGHTALT];
if (alt && key_code == KEY_L)
return 1;
- return key_code == KEY_HOME || key_code == KEY_MENU || key_code == KEY_POWER || key_code == KEY_END;
+ // allow toggling of the display if the correct key is pressed, and the display toggle is allowed or the display is currently off
+ return get_allow_toggle_display() && (key_code == KEY_HOME || key_code == KEY_MENU || key_code == KEY_POWER || key_code == KEY_END);
}
int device_reboot_now(volatile char* key_pressed, int key_code) {
@@ -57,9 +59,12 @@ int device_handle_key(int key_code, int visible) {
case KEY_ENTER:
case BTN_MOUSE:
return SELECT_ITEM;
- case KEY_BACKSPACE:
+
+ case KEY_POWER:
case KEY_END:
- return GO_BACK;
+ case KEY_BACKSPACE:
+ if (!get_allow_toggle_display())
+ return GO_BACK;
}
}