diff options
author | Shelley Chen <shchen@chromium.org> | 2017-11-14 10:37:17 -0800 |
---|---|---|
committer | ChromeOS Commit Bot <chromeos-commit-bot@chromium.org> | 2018-01-25 01:18:44 +0000 |
commit | f22bb8673a9475e2cf23dfa3d64a563651e30857 (patch) | |
tree | e0db3e0f1f449ed7f4e5cbf6b952065eb7f6dac8 | |
parent | 0f1e9b68c6af3e53d854bdc0ea6635fbce9e922e (diff) | |
download | vboot-f22bb8673a9475e2cf23dfa3d64a563651e30857.tar.gz |
detachables: Define options menu
This menu will be used by any of the legacy screens.
The idea is that when the user hits volume up/down, then
they will enter this options menu, which will allow the user
to change languages or show debug info.
BUG=b:67371896, b:64400036
BRANCH=None
TEST=None
Change-Id: I31d3e312388b56613368276ec72e5c68ded2264e
Signed-off-by: Shelley Chen <shchen@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/770257
Commit-Ready: Benjamin Gordon <bmgordon@chromium.org>
Reviewed-by: Randall Spangler <rspangler@chromium.org>
(cherry picked from commit 5f9b770d7a44e6011ebe1ec7b28692e4eab1c2b6)
Reviewed-on: https://chromium-review.googlesource.com/885142
-rw-r--r-- | firmware/include/vboot_api.h | 2 | ||||
-rw-r--r-- | firmware/lib/include/vboot_ui_menu_private.h | 9 | ||||
-rw-r--r-- | firmware/lib/vboot_ui_menu.c | 12 |
3 files changed, 23 insertions, 0 deletions
diff --git a/firmware/include/vboot_api.h b/firmware/include/vboot_api.h index 5edf0a6b..ba545d7e 100644 --- a/firmware/include/vboot_api.h +++ b/firmware/include/vboot_api.h @@ -765,6 +765,8 @@ enum VbScreenType_t { VB_SCREEN_DEVELOPER_TO_NORM_MENU = 0x20e, /* Detachable Menu - Languages */ VB_SCREEN_LANGUAGES_MENU = 0x20f, + /* Detachable Menu - Options */ + VB_SCREEN_OPTIONS_MENU = 0x210, }; /** diff --git a/firmware/lib/include/vboot_ui_menu_private.h b/firmware/lib/include/vboot_ui_menu_private.h index 7c6be490..f451a531 100644 --- a/firmware/lib/include/vboot_ui_menu_private.h +++ b/firmware/lib/include/vboot_ui_menu_private.h @@ -15,6 +15,7 @@ typedef enum _VB_MENU { VB_MENU_RECOVERY, VB_MENU_TO_DEV, VB_MENU_LANGUAGES, + VB_MENU_OPTIONS, VB_MENU_RECOVERY_INSERT, VB_MENU_RECOVERY_NO_GOOD, VB_MENU_RECOVERY_BROKEN, @@ -74,6 +75,14 @@ typedef enum _VB_LANGUAGES_MENU { VB_LANGUAGES_COUNT, } VB_LANGUAGES_MENU; +typedef enum _VB_OPTIONS_MENU { + VB_OPTIONS_CANCEL, + VB_OPTIONS_DBG_INFO, + VB_OPTIONS_POWER_OFF, + VB_OPTIONS_LANGUAGE, + VB_OPTIONS_COUNT, +} VB_OPTIONS_MENU; + extern VB_MENU current_menu; extern VB_MENU prev_menu; extern int current_menu_idx; diff --git a/firmware/lib/vboot_ui_menu.c b/firmware/lib/vboot_ui_menu.c index 5ef7046e..00fb0b1a 100644 --- a/firmware/lib/vboot_ui_menu.c +++ b/firmware/lib/vboot_ui_menu.c @@ -146,6 +146,13 @@ static char *languages_menu[] = { "US English\n", }; +static char *options_menu[] = { + "Cancel\n", + "Show Debug Info\n", + "Power Off\n", + "Language\n" +}; + /** * Get the string array and size of current_menu. * @@ -185,6 +192,10 @@ void vb2_get_current_menu_size(VB_MENU menu, char ***menu_array, *size = VB_LANGUAGES_COUNT; temp_menu = languages_menu; break; + case VB_MENU_OPTIONS: + *size = VB_OPTIONS_COUNT; + temp_menu = options_menu; + break; default: *size = 0; } @@ -238,6 +249,7 @@ static const uint32_t VB_MENU_TO_SCREEN_MAP[] = { VB_SCREEN_RECOVERY_MENU, VB_SCREEN_RECOVERY_TO_DEV_MENU, VB_SCREEN_LANGUAGES_MENU, + VB_SCREEN_OPTIONS_MENU, VB_SCREEN_RECOVERY_INSERT, VB_SCREEN_RECOVERY_NO_GOOD, VB_SCREEN_OS_BROKEN, |