Skip to content

Commit

Permalink
Merge "Add ability to show "installing security update"" into nyc-dev
Browse files Browse the repository at this point in the history
  • Loading branch information
Tianjie Xu authored and Android (Google) Code Review committed May 2, 2016
2 parents 5687001 + 35926c4 commit 5823dd4
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 1 deletion.
6 changes: 6 additions & 0 deletions recovery.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ static const struct option OPTIONS[] = {
{ "stages", required_argument, NULL, 'g' },
{ "shutdown_after", no_argument, NULL, 'p' },
{ "reason", required_argument, NULL, 'r' },
{ "security", no_argument, NULL, 'e'},
{ NULL, 0, NULL, 0 },
};

Expand Down Expand Up @@ -1344,6 +1345,7 @@ int main(int argc, char **argv) {
bool just_exit = false;
bool shutdown_after = false;
int retry_count = 0;
bool security_update = false;

int arg;
while ((arg = getopt_long(argc, argv, "", OPTIONS, NULL)) != -1) {
Expand All @@ -1368,6 +1370,7 @@ int main(int argc, char **argv) {
}
case 'p': shutdown_after = true; break;
case 'r': reason = optarg; break;
case 'e': security_update = true; break;
case '?':
LOGE("Invalid command argument\n");
continue;
Expand All @@ -1387,6 +1390,9 @@ int main(int argc, char **argv) {

ui->SetLocale(locale);
ui->Init();
// Set background string to "installing security update" for security update,
// otherwise set it to "installing system update".
ui->SetSystemUpdateText(security_update);

int st_cur, st_max;
if (stage != NULL && sscanf(stage, "%d/%d", &st_cur, &st_max) == 2) {
Expand Down
15 changes: 14 additions & 1 deletion screen_ui.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -425,6 +425,16 @@ static char** Alloc2d(size_t rows, size_t cols) {
return result;
}

// Choose the right background string to display during update.
void ScreenRecoveryUI::SetSystemUpdateText(bool security_update) {
if (security_update) {
LoadLocalizedBitmap("installing_security_text", &installing_text);
} else {
LoadLocalizedBitmap("installing_text", &installing_text);
}
Redraw();
}

void ScreenRecoveryUI::Init() {
gr_init();

Expand All @@ -450,7 +460,10 @@ void ScreenRecoveryUI::Init() {
LoadBitmap("stage_empty", &stageMarkerEmpty);
LoadBitmap("stage_fill", &stageMarkerFill);

LoadLocalizedBitmap("installing_text", &installing_text);
// Background text for "installing_update" could be "installing update"
// or "installing security update". It will be set after UI init according
// to commands in BCB.
installing_text = nullptr;
LoadLocalizedBitmap("erasing_text", &erasing_text);
LoadLocalizedBitmap("no_command_text", &no_command_text);
LoadLocalizedBitmap("error_text", &error_text);
Expand Down
1 change: 1 addition & 0 deletions screen_ui.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ class ScreenRecoveryUI : public RecoveryUI {

// overall recovery state ("background image")
void SetBackground(Icon icon);
void SetSystemUpdateText(bool security_update);

// progress indicator
void SetProgressType(ProgressType type);
Expand Down
1 change: 1 addition & 0 deletions tests/component/verifier_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ class MockUI : public RecoveryUI {
void SetStage(int, int) { }
void SetLocale(const char*) { }
void SetBackground(Icon icon) { }
void SetSystemUpdateText(bool security_update) { }

void SetProgressType(ProgressType determinate) { }
void ShowProgress(float portion, float seconds) { }
Expand Down
1 change: 1 addition & 0 deletions ui.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ class RecoveryUI {
// Set the overall recovery state ("background image").
enum Icon { NONE, INSTALLING_UPDATE, ERASING, NO_COMMAND, ERROR };
virtual void SetBackground(Icon icon) = 0;
virtual void SetSystemUpdateText(bool security_update) = 0;

// --- progress indicator ---
enum ProgressType { EMPTY, INDETERMINATE, DETERMINATE };
Expand Down

0 comments on commit 5823dd4

Please sign in to comment.