diff options
Diffstat (limited to 'default_device.cpp')
-rw-r--r-- | default_device.cpp | 90 |
1 files changed, 23 insertions, 67 deletions
diff --git a/default_device.cpp b/default_device.cpp index ed601f6c6..d7dd45283 100644 --- a/default_device.cpp +++ b/default_device.cpp @@ -14,80 +14,36 @@ * limitations under the License. */ -#include <linux/input.h> - -#include "common.h" #include "device.h" #include "screen_ui.h" -static const char* HEADERS[] = { - "Volume up/down to move highlight.", - "Power button to select.", - "", - NULL -}; - -static const char* ITEMS[] = { - "Reboot system now", - "Reboot to bootloader", - "Apply update from ADB", - "Apply update from SD card", - "Wipe data/factory reset", - "Wipe cache partition", - "View recovery logs", - "Power off", - NULL -}; - class DefaultDevice : public Device { - public: - DefaultDevice() : - ui(new ScreenRecoveryUI) { - } - - RecoveryUI* GetUI() { return ui; } - - int HandleMenuKey(int key, int visible) { - if (visible) { - switch (key) { - case KEY_DOWN: - case KEY_VOLUMEDOWN: - return kHighlightDown; - - case KEY_UP: - case KEY_VOLUMEUP: - return kHighlightUp; - - case KEY_ENTER: - case KEY_POWER: - return kInvokeItem; - } - } - - return kNoAction; + public: + DefaultDevice() : Device(new ScreenRecoveryUI) { + } + + // TODO: make this handle more cases, and move the default implementation into Device too. + int HandleMenuKey(int key, int visible) { + if (visible) { + switch (key) { + case KEY_DOWN: + case KEY_VOLUMEDOWN: + return kHighlightDown; + + case KEY_UP: + case KEY_VOLUMEUP: + return kHighlightUp; + + case KEY_ENTER: + case KEY_POWER: + return kInvokeItem; + } } - BuiltinAction InvokeMenuItem(int menu_position) { - switch (menu_position) { - case 0: return REBOOT; - case 1: return REBOOT_BOOTLOADER; - case 2: return APPLY_ADB_SIDELOAD; - case 3: return APPLY_EXT; - case 4: return WIPE_DATA; - case 5: return WIPE_CACHE; - case 6: return READ_RECOVERY_LASTLOG; - case 7: return SHUTDOWN; - default: return NO_ACTION; - } - } - - const char* const* GetMenuHeaders() { return HEADERS; } - const char* const* GetMenuItems() { return ITEMS; } - - private: - RecoveryUI* ui; + return kNoAction; + } }; Device* make_device() { - return new DefaultDevice(); + return new DefaultDevice; } |