From 32b4e72a24a483b691c72f12e5abec4a58fecf4f Mon Sep 17 00:00:00 2001 From: Tianjie Date: Tue, 2 Mar 2021 16:42:07 -0800 Subject: [PATCH] Bring up the erase animation early for data wipe Right now the "Erasing" animation displays after the merge step during the FDR process; and the merge can take 3-4 minutes. The users maybe confused about the blank screen and forcefully reboot the device. Bug: 181636823 Test: add sleep merge, check the animation displays correctly. Change-Id: Ib23b1ed3a84e95640271a429c51a3d3c142dc404 --- install/wipe_data.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/install/wipe_data.cpp b/install/wipe_data.cpp index 28720858..4eecf72c 100644 --- a/install/wipe_data.cpp +++ b/install/wipe_data.cpp @@ -41,9 +41,6 @@ static bool EraseVolume(const char* volume, RecoveryUI* ui, bool convert_fbe) { bool is_cache = (strcmp(volume, CACHE_ROOT) == 0); bool is_data = (strcmp(volume, DATA_ROOT) == 0); - ui->SetBackground(RecoveryUI::ERASING); - ui->SetProgressType(RecoveryUI::INDETERMINATE); - std::vector log_files; if (is_cache) { // If we're reformatting /cache, we load any past logs (i.e. "/cache/recovery/last_*") and the @@ -97,6 +94,9 @@ bool WipeCache(RecoveryUI* ui, const std::function& confirm_func) { } ui->Print("\n-- Wiping cache...\n"); + ui->SetBackground(RecoveryUI::ERASING); + ui->SetProgressType(RecoveryUI::INDETERMINATE); + bool success = EraseVolume("/cache", ui, false); ui->Print("Cache wipe %s.\n", success ? "complete" : "failed"); return success; @@ -105,6 +105,8 @@ bool WipeCache(RecoveryUI* ui, const std::function& confirm_func) { bool WipeData(Device* device, bool convert_fbe) { RecoveryUI* ui = device->GetUI(); ui->Print("\n-- Wiping data...\n"); + ui->SetBackground(RecoveryUI::ERASING); + ui->SetProgressType(RecoveryUI::INDETERMINATE); if (!FinishPendingSnapshotMerges(device)) { ui->Print("Unable to check update status or complete merge, cannot wipe partitions.\n");