1 /* 2 * Copyright (C) 2009 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 #include <linux/input.h> 18 19 #include "recovery_ui.h" 20 #include "common.h" 21 22 char* MENU_HEADERS[] = { "Use trackball to highlight; click to select.", 23 "", 24 NULL }; 25 26 char* MENU_ITEMS[] = { "reboot system now", 27 "apply sdcard:update.zip", 28 "wipe data/factory reset", 29 "wipe cache partition", 30 NULL }; 31 32 void recover_firmware_update_log(); 33 34 int device_recovery_start() { 35 recover_firmware_update_log(); 36 return 0; 37 } 38 39 int device_toggle_display(volatile char* key_pressed, int key_code) { 40 return key_pressed[KEY_POWER] && key_code == KEY_VOLUMEUP; 41 } 42 43 int device_reboot_now(volatile char* key_pressed, int key_code) { 44 return key_pressed[KEY_POWER] && key_pressed[KEY_VOLUMEDOWN] && 45 key_code == BTN_MOUSE; // trackball button 46 } 47 48 int device_handle_key(int key_code, int visible) { 49 if (visible) { 50 switch (key_code) { 51 case KEY_DOWN: 52 case KEY_VOLUMEDOWN: 53 return HIGHLIGHT_DOWN; 54 55 case KEY_UP: 56 case KEY_VOLUMEUP: 57 return HIGHLIGHT_UP; 58 59 case KEY_ENTER: 60 case BTN_MOUSE: // trackball button 61 return SELECT_ITEM; 62 } 63 } 64 65 return NO_ACTION; 66 } 67 68 int device_perform_action(int which) { 69 return which; 70 } 71 72 int device_wipe_data() { 73 return 0; 74 } 75