diff options
author | Joel Kitching <kitching@google.com> | 2020-05-07 16:43:07 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-05-11 14:20:00 +0000 |
commit | 909d55215f7573d67e38931bb31ac12694312a7d (patch) | |
tree | 309107c5bb734df1567c9e5a2ff7c468e6fde8a9 | |
parent | 6f207a88c3778d0de6554bdca9e7c91896bc9d47 (diff) | |
download | vboot-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.c | 37 |
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, |