From f013642477dbe0a5ed8d440571e9c8676ed42b2d Mon Sep 17 00:00:00 2001 From: Tao Bao Date: Sat, 21 Jan 2017 13:03:25 -0800 Subject: Print with newline for ui_print. Currently the ui_print command between the recovery and updater doesn't append newline. Updater has to send an extra "ui_print" command without any argument to get the line break. This looks unnecessary. And not all the callers (including the ones in bootable/recovery) are following this protocol when sending the ui_print command. This CL simplifies the protocol to always print with a newline for ui_print command. When updating from an old recovery with the new updater, all the ui_print'd strings would appear in one line as a side effect. But a) it would only affect the text-mode UI, which won't be shown to users; b) log files won't be affected. Bug: 32305035 Test: Apply an update with the new updater on top of an old and new recovery image respectively. Change-Id: I305a0ffc6f180daf60919cf99d24d1495d68749b --- install.cpp | 6 +----- updater/install.cpp | 1 - updater/updater.cpp | 1 - 3 files changed, 1 insertion(+), 7 deletions(-) diff --git a/install.cpp b/install.cpp index d3ab2136d..959a74222 100644 --- a/install.cpp +++ b/install.cpp @@ -420,11 +420,7 @@ static int try_update_binary(const char* path, ZipArchiveHandle zip, bool* wipe_ LOG(ERROR) << "invalid \"set_progress\" parameters: " << line; } } else if (command == "ui_print") { - if (!args.empty()) { - ui->PrintOnScreenOnly("%s", args.c_str()); - } else { - ui->PrintOnScreenOnly("\n"); - } + ui->PrintOnScreenOnly("%s\n", args.c_str()); fflush(stdout); } else if (command == "wipe_cache") { *wipe_cache = true; diff --git a/updater/install.cpp b/updater/install.cpp index 643145447..7a8e92f6c 100644 --- a/updater/install.cpp +++ b/updater/install.cpp @@ -76,7 +76,6 @@ static void uiPrint(State* state, const std::string& buffer) { for (auto& line : lines) { if (!line.empty()) { fprintf(ui->cmd_pipe, "ui_print %s\n", line.c_str()); - fprintf(ui->cmd_pipe, "ui_print\n"); } } diff --git a/updater/updater.cpp b/updater/updater.cpp index 473066263..22c060fcb 100644 --- a/updater/updater.cpp +++ b/updater/updater.cpp @@ -191,7 +191,6 @@ int main(int argc, char** argv) { } fprintf(cmd_pipe, "ui_print %s\n", line.c_str()); } - fprintf(cmd_pipe, "ui_print\n"); } if (state.error_code != kNoError) { -- cgit v1.2.3