summaryrefslogtreecommitdiffstats
path: root/screen_ui.h
diff options
context:
space:
mode:
authorTao Bao <tbao@google.com>2018-04-20 18:24:58 +0200
committerTao Bao <tbao@google.com>2018-05-01 19:27:40 +0200
commit3aec6965bff19ae34ea036c5416c9106c1bd9340 (patch)
tree63fb249d5082614f66f410eaa97405ca504c9083 /screen_ui.h
parentrecovery: Split main() into recovery_main.cpp. (diff)
downloadandroid_bootable_recovery-3aec6965bff19ae34ea036c5416c9106c1bd9340.tar
android_bootable_recovery-3aec6965bff19ae34ea036c5416c9106c1bd9340.tar.gz
android_bootable_recovery-3aec6965bff19ae34ea036c5416c9106c1bd9340.tar.bz2
android_bootable_recovery-3aec6965bff19ae34ea036c5416c9106c1bd9340.tar.lz
android_bootable_recovery-3aec6965bff19ae34ea036c5416c9106c1bd9340.tar.xz
android_bootable_recovery-3aec6965bff19ae34ea036c5416c9106c1bd9340.tar.zst
android_bootable_recovery-3aec6965bff19ae34ea036c5416c9106c1bd9340.zip
Diffstat (limited to 'screen_ui.h')
-rw-r--r--screen_ui.h19
1 files changed, 15 insertions, 4 deletions
diff --git a/screen_ui.h b/screen_ui.h
index c1222a576..837d346a2 100644
--- a/screen_ui.h
+++ b/screen_ui.h
@@ -20,6 +20,7 @@
#include <pthread.h>
#include <stdio.h>
+#include <functional>
#include <memory>
#include <string>
#include <vector>
@@ -135,10 +136,8 @@ class ScreenRecoveryUI : public RecoveryUI {
void ShowFile(const char* filename) override;
// menu display
- void StartMenu(const char* const* headers, const char* const* items,
- int initial_selection) override;
- int SelectMenu(int sel) override;
- void EndMenu() override;
+ int ShowMenu(const char* const* headers, const char* const* items, int initial_selection,
+ bool menu_only, const std::function<int(int, bool)>& key_handler) override;
void KeyLongPress(int) override;
@@ -164,6 +163,18 @@ class ScreenRecoveryUI : public RecoveryUI {
virtual bool InitTextParams();
+ // Displays some header text followed by a menu of items, which appears at the top of the screen
+ // (in place of any scrolling ui_print() output, if necessary).
+ virtual void StartMenu(const char* const* headers, const char* const* items,
+ int initial_selection);
+
+ // Sets the menu highlight to the given index, wrapping if necessary. Returns the actual item
+ // selected.
+ virtual int SelectMenu(int sel);
+
+ // Ends menu mode, resetting the text overlay so that ui_print() statements will be displayed.
+ virtual void EndMenu();
+
virtual void draw_background_locked();
virtual void draw_foreground_locked();
virtual void draw_screen_locked();