screen_ui: Merge Menu::Start() into its ctor.
Since we instantiate a Menu object each time for a given set of
header/items, we don't have a use case of re-populating an existing Menu
with different data (which is what Menu::Start() does).
Test: mmma -j bootable/recovery
Test: Run recovery_unit_test on marlin.
Test: Build and boot into recovery image on angler. Check the UI.
Change-Id: Iaa2ba9d406ebd74c015e43198c17c5335b38df53
diff --git a/screen_ui.h b/screen_ui.h
index b0cbbdb..3b309fb 100644
--- a/screen_ui.h
+++ b/screen_ui.h
@@ -33,7 +33,10 @@
// This class maintains the menu selection and display of the screen ui.
class Menu {
public:
- Menu(bool scrollable, size_t max_items, size_t max_length);
+ // Constructs a Menu instance with the given |headers|, |items| and properties. Sets the initial
+ // selection to |initial_selection|.
+ Menu(bool scrollable, size_t max_items, size_t max_length, const char* const* headers,
+ const char* const* items, int initial_selection);
bool scrollable() const {
return scrollable_;
@@ -45,8 +48,10 @@
// Returns count of menu items.
size_t ItemsCount() const;
+
// Returns the index of the first menu item.
size_t MenuStart() const;
+
// Returns the index of the last menu item + 1.
size_t MenuEnd() const;
@@ -68,10 +73,6 @@
// |cur_selection_str| if the items exceed the screen limit.
bool ItemsOverflow(std::string* cur_selection_str) const;
- // Starts the menu with |headers| and |items| in text. Sets the default selection to
- // |initial_selection|.
- void Start(const char* const* headers, const char* const* items, int initial_selection);
-
// Sets the current selection to |sel|. Handle the overflow cases depending on if the menu is
// scrollable.
int Select(int sel);