vboot/ui: Pass screen and locale_id to vb2ex_prepare_log_screen()
To support multi-line title for log screens, we need to support different size of log box in each screen. Therefore, pass the screen and locale information to vb2ex_prepare_log_screen() so that the number of lines per page can be determined. BUG=b:165187866 TEST=emerge-asurada depthcharge BRANCH=none Cq-Depend: chromium:2522156 Change-Id: I652d6261ed559a948e7bd578da3ec81d54374039 Signed-off-by: Yu-Ping Wu <yupingso@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/2522416 Reviewed-by: Hsuan Ting Chen <roccochen@chromium.org> Reviewed-by: Joel Kitching <kitching@chromium.org>
This commit is contained in:
parent
9a820d7351
commit
abcd6d2454
|
@ -87,7 +87,8 @@ const char *vb2ex_get_firmware_log(int reset)
|
|||
}
|
||||
|
||||
__attribute__((weak))
|
||||
uint32_t vb2ex_prepare_log_screen(const char *str)
|
||||
uint32_t vb2ex_prepare_log_screen(enum vb2_screen screen, uint32_t locale_id,
|
||||
const char *str)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
|
|
@ -297,7 +297,8 @@ static vb2_error_t debug_info_init(struct vb2_ui_context *ui)
|
|||
ui->error_code = VB2_UI_ERROR_DEBUG_LOG;
|
||||
return vb2_ui_screen_back(ui);
|
||||
}
|
||||
ui->state->page_count = vb2ex_prepare_log_screen(log_string);
|
||||
ui->state->page_count = vb2ex_prepare_log_screen(
|
||||
ui->state->screen->id, ui->locale_id, log_string);
|
||||
if (ui->state->page_count == 0) {
|
||||
VB2_DEBUG("ERROR: Failed to prepare debug info screen\n");
|
||||
ui->error_code = VB2_UI_ERROR_DEBUG_LOG;
|
||||
|
@ -315,7 +316,8 @@ static vb2_error_t debug_info_reinit(struct vb2_ui_context *ui)
|
|||
ui->error_code = VB2_UI_ERROR_DEBUG_LOG;
|
||||
return vb2_ui_screen_back(ui);
|
||||
}
|
||||
ui->state->page_count = vb2ex_prepare_log_screen(log_string);
|
||||
ui->state->page_count = vb2ex_prepare_log_screen(
|
||||
ui->state->screen->id, ui->locale_id, log_string);
|
||||
if (ui->state->page_count == 0) {
|
||||
VB2_DEBUG("ERROR: Failed to prepare debug info screen\n");
|
||||
ui->error_code = VB2_UI_ERROR_DEBUG_LOG;
|
||||
|
@ -359,7 +361,8 @@ static vb2_error_t firmware_log_init(struct vb2_ui_context *ui)
|
|||
ui->error_code = VB2_UI_ERROR_FIRMWARE_LOG;
|
||||
return vb2_ui_screen_back(ui);
|
||||
}
|
||||
ui->state->page_count = vb2ex_prepare_log_screen(log_string);
|
||||
ui->state->page_count = vb2ex_prepare_log_screen(
|
||||
ui->state->screen->id, ui->locale_id, log_string);
|
||||
if (ui->state->page_count == 0) {
|
||||
VB2_DEBUG("ERROR: Failed to prepare firmware log screen\n");
|
||||
ui->error_code = VB2_UI_ERROR_FIRMWARE_LOG;
|
||||
|
@ -377,7 +380,8 @@ static vb2_error_t firmware_log_reinit(struct vb2_ui_context *ui)
|
|||
ui->error_code = VB2_UI_ERROR_FIRMWARE_LOG;
|
||||
return vb2_ui_screen_back(ui);
|
||||
}
|
||||
ui->state->page_count = vb2ex_prepare_log_screen(log_string);
|
||||
ui->state->page_count = vb2ex_prepare_log_screen(
|
||||
ui->state->screen->id, ui->locale_id, log_string);
|
||||
if (ui->state->page_count == 0) {
|
||||
VB2_DEBUG("ERROR: Failed to prepare firmware log screen\n");
|
||||
ui->error_code = VB2_UI_ERROR_FIRMWARE_LOG;
|
||||
|
@ -1082,7 +1086,8 @@ static vb2_error_t diagnostics_storage_init(struct vb2_ui_context *ui)
|
|||
return vb2_ui_screen_back(ui);
|
||||
}
|
||||
|
||||
ui->state->page_count = vb2ex_prepare_log_screen(log_string);
|
||||
ui->state->page_count = vb2ex_prepare_log_screen(
|
||||
ui->state->screen->id, ui->locale_id, log_string);
|
||||
if (ui->state->page_count == 0) {
|
||||
VB2_DEBUG("ERROR: Failed to prepare storage log screen\n");
|
||||
ui->error_code = VB2_UI_ERROR_DIAGNOSTICS;
|
||||
|
@ -1140,7 +1145,8 @@ static vb2_error_t diagnostics_memory_update_screen(struct vb2_ui_context *ui,
|
|||
return vb2_ui_screen_back(ui);
|
||||
}
|
||||
|
||||
ui->state->page_count = vb2ex_prepare_log_screen(log_string);
|
||||
ui->state->page_count = vb2ex_prepare_log_screen(
|
||||
ui->state->screen->id, ui->locale_id, log_string);
|
||||
if (ui->state->page_count == 0) {
|
||||
VB2_DEBUG("ERROR: Failed to prepare memory log screen, error: "
|
||||
"%#x\n", rv);
|
||||
|
|
|
@ -1491,10 +1491,13 @@ const char *vb2ex_get_firmware_log(int reset);
|
|||
* pages in the log string is returned. If the log string ever changes, this
|
||||
* function should be called again before the next vb2ex_display_ui() call.
|
||||
*
|
||||
* @param screen Screen to display the log.
|
||||
* @param locale_id Id of current locale.
|
||||
* @param str The log string to display.
|
||||
* @return The number of pages after pagination. 0 if none or error.
|
||||
*/
|
||||
uint32_t vb2ex_prepare_log_screen(const char *str);
|
||||
uint32_t vb2ex_prepare_log_screen(enum vb2_screen screen, uint32_t locale_id,
|
||||
const char *str);
|
||||
|
||||
/**
|
||||
* Get the full storage diagnostic log.
|
||||
|
|
|
@ -560,7 +560,8 @@ const char *vb2ex_get_firmware_log(int reset)
|
|||
return mock_firmware_log_buf;
|
||||
}
|
||||
|
||||
uint32_t vb2ex_prepare_log_screen(const char *str)
|
||||
uint32_t vb2ex_prepare_log_screen(enum vb2_screen screen, uint32_t locale_id,
|
||||
const char *str)
|
||||
{
|
||||
if (mock_prepare_log_count < ARRAY_SIZE(mock_prepare_log))
|
||||
strncpy(mock_prepare_log[mock_prepare_log_count],
|
||||
|
|
Loading…
Reference in New Issue