From 133339f02c9f598a7ac21f595de7ca867da2ad5c Mon Sep 17 00:00:00 2001 From: codeworkx Date: Tue, 19 Jul 2011 13:46:36 -0700 Subject: recovery: use home as select button, use back as back button. Change-Id: I553f7a8c1bf076933e746f4962ef511c4c724ea7 --- recovery/recovery_ui.c | 104 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 recovery/recovery_ui.c (limited to 'recovery') diff --git a/recovery/recovery_ui.c b/recovery/recovery_ui.c new file mode 100644 index 0000000..b37d6a0 --- /dev/null +++ b/recovery/recovery_ui.c @@ -0,0 +1,104 @@ +/* + * Copyright (C) 2009 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include + +#include "recovery_ui.h" +#include "common.h" +#include "extendedcommands.h" + +char* MENU_HEADERS[] = { NULL }; + +char* MENU_ITEMS[] = { "reboot system now", + "apply update from sdcard", + "wipe data/factory reset", + "wipe cache partition", + "install zip from sdcard", + "backup and restore", + "mounts and storage", + "advanced", + "power off", + NULL }; + +int device_recovery_start() { + return 0; +} + +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; + // allow toggling of the display if the correct key is pressed, and the display toggle is allowed or the display is currently off + if (ui_get_showing_back_button()) { + return 0; + //return get_allow_toggle_display() && (key_code == KEY_HOME || key_code == KEY_MENU || key_code == KEY_END); + } + return get_allow_toggle_display() && (key_code == KEY_POWER || key_code == KEY_END); +} + +int device_reboot_now(volatile char* key_pressed, int key_code) { + return 0; +} + +int device_handle_key(int key_code, int visible) { + if (visible) { + switch (key_code) { + case KEY_CAPSLOCK: + case KEY_DOWN: + case KEY_VOLUMEDOWN: + return HIGHLIGHT_DOWN; + + case KEY_MENU: + case KEY_LEFTSHIFT: + case KEY_UP: + case KEY_VOLUMEUP: + return HIGHLIGHT_UP; + + case KEY_HOME: + return SELECT_ITEM; + + case KEY_POWER: + if (ui_get_showing_back_button()) { + return SELECT_ITEM; + } + if (!get_allow_toggle_display()) + return GO_BACK; + break; + case KEY_LEFTBRACE: + case KEY_ENTER: + case BTN_MOUSE: + case KEY_CENTER: + case KEY_CAMERA: + case KEY_F21: + case KEY_SEND: + case KEY_END: + case KEY_BACKSPACE: + case KEY_SEARCH: + case KEY_BACK: + return GO_BACK; + } + } + + return NO_ACTION; +} + +int device_perform_action(int which) { + return which; +} + +int device_wipe_data() { + return 0; +} -- cgit v1.1