diff options
author | Yu-Ping Wu <yupingso@chromium.org> | 2020-06-11 17:07:08 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-07-02 13:28:40 +0000 |
commit | 59fd331bfc623d2a403fd4fe90fe6367b85ed13b (patch) | |
tree | 89ec2bbbbf8f027aceedf47d737133179b1a3810 | |
parent | 68de90c7e2f4a27d3a76489199176d2ab8f56de1 (diff) | |
download | vboot-59fd331bfc623d2a403fd4fe90fe6367b85ed13b.tar.gz |
vboot/ui: pass timer_disabled to vb2ex_display_ui()factory-puff-13329.B
Add an argument 'timer_disabled' to vb2ex_display_ui(), which will be
used when drawing dev mode screen to show the appropriate screen
descriptions.
BRANCH=none
BUG=b:146399181, b:157871585
TEST=make runtests
TEST=emerge-puff depthcharge
Cq-Depend: chromium:2236550
Change-Id: I48b46838f482bce612106b840476f5f941cc1166
Signed-off-by: Yu-Ping Wu <yupingso@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/2241492
Reviewed-by: Joel Kitching <kitching@chromium.org>
-rw-r--r-- | firmware/2lib/2ui.c | 8 | ||||
-rw-r--r-- | firmware/2lib/include/2api.h | 3 | ||||
-rw-r--r-- | tests/vb2_ui_action_tests.c | 1 | ||||
-rw-r--r-- | tests/vb2_ui_tests.c | 1 |
4 files changed, 12 insertions, 1 deletions
diff --git a/firmware/2lib/2ui.c b/firmware/2lib/2ui.c index 81243ac2..91478623 100644 --- a/firmware/2lib/2ui.c +++ b/firmware/2lib/2ui.c @@ -285,6 +285,7 @@ vb2_error_t ui_loop(struct vb2_context *ctx, enum vb2_screen root_screen_id, { struct vb2_ui_context ui; struct vb2_screen_state prev_state; + int prev_disable_timer; enum vb2_ui_error prev_error_code; const struct vb2_menu *menu; const struct vb2_screen_info *root_info; @@ -301,12 +302,15 @@ vb2_error_t ui_loop(struct vb2_context *ctx, enum vb2_screen root_screen_id, if (rv != VB2_REQUEST_UI_CONTINUE) return rv; memset(&prev_state, 0, sizeof(prev_state)); + prev_disable_timer = 0; prev_error_code = VB2_UI_ERROR_NONE; while (1) { /* Draw if there are state changes. */ if (memcmp(&prev_state, ui.state, sizeof(*ui.state)) || - /* we want to redraw/beep on a transition */ + /* We want to redraw when timer is disabled. */ + prev_disable_timer != ui.disable_timer || + /* We want to redraw/beep on a transition. */ prev_error_code != ui.error_code) { menu = get_menu(&ui); @@ -318,6 +322,7 @@ vb2_error_t ui_loop(struct vb2_context *ctx, enum vb2_screen root_screen_id, vb2ex_display_ui(ui.state->screen->id, ui.locale_id, ui.state->selected_item, ui.state->disabled_item_mask, + ui.disable_timer, ui.error_code); /* * Only beep if we're transitioning from no @@ -329,6 +334,7 @@ vb2_error_t ui_loop(struct vb2_context *ctx, enum vb2_screen root_screen_id, /* Update prev variables. */ memcpy(&prev_state, ui.state, sizeof(*ui.state)); + prev_disable_timer = ui.disable_timer; prev_error_code = ui.error_code; } diff --git a/firmware/2lib/include/2api.h b/firmware/2lib/include/2api.h index 69fd1458..0a023c6f 100644 --- a/firmware/2lib/include/2api.h +++ b/firmware/2lib/include/2api.h @@ -1256,6 +1256,8 @@ enum vb2_ui_error { * doesn't have a menu, this value will be ignored. * @param disabled_item_mask Mask for disabled menu items. Bit (1 << idx) * indicates whether item 'idx' is disabled. + * @param timer_disabled Whether timer is disabled or not. Some screen + * descriptions will depend on this value. * @param error_code Error code if an error occurred. * @return VB2_SUCCESS, or error code on error. */ @@ -1263,6 +1265,7 @@ vb2_error_t vb2ex_display_ui(enum vb2_screen screen, uint32_t locale_id, uint32_t selected_item, uint32_t disabled_item_mask, + int timer_disabled, enum vb2_ui_error error_code); /** diff --git a/tests/vb2_ui_action_tests.c b/tests/vb2_ui_action_tests.c index b32bafe5..fb110b4e 100644 --- a/tests/vb2_ui_action_tests.c +++ b/tests/vb2_ui_action_tests.c @@ -386,6 +386,7 @@ vb2_error_t vb2ex_display_ui(enum vb2_screen screen, uint32_t locale_id, uint32_t selected_item, uint32_t disabled_item_mask, + int timer_disabled, enum vb2_ui_error error_code) { struct display_call displayed = (struct display_call){ diff --git a/tests/vb2_ui_tests.c b/tests/vb2_ui_tests.c index 47c70466..516ec6f0 100644 --- a/tests/vb2_ui_tests.c +++ b/tests/vb2_ui_tests.c @@ -326,6 +326,7 @@ vb2_error_t vb2ex_display_ui(enum vb2_screen screen, uint32_t locale_id, uint32_t selected_item, uint32_t disabled_item_mask, + int timer_disabled, enum vb2_ui_error error_code) { struct display_call displayed = (struct display_call){ |