bootctl: Show a lock symbol for locked disks
When an OS is using disk encryption, show a lock symbol next to it. Signed-off-by: Simon Glass <simon.glass@canonical.com>
This commit is contained in:
@@ -140,11 +140,15 @@ static int multiboot_set_item_props(struct scene *scn, int i,
|
|||||||
IMAGES_Y + 5);
|
IMAGES_Y + 5);
|
||||||
scene_obj_set_pos(scn, ITEM_VERIFIED + i,
|
scene_obj_set_pos(scn, ITEM_VERIFIED + i,
|
||||||
x + BOX_MARGIN + 40 + 32, IMAGES_Y + 80 + 21);
|
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_PREVIEW + i, false);
|
||||||
ret |= scene_obj_set_hide(scn, ITEM_BOX + 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_VERSION_NAME + i, false);
|
||||||
ret |= scene_obj_set_hide(scn, ITEM_VERIFIED + 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) */
|
/* Hide key in multiboot mode (not used with mouse) */
|
||||||
ret |= scene_obj_set_hide(scn, ITEM_KEY + i, true);
|
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);
|
logo = video_image_getptr(tick);
|
||||||
ret |= scene_img(scn, "verified", ITEM_VERIFIED + seq, logo,
|
ret |= scene_img(scn, "verified", ITEM_VERIFIED + seq, logo,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
|
logo = video_image_getptr(lock);
|
||||||
|
ret |= scene_img(scn, "locked", ITEM_LOCKED + seq, logo,
|
||||||
|
NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = bootstd_get_priv(&std);
|
ret = bootstd_get_priv(&std);
|
||||||
|
|||||||
@@ -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[0]));
|
||||||
ut_assertok(bc_ui_add(ui_dev, &info[1]));
|
ut_assertok(bc_ui_add(ui_dev, &info[1]));
|
||||||
ut_assertok(bc_ui_render(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 render - buf2 is golden for multiboot_ui */
|
/* dump after render - buf2 is golden for multiboot_ui */
|
||||||
uc_priv = dev_get_uclass_priv(ui_dev);
|
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 */
|
/* switch back to multiboot UI style and check against buf2 */
|
||||||
ut_assertok(bc_ui_switch_layout(ui_dev));
|
ut_assertok(bc_ui_switch_layout(ui_dev));
|
||||||
ut_assertok(bc_ui_render(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 */
|
/* dump after switch back to multiboot - buf4 should match buf2 */
|
||||||
ut_assertok(membuf_new(&buf4, 4096));
|
ut_assertok(membuf_new(&buf4, 4096));
|
||||||
|
|||||||
Reference in New Issue
Block a user