aboutsummaryrefslogtreecommitdiffstats
path: root/default_device.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'default_device.cpp')
-rw-r--r--default_device.cpp90
1 files changed, 23 insertions, 67 deletions
diff --git a/default_device.cpp b/default_device.cpp
index ed601f6..d7dd452 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;
}