diff options
| author | Michael Bestas <mkbestas@lineageos.org> | 2019-09-27 19:52:13 +0300 |
|---|---|---|
| committer | Tim Zimmermann <tim@linux4.de> | 2022-08-23 17:55:21 +0200 |
| commit | b7e71ff78c6e1306292993ba8da16b0a96d18a0a (patch) | |
| tree | 1286dd7fc9d4d26140192d2babfc5abbf59ffc77 /install | |
| parent | 0242aa21a94c674390874a50158a5b99f2094562 (diff) | |
recovery: Add wipe system partition option
Change-Id: Id606cef249a7464037443de6265055803c290d82
Diffstat (limited to 'install')
| -rw-r--r-- | install/include/install/wipe_data.h | 3 | ||||
| -rw-r--r-- | install/wipe_data.cpp | 12 |
2 files changed, 15 insertions, 0 deletions
diff --git a/install/include/install/wipe_data.h b/install/include/install/wipe_data.h index 42cad871..fc8f365c 100644 --- a/install/include/install/wipe_data.h +++ b/install/include/install/wipe_data.h @@ -28,3 +28,6 @@ bool WipeCache(RecoveryUI* ui, const std::function<bool()>& confirm); // Returns true on success. bool WipeData(Device* device); + +// Returns true on success. +bool WipeSystem(RecoveryUI* ui, const std::function<bool()>& confirm); diff --git a/install/wipe_data.cpp b/install/wipe_data.cpp index 57565e24..821a1e32 100644 --- a/install/wipe_data.cpp +++ b/install/wipe_data.cpp @@ -24,6 +24,7 @@ #include <android-base/file.h> #include <android-base/logging.h> #include <android-base/stringprintf.h> +#include <fs_mgr/roots.h> #include "install/snapshot_utils.h" #include "otautil/dirutil.h" @@ -110,3 +111,14 @@ bool WipeData(Device* device) { ui->Print("Data wipe %s.\n", success ? "complete" : "failed"); return success; } + +bool WipeSystem(RecoveryUI* ui, const std::function<bool()>& confirm_func) { + if (confirm_func && !confirm_func()) { + return false; + } + + ui->Print("\n-- Wiping system...\n"); + bool success = EraseVolume(android::fs_mgr::GetSystemRoot().c_str(), ui); + ui->Print("System wipe %s.\n", success ? "complete" : "failed"); + return success; +} |
