From: Simon Glass <simon.glass@canonical.com> When an OS is using disk encryption, show a lock symbol next to it. Signed-off-by: Simon Glass <simon.glass@canonical.com> --- boot/bootctl/multi_ui.c | 8 ++++++++ test/boot/bootctl/bootctl.c | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/boot/bootctl/multi_ui.c b/boot/bootctl/multi_ui.c index f663bcdac61..11e5a46c911 100644 --- a/boot/bootctl/multi_ui.c +++ b/boot/bootctl/multi_ui.c @@ -140,11 +140,15 @@ static int multiboot_set_item_props(struct scene *scn, int i, IMAGES_Y + 5); scene_obj_set_pos(scn, ITEM_VERIFIED + i, x + BOX_MARGIN + 40 + 32, IMAGES_Y + 80 + 21); + scene_obj_set_pos(scn, ITEM_LOCKED + i, + x + BOX_W - BOX_MARGIN - 24, IMAGES_Y + BOX_MARGIN); ret |= scene_obj_set_hide(scn, ITEM_PREVIEW + i, false); ret |= scene_obj_set_hide(scn, ITEM_BOX + i, false); ret |= scene_obj_set_hide(scn, ITEM_VERSION_NAME + i, false); ret |= scene_obj_set_hide(scn, ITEM_VERIFIED + i, false); + ret |= scene_obj_set_hide(scn, ITEM_LOCKED + i, + !(bflow->flags & BOOTFLOWF_ENCRYPTED)); /* Hide key in multiboot mode (not used with mouse) */ ret |= scene_obj_set_hide(scn, ITEM_KEY + i, true); @@ -422,6 +426,10 @@ static int multiboot_ui_add(struct udevice *dev, struct osinfo *info) logo = video_image_getptr(tick); ret |= scene_img(scn, "verified", ITEM_VERIFIED + seq, logo, NULL); + + logo = video_image_getptr(lock); + ret |= scene_img(scn, "locked", ITEM_LOCKED + seq, logo, + NULL); } ret = bootstd_get_priv(&std); diff --git a/test/boot/bootctl/bootctl.c b/test/boot/bootctl/bootctl.c index 532a73d6336..ff1a9722fe3 100644 --- a/test/boot/bootctl/bootctl.c +++ b/test/boot/bootctl/bootctl.c @@ -396,7 +396,7 @@ static int check_multiboot_ui(struct unit_test_state *uts, ut_assertok(bc_ui_add(ui_dev, &info[0])); ut_assertok(bc_ui_add(ui_dev, &info[1])); ut_assertok(bc_ui_render(ui_dev)); - ut_asserteq(13702, video_compress_fb(uts, vid_dev, false)); + ut_asserteq(17279, video_compress_fb(uts, vid_dev, false)); /* dump after render - buf2 is golden for multiboot_ui */ uc_priv = dev_get_uclass_priv(ui_dev); @@ -435,7 +435,7 @@ static int check_multiboot_ui(struct unit_test_state *uts, /* switch back to multiboot UI style and check against buf2 */ ut_assertok(bc_ui_switch_layout(ui_dev)); ut_assertok(bc_ui_render(ui_dev)); - ut_asserteq(13702, video_compress_fb(uts, vid_dev, false)); + ut_asserteq(17279, video_compress_fb(uts, vid_dev, false)); /* dump after switch back to multiboot - buf4 should match buf2 */ ut_assertok(membuf_new(&buf4, 4096)); -- 2.43.0