diff options
-rw-r--r-- | recovery.cpp | 62 |
1 files changed, 37 insertions, 25 deletions
diff --git a/recovery.cpp b/recovery.cpp index 5c60ce655..ff808998c 100644 --- a/recovery.cpp +++ b/recovery.cpp @@ -985,35 +985,47 @@ static void choose_recovery_file(Device* device) { } } -static void run_graphics_test(Device* device) { - // Switch to graphics screen. - ui->ShowText(false); +static void run_graphics_test() { + // Switch to graphics screen. + ui->ShowText(false); - ui->SetProgressType(RecoveryUI::INDETERMINATE); - ui->SetBackground(RecoveryUI::INSTALLING_UPDATE); - sleep(1); - - ui->SetBackground(RecoveryUI::ERROR); - sleep(1); - - ui->SetBackground(RecoveryUI::NO_COMMAND); - sleep(1); + ui->SetProgressType(RecoveryUI::INDETERMINATE); + ui->SetBackground(RecoveryUI::INSTALLING_UPDATE); + sleep(1); - ui->SetBackground(RecoveryUI::ERASING); - sleep(1); + ui->SetBackground(RecoveryUI::ERROR); + sleep(1); - ui->SetBackground(RecoveryUI::INSTALLING_UPDATE); + ui->SetBackground(RecoveryUI::NO_COMMAND); + sleep(1); - ui->SetProgressType(RecoveryUI::DETERMINATE); - ui->ShowProgress(1.0, 10.0); - float fraction = 0.0; - for (size_t i = 0; i < 100; ++i) { - fraction += .01; - ui->SetProgress(fraction); - usleep(100000); - } + ui->SetBackground(RecoveryUI::ERASING); + sleep(1); + + // Calling SetBackground() after SetStage() to trigger a redraw. + ui->SetStage(1, 3); + ui->SetBackground(RecoveryUI::INSTALLING_UPDATE); + sleep(1); + ui->SetStage(2, 3); + ui->SetBackground(RecoveryUI::INSTALLING_UPDATE); + sleep(1); + ui->SetStage(3, 3); + ui->SetBackground(RecoveryUI::INSTALLING_UPDATE); + sleep(1); + + ui->SetStage(-1, -1); + ui->SetBackground(RecoveryUI::INSTALLING_UPDATE); + + ui->SetProgressType(RecoveryUI::DETERMINATE); + ui->ShowProgress(1.0, 10.0); + float fraction = 0.0; + for (size_t i = 0; i < 100; ++i) { + fraction += .01; + ui->SetProgress(fraction); + usleep(100000); + } - ui->ShowText(true); + ui->ShowText(true); } // How long (in seconds) we wait for the fuse-provided package file to @@ -1181,7 +1193,7 @@ prompt_and_wait(Device* device, int status) { break; case Device::RUN_GRAPHICS_TEST: - run_graphics_test(device); + run_graphics_test(); break; case Device::MOUNT_SYSTEM: |