recovery: Fix the bug that truncates menu entries.
When there are 20 entries (like 10 last_log* and 10 last_kmg* in "view recovery logs"), there's no "Back" entry. Because the number of entries (21) exceeds text_rows (20) in WearRecoveryUI::StartMenu(). Since we have scrollable menu, having more entries than text_rows won't be an issue. Bug: 23752519 Change-Id: I12573d7a34852a1a3d130c9e88522cee737eb08f
This commit is contained in:
parent
337db14f27
commit
8e9c68019f
1 changed files with 6 additions and 1 deletions
|
@ -482,7 +482,12 @@ void WearRecoveryUI::StartMenu(const char* const * headers, const char* const *
|
||||||
if (text_rows > 0 && text_cols > 0) {
|
if (text_rows > 0 && text_cols > 0) {
|
||||||
menu_headers_ = headers;
|
menu_headers_ = headers;
|
||||||
size_t i = 0;
|
size_t i = 0;
|
||||||
for (; i < text_rows && items[i] != nullptr; i++) {
|
// "i < text_rows" is removed from the loop termination condition,
|
||||||
|
// which is different from the one in ScreenRecoveryUI::StartMenu().
|
||||||
|
// Because WearRecoveryUI supports scrollable menu, it's fine to have
|
||||||
|
// more entries than text_rows. The menu may be truncated otherwise.
|
||||||
|
// Bug: 23752519
|
||||||
|
for (; items[i] != nullptr; i++) {
|
||||||
strncpy(menu[i], items[i], text_cols - 1);
|
strncpy(menu[i], items[i], text_cols - 1);
|
||||||
menu[i][text_cols - 1] = '\0';
|
menu[i][text_cols - 1] = '\0';
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue