Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f2be3bd7 authored by Tao Bao's avatar Tao Bao
Browse files

wear_ui: Expose menu_unusable_rows via Makefile var.

This variable is useful on small screens (e.g. on watches) to handle
long menus. We should have better way to handle this value smartly.
Prior to that, expose the value to be overridable by using the generic
wearable UI module (librecovery_ui_wear).

Bug: 64307776
Test: Define the variable, build and boot into recovery image and check
      the UI menu.
Change-Id: I5d7a6baa8bb4cc852bfcc2a7b3cc9686c1c8817e
(cherry picked from commit eea3af3f911d36ac1a82a9fb95d24912cc07e3b1)
parent 016120f3
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -131,6 +131,12 @@ else
LOCAL_CFLAGS += -DRECOVERY_UI_ANIMATION_FPS=30
endif

ifneq ($(TARGET_RECOVERY_UI_MENU_UNUSABLE_ROWS),)
LOCAL_CFLAGS += -DRECOVERY_UI_MENU_UNUSABLE_ROWS=$(TARGET_RECOVERY_UI_MENU_UNUSABLE_ROWS)
else
LOCAL_CFLAGS += -DRECOVERY_UI_MENU_UNUSABLE_ROWS=9
endif

ifneq ($(TARGET_RECOVERY_UI_VR_STEREO_OFFSET),)
LOCAL_CFLAGS += -DRECOVERY_UI_VR_STEREO_OFFSET=$(TARGET_RECOVERY_UI_VR_STEREO_OFFSET)
else
+4 −3
Original line number Diff line number Diff line
@@ -51,8 +51,9 @@ static double now() {
}

WearRecoveryUI::WearRecoveryUI()
    : kProgressBarBaseline(RECOVERY_UI_PROGRESS_BAR_BASELINE), menu_unusable_rows(9) {
  // TODO: menu_unusable_rows should be computed based on the lines in draw_screen_locked().
    : kProgressBarBaseline(RECOVERY_UI_PROGRESS_BAR_BASELINE),
      kMenuUnusableRows(RECOVERY_UI_MENU_UNUSABLE_ROWS) {
  // TODO: kMenuUnusableRows should be computed based on the lines in draw_screen_locked().

  // TODO: The following three variables are likely not needed. The first two are detected
  // automatically in ScreenRecoveryUI::LoadAnimation(), based on the actual files seen on device.
@@ -268,7 +269,7 @@ void WearRecoveryUI::StartMenu(const char* const* headers, const char* const* it
    show_menu = true;
    menu_sel = initial_selection;
    menu_start = 0;
    menu_end = visible_text_rows - 1 - menu_unusable_rows;
    menu_end = visible_text_rows - 1 - kMenuUnusableRows;
    if (menu_items <= menu_end) menu_end = menu_items;
    update_screen_locked();
  }
+1 −1
Original line number Diff line number Diff line
@@ -46,7 +46,7 @@ class WearRecoveryUI : public ScreenRecoveryUI {

  // Unusable rows when displaying the recovery menu, including the lines for headers (Android
  // Recovery, build id and etc) and the bottom lines that may otherwise go out of the screen.
  int menu_unusable_rows;
  const int kMenuUnusableRows;

  int GetProgressBaseline() const override;