summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Kitching <kitching@google.com>2020-05-07 16:43:07 +0800
committerCommit Bot <commit-bot@chromium.org>2020-05-11 14:20:00 +0000
commit909d55215f7573d67e38931bb31ac12694312a7d (patch)
tree309107c5bb734df1567c9e5a2ff7c468e6fde8a9
parent6f207a88c3778d0de6554bdca9e7c91896bc9d47 (diff)
downloadvboot-909d55215f7573d67e38931bb31ac12694312a7d.tar.gz
vboot/ui: implement advanced_options
Implement advanced_options menu item and screen. BUG=b:146399181 TEST=make clean && make runtests BRANCH=none Change-Id: I870133db74d773771ea92a280fdfb4864706bd71 Signed-off-by: Joel Kitching <kitching@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/2186958 Tested-by: Joel Kitching <kitching@chromium.org> Commit-Queue: Yu-Ping Wu <yupingso@chromium.org> Reviewed-by: Yu-Ping Wu <yupingso@chromium.org>
-rw-r--r--firmware/2lib/2ui_screens.c37
1 files changed, 31 insertions, 6 deletions
diff --git a/firmware/2lib/2ui_screens.c b/firmware/2lib/2ui_screens.c
index a6fffb5e..ca492039 100644
--- a/firmware/2lib/2ui_screens.c
+++ b/firmware/2lib/2ui_screens.c
@@ -16,7 +16,10 @@
.num_items = ARRAY_SIZE(a), \
.items = a
-static const struct vb2_menu_item empty_menu[] = { };
+#define ADVANCED_OPTIONS_ITEM { \
+ .text = "Advanced options", \
+ .target = VB2_SCREEN_ADVANCED_OPTIONS, \
+}
/******************************************************************************/
/* VB2_SCREEN_BLANK */
@@ -24,16 +27,39 @@ static const struct vb2_menu_item empty_menu[] = { };
static const struct vb2_screen_info blank_screen = {
.id = VB2_SCREEN_BLANK,
.name = "Blank",
- MENU_ITEMS(empty_menu),
};
/******************************************************************************/
/* VB2_SCREEN_RECOVERY_BROKEN */
+static const struct vb2_menu_item recovery_broken_items[] = {
+ ADVANCED_OPTIONS_ITEM,
+};
+
static const struct vb2_screen_info recovery_broken_screen = {
.id = VB2_SCREEN_RECOVERY_BROKEN,
.name = "Recover broken device",
- MENU_ITEMS(empty_menu),
+ MENU_ITEMS(recovery_broken_items),
+};
+
+/******************************************************************************/
+/* VB2_SCREEN_ADVANCED_OPTIONS */
+
+static const struct vb2_menu_item advanced_options_items[] = {
+ {
+ .text = "Developer mode",
+ .target = VB2_SCREEN_RECOVERY_TO_DEV,
+ },
+ {
+ .text = "Back",
+ .action = vb2_ui_back_action,
+ },
+};
+
+static const struct vb2_screen_info advanced_options_screen = {
+ .id = VB2_SCREEN_ADVANCED_OPTIONS,
+ .name = "Advanced options",
+ MENU_ITEMS(advanced_options_items),
};
/******************************************************************************/
@@ -48,6 +74,7 @@ static const struct vb2_menu_item recovery_select_items[] = {
.text = "Recovery using external disk",
.target = VB2_SCREEN_RECOVERY_DISK_STEP1,
},
+ ADVANCED_OPTIONS_ITEM,
};
static const struct vb2_screen_info recovery_select_screen = {
@@ -62,7 +89,6 @@ static const struct vb2_screen_info recovery_select_screen = {
static const struct vb2_screen_info recovery_invalid_screen = {
.id = VB2_SCREEN_RECOVERY_INVALID,
.name = "Invalid recovery inserted",
- MENU_ITEMS(empty_menu),
};
/******************************************************************************/
@@ -166,7 +192,6 @@ static const struct vb2_screen_info recovery_to_dev_screen = {
static const struct vb2_screen_info recovery_phone_step1_screen = {
.id = VB2_SCREEN_RECOVERY_PHONE_STEP1,
.name = "Phone recovery step 1",
- MENU_ITEMS(empty_menu),
};
/******************************************************************************/
@@ -175,7 +200,6 @@ static const struct vb2_screen_info recovery_phone_step1_screen = {
static const struct vb2_screen_info recovery_disk_step1_screen = {
.id = VB2_SCREEN_RECOVERY_DISK_STEP1,
.name = "Disk recovery step 1",
- MENU_ITEMS(empty_menu),
};
/******************************************************************************/
@@ -189,6 +213,7 @@ static const struct vb2_screen_info recovery_disk_step1_screen = {
static const struct vb2_screen_info *screens[] = {
&blank_screen,
&recovery_broken_screen,
+ &advanced_options_screen,
&recovery_select_screen,
&recovery_invalid_screen,
&recovery_to_dev_screen,