Fix some issues with wipe partition list

Change-Id: Ie7d5878faf86b8fa824b72211be7fd3596b471d7
This commit is contained in:
Dees_Troy
2013-07-01 20:20:58 +00:00
parent 83bd483f3d
commit 74fb2e94d5
3 changed files with 22 additions and 1 deletions
+7
View File
@@ -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
View File
@@ -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()) {
+11
View File
@@ -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());