From fc7b3972bc43da9f1b33ca8d3fd1eddf854a3635 Mon Sep 17 00:00:00 2001 From: Shelley Chen Date: Mon, 10 Jul 2017 10:31:20 -0700 Subject: detachables: Select power off after language selection Set current selection to power off after exiting the languages menu. Previously, we were just defaulting to selecting the 0 index. However, this won't work anymore if we hide the "Enable Developer Mode" entry in the recovery menu due to that entry being at the 0th index. BUG=b:63078243, b:35585623 BRANCH=None TEST=Boot into recovery when machine in normal mode. Select languages menu, make language selection and make sure that when return to recovery menu, power off item is selected. Change-Id: I479c2270ca99197fd8c44386ab1ca4526ae7d64a Signed-off-by: Shelley Chen Reviewed-on: https://chromium-review.googlesource.com/565527 Reviewed-by: Randall Spangler --- firmware/lib/vboot_ui_menu.c | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/firmware/lib/vboot_ui_menu.c b/firmware/lib/vboot_ui_menu.c index deab020f..29c561b5 100644 --- a/firmware/lib/vboot_ui_menu.c +++ b/firmware/lib/vboot_ui_menu.c @@ -572,10 +572,29 @@ VbError_t vb2_update_menu(struct vb2_context *ctx) * because need to do in different order. */ current_menu = prev_menu; - current_menu_idx = 0; prev_menu = VB_MENU_LANGUAGES; - selected = 0; - + /* default to power off index */ + switch (current_menu) { + case VB_MENU_DEV_WARNING: + current_menu_idx = VB_WARN_POWER_OFF; + break; + case VB_MENU_DEV: + current_menu_idx = VB_DEV_POWER_OFF; + break; + case VB_MENU_TO_NORM: + current_menu_idx = VB_TO_NORM_POWER_OFF; + break; + case VB_MENU_RECOVERY: + current_menu_idx = VB_RECOVERY_POWER_OFF; + break; + case VB_MENU_TO_DEV: + current_menu_idx = VB_TO_DEV_POWER_OFF; + break; + default: + current_menu_idx = 0; + break; + } + selected = current_menu_idx; break; } default: -- cgit v1.2.1