Fix some issues with wipe partition list
Change-Id: Ie7d5878faf86b8fa824b72211be7fd3596b471d7
This commit is contained in:
@@ -818,6 +818,13 @@ int GUIAction::doAction(Action action, int isThreaded /* = 0 */)
|
||||
} else {
|
||||
skip = true;
|
||||
}
|
||||
} else if (wipe_path == "INTERNAL") {
|
||||
if (!PartitionManager.Wipe_Media_From_Data()) {
|
||||
ret_val = false;
|
||||
break;
|
||||
} else {
|
||||
skip = true;
|
||||
}
|
||||
}
|
||||
if (!skip) {
|
||||
if (!PartitionManager.Wipe_By_Path(wipe_path)) {
|
||||
|
||||
+4
-1
@@ -480,7 +480,7 @@ bool TWPartition::Process_Flags(string Flags, bool Display_Error) {
|
||||
Storage_Name = Display_Name;
|
||||
if (!has_display_name && has_storage_name)
|
||||
Display_Name = Storage_Name;
|
||||
if (has_display_name && !has_backup_name)
|
||||
if (has_display_name && !has_backup_name && Backup_Display_Name != "Android Secure")
|
||||
Backup_Display_Name = Display_Name;
|
||||
if (!has_display_name && has_backup_name)
|
||||
Display_Name = Backup_Display_Name;
|
||||
@@ -1158,6 +1158,9 @@ bool TWPartition::Wipe_Encryption() {
|
||||
return false;
|
||||
|
||||
Has_Data_Media = false;
|
||||
Decrypted_Block_Device = "";
|
||||
Is_Decrypted = false;
|
||||
Is_Encrypted = false;
|
||||
if (Wipe(Fstab_File_System)) {
|
||||
Has_Data_Media = Save_Data_Media;
|
||||
if (Has_Data_Media && !Symlink_Mount_Point.empty()) {
|
||||
|
||||
@@ -1191,6 +1191,9 @@ int TWPartitionManager::Wipe_Media_From_Data(void) {
|
||||
return -1;
|
||||
if (dat->Has_Data_Media) {
|
||||
dat->Recreate_Media_Folder();
|
||||
// Unmount and remount - slightly hackish way to ensure that the "/sdcard" folder is still mounted properly after wiping
|
||||
dat->UnMount(false);
|
||||
dat->Mount(false);
|
||||
}
|
||||
return true;
|
||||
} else {
|
||||
@@ -1417,6 +1420,7 @@ int TWPartitionManager::Decrypt_Device(string Password) {
|
||||
dat->Is_Decrypted = true;
|
||||
dat->Decrypted_Block_Device = crypto_blkdev;
|
||||
dat->Setup_File_System(false);
|
||||
dat->Current_File_System = dat->Fstab_File_System; // Needed if we're ignoring blkid because encrypted devices start out as emmc
|
||||
gui_print("Data successfully decrypted, new block device: '%s'\n", crypto_blkdev);
|
||||
|
||||
#ifdef CRYPTO_SD_FS_TYPE
|
||||
@@ -1848,6 +1852,13 @@ void TWPartitionManager::Get_Partition_List(string ListType, std::vector<Partiti
|
||||
part.selected = 0;
|
||||
Partition_List->push_back(part);
|
||||
}
|
||||
if ((*iter)->Has_Data_Media) {
|
||||
struct PartitionList datamedia;
|
||||
datamedia.Display_Name = (*iter)->Storage_Name;
|
||||
datamedia.Mount_Point = "INTERNAL";
|
||||
datamedia.selected = 0;
|
||||
Partition_List->push_back(datamedia);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
LOGERR("Unknown list type '%s' requested for TWPartitionManager::Get_Partition_List\n", ListType.c_str());
|
||||
|
||||
Reference in New Issue
Block a user