Merge "recovery: fix UI error when directories too many [1/1]" into main am: a57eebae81
Original change: https://android-review.googlesource.com/c/platform/bootable/recovery/+/2786283
Change-Id: I09756b7c1a3f2bb620349385ff25cc3fbca3d8e0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/recovery_ui/screen_ui.cpp b/recovery_ui/screen_ui.cpp
index ee3cbb1..37e0764 100644
--- a/recovery_ui/screen_ui.cpp
+++ b/recovery_ui/screen_ui.cpp
@@ -181,7 +181,15 @@
if (!scrollable()) {
offset += draw_funcs_.DrawHorizontalRule(y + offset) + 4;
}
- for (size_t i = MenuStart(); i < MenuEnd(); ++i) {
+
+ int items_block_height = gr_fb_height() - y - offset;;
+ int total = (char_height_ + 4) * (selection() + 1);;
+ int j = 0;
+ if (total > items_block_height) {
+ j = ((total - items_block_height) / (char_height_ + 4)) + 1;
+ }
+
+ for (size_t i = (MenuStart() + j); i < MenuEnd(); ++i) {
bool bold = false;
if (i == selection()) {
// Draw the highlight bar.