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

Commit 5823dd46 authored by Tianjie Xu's avatar Tianjie Xu Committed by Android (Google) Code Review
Browse files

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

parents 56870018 35926c4b
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 };