Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 23c7af79 authored by Tianjie Xu's avatar Tianjie Xu Committed by android-build-merger
Browse files

Merge "Add ability to show "installing security update"" into nyc-dev

am: 5823dd46

* commit '5823dd46':
  Add ability to show "installing security update"

Change-Id: Ibe1667e9bd721d73a972f9c21a322c8ea088dc63
parents f13662a3 5823dd46
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -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 },
};

@@ -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) {
@@ -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;
@@ -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) {
+14 −1
Original line number Diff line number Diff line
@@ -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();

@@ -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);
+1 −0
Original line number Diff line number Diff line
@@ -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);
+1 −0
Original line number Diff line number Diff line
@@ -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) { }
+1 −0
Original line number Diff line number Diff line
@@ -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 };