mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-11-26 19:25:02 +00:00
firmware: Prevent wraparound when scrolling through menus
BUG=chrome-os-partner:61275
BRANCH=None
TEST=reboot and scroll to ends of menus to make sure that
they don't wraparound.
Change-Id: I9ba83b23939140d23fe54858b9a10f873091ff72
Signed-off-by: Shelley Chen <shchen@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/426410
Reviewed-by: Randall Spangler <rspangler@chromium.org>
This commit is contained in:
@@ -657,15 +657,18 @@ VbError_t vb2_developer_menu(struct vb2_context *ctx, VbCommonParams *cparams)
|
|||||||
case VB_KEY_UP:
|
case VB_KEY_UP:
|
||||||
vb2_get_current_menu_size(current_menu,
|
vb2_get_current_menu_size(current_menu,
|
||||||
NULL, &menu_size);
|
NULL, &menu_size);
|
||||||
current_menu_idx = (current_menu_idx+menu_size-1) %
|
// do not wrap selection index
|
||||||
menu_size;
|
if (current_menu_idx > 0)
|
||||||
|
current_menu_idx--;
|
||||||
vb2_print_current_menu();
|
vb2_print_current_menu();
|
||||||
break;
|
break;
|
||||||
case VB_BUTTON_VOL_DOWN:
|
case VB_BUTTON_VOL_DOWN:
|
||||||
case VB_KEY_DOWN:
|
case VB_KEY_DOWN:
|
||||||
vb2_get_current_menu_size(current_menu,
|
vb2_get_current_menu_size(current_menu,
|
||||||
NULL, &menu_size);
|
NULL, &menu_size);
|
||||||
current_menu_idx = (current_menu_idx+1) % menu_size;
|
// do no wrap selection index
|
||||||
|
if (current_menu_idx < menu_size-1)
|
||||||
|
current_menu_idx++;
|
||||||
vb2_print_current_menu();
|
vb2_print_current_menu();
|
||||||
break;
|
break;
|
||||||
case VB_KEY_RIGHT:
|
case VB_KEY_RIGHT:
|
||||||
@@ -907,14 +910,16 @@ VbError_t vb2_recovery_menu(struct vb2_context *ctx, VbCommonParams *cparams)
|
|||||||
case VB_KEY_UP:
|
case VB_KEY_UP:
|
||||||
VB2_DEBUG("VbBootRecoveryMenu() - pressed key VB_KEY_UP\n");
|
VB2_DEBUG("VbBootRecoveryMenu() - pressed key VB_KEY_UP\n");
|
||||||
vb2_get_current_menu_size(current_menu, NULL, &menu_size);
|
vb2_get_current_menu_size(current_menu, NULL, &menu_size);
|
||||||
current_menu_idx = (current_menu_idx+menu_size-1) % menu_size;
|
if (current_menu_idx > 0)
|
||||||
|
current_menu_idx--;
|
||||||
vb2_print_current_menu();
|
vb2_print_current_menu();
|
||||||
break;
|
break;
|
||||||
case VB_BUTTON_VOL_DOWN:
|
case VB_BUTTON_VOL_DOWN:
|
||||||
case VB_KEY_DOWN:
|
case VB_KEY_DOWN:
|
||||||
VB2_DEBUG("VbBootRecoveryMenu() - pressed key VB_KEY_DOWN\n");
|
VB2_DEBUG("VbBootRecoveryMenu() - pressed key VB_KEY_DOWN\n");
|
||||||
vb2_get_current_menu_size(current_menu, NULL, &menu_size);
|
vb2_get_current_menu_size(current_menu, NULL, &menu_size);
|
||||||
current_menu_idx = (current_menu_idx+1) % menu_size;
|
if (current_menu_idx < menu_size-1)
|
||||||
|
current_menu_idx++;
|
||||||
vb2_print_current_menu();
|
vb2_print_current_menu();
|
||||||
break;
|
break;
|
||||||
case VB_KEY_RIGHT:
|
case VB_KEY_RIGHT:
|
||||||
|
|||||||
Reference in New Issue
Block a user