Add partition list GUI element

Add partition list GUI element and update backup, restore, mount,
storage selection, and wipe sections of GUI and partition manager
code to reflect the new GUI element. Update ORS engine to handle
new backup and restore setup.

Fix a bug with decrypt.
Add 1080x1920 layout.

Change-Id: Iaa2f44cb707167e66f935452f076ba00e68a2aa4
This commit is contained in:
Dees_Troy
2013-03-30 08:56:39 -05:00
parent 3b51163329
commit a13d74fc95
79 changed files with 9597 additions and 9380 deletions
+39 -77
View File
@@ -215,52 +215,41 @@ int OpenRecoveryScript::run_script_file(void) {
DataManager::SetValue("tw_restore", folder_path);
PartitionManager.Set_Restore_Files(folder_path);
string Partition_List;
DataManager::GetValue("tw_restore_list", Partition_List);
if (strlen(partitions) != 0) {
int tw_restore_system = 0;
int tw_restore_data = 0;
int tw_restore_cache = 0;
int tw_restore_recovery = 0;
int tw_restore_boot = 0;
int tw_restore_andsec = 0;
int tw_restore_sdext = 0;
int tw_restore_sp1 = 0;
int tw_restore_sp2 = 0;
int tw_restore_sp3 = 0;
string Restore_List;
memset(value2, 0, sizeof(value2));
strcpy(value2, partitions);
ui_print("Setting restore options: '%s':\n", value2);
line_len = strlen(value2);
for (i=0; i<line_len; i++) {
if ((value2[i] == 'S' || value2[i] == 's') && DataManager::GetIntValue(TW_RESTORE_SYSTEM_VAR) > 0) {
tw_restore_system = 1;
if ((value2[i] == 'S' || value2[i] == 's') && Partition_List.find("/system;") != string::npos) {
Restore_List += "/system;";
ui_print("System\n");
} else if ((value2[i] == 'D' || value2[i] == 'd') && DataManager::GetIntValue(TW_RESTORE_DATA_VAR) > 0) {
tw_restore_data = 1;
} else if ((value2[i] == 'D' || value2[i] == 'd') && Partition_List.find("/data;") != string::npos) {
Restore_List += "/data;";
ui_print("Data\n");
} else if ((value2[i] == 'C' || value2[i] == 'c') && DataManager::GetIntValue(TW_RESTORE_CACHE_VAR) > 0) {
tw_restore_cache = 1;
} else if ((value2[i] == 'C' || value2[i] == 'c') && Partition_List.find("/cache;") != string::npos) {
Restore_List += "/cache;";
ui_print("Cache\n");
} else if ((value2[i] == 'R' || value2[i] == 'r') && DataManager::GetIntValue(TW_RESTORE_RECOVERY_VAR) > 0) {
tw_restore_recovery = 1;
ui_print("Recovery\n");
} else if ((value2[i] == 'R' || value2[i] == 'r') && Partition_List.find("/recovery;") != string::npos) {
ui_print("Recovery -- Not allowed to restore recovery\n");
} else if (value2[i] == '1' && DataManager::GetIntValue(TW_RESTORE_SP1_VAR) > 0) {
tw_restore_sp1 = 1;
ui_print("%s\n", "Special1");
ui_print("%s\n", "Special1 -- No Longer Supported...");
} else if (value2[i] == '2' && DataManager::GetIntValue(TW_RESTORE_SP2_VAR) > 0) {
tw_restore_sp2 = 1;
ui_print("%s\n", "Special2");
ui_print("%s\n", "Special2 -- No Longer Supported...");
} else if (value2[i] == '3' && DataManager::GetIntValue(TW_RESTORE_SP3_VAR) > 0) {
tw_restore_sp3 = 1;
ui_print("%s\n", "Special3");
} else if ((value2[i] == 'B' || value2[i] == 'b') && DataManager::GetIntValue(TW_RESTORE_BOOT_VAR) > 0) {
tw_restore_boot = 1;
ui_print("%s\n", "Special3 -- No Longer Supported...");
} else if ((value2[i] == 'B' || value2[i] == 'b') && Partition_List.find("/boot;") != string::npos) {
Restore_List += "/boot;";
ui_print("Boot\n");
} else if ((value2[i] == 'A' || value2[i] == 'a') && DataManager::GetIntValue(TW_RESTORE_ANDSEC_VAR) > 0) {
tw_restore_andsec = 1;
} else if ((value2[i] == 'A' || value2[i] == 'a') && Partition_List.find("/and-sec;") != string::npos) {
Restore_List += "/and-sec;";
ui_print("Android Secure\n");
} else if ((value2[i] == 'E' || value2[i] == 'e') && DataManager::GetIntValue(TW_RESTORE_SDEXT_VAR) > 0) {
tw_restore_sdext = 1;
} else if ((value2[i] == 'E' || value2[i] == 'e') && Partition_List.find("/sd-ext;") != string::npos) {
Restore_List += "/sd-ext;";
ui_print("SD-Ext\n");
} else if (value2[i] == 'M' || value2[i] == 'm') {
DataManager::SetValue(TW_SKIP_MD5_CHECK_VAR, 1);
@@ -268,29 +257,14 @@ int OpenRecoveryScript::run_script_file(void) {
}
}
if (DataManager::GetIntValue(TW_RESTORE_SYSTEM_VAR) && !tw_restore_system)
DataManager::SetValue(TW_RESTORE_SYSTEM_VAR, 0);
if (DataManager::GetIntValue(TW_RESTORE_DATA_VAR) && !tw_restore_data)
DataManager::SetValue(TW_RESTORE_DATA_VAR, 0);
if (DataManager::GetIntValue(TW_RESTORE_CACHE_VAR) && !tw_restore_cache)
DataManager::SetValue(TW_RESTORE_CACHE_VAR, 0);
if (DataManager::GetIntValue(TW_RESTORE_RECOVERY_VAR) && !tw_restore_recovery)
DataManager::SetValue(TW_RESTORE_RECOVERY_VAR, 0);
if (DataManager::GetIntValue(TW_RESTORE_BOOT_VAR) && !tw_restore_boot)
DataManager::SetValue(TW_RESTORE_BOOT_VAR, 0);
if (DataManager::GetIntValue(TW_RESTORE_ANDSEC_VAR) && !tw_restore_andsec)
DataManager::SetValue(TW_RESTORE_ANDSEC_VAR, 0);
if (DataManager::GetIntValue(TW_RESTORE_SDEXT_VAR) && !tw_restore_sdext)
DataManager::SetValue(TW_RESTORE_SDEXT_VAR, 0);
if (DataManager::GetIntValue(TW_RESTORE_SP1_VAR) && !tw_restore_sp1)
DataManager::SetValue(TW_RESTORE_SP1_VAR, 0);
if (DataManager::GetIntValue(TW_RESTORE_SP2_VAR) && !tw_restore_sp2)
DataManager::SetValue(TW_RESTORE_SP2_VAR, 0);
if (DataManager::GetIntValue(TW_RESTORE_SP3_VAR) && !tw_restore_sp3)
DataManager::SetValue(TW_RESTORE_SP3_VAR, 0);
DataManager::SetValue("tw_restore_selected", Restore_List);
} else {
DataManager::SetValue("tw_restore_selected", Partition_List);
}
PartitionManager.Run_Restore(folder_path);
ui_print("Restore complete!\n");
if (!PartitionManager.Run_Restore(folder_path))
ret_val = 1;
else
ui_print("Restore complete!\n");
} else if (strcmp(command, "mount") == 0) {
// Mount
DataManager::SetValue("tw_action_text2", "Mounting");
@@ -493,20 +467,10 @@ string OpenRecoveryScript::Locate_Zip_File(string Zip, string Storage_Root) {
int OpenRecoveryScript::Backup_Command(string Options) {
char value1[SCRIPT_COMMAND_SIZE];
int line_len, i;
string Backup_List;
strcpy(value1, Options.c_str());
DataManager::SetValue(TW_BACKUP_SYSTEM_VAR, 0);
DataManager::SetValue(TW_BACKUP_DATA_VAR, 0);
DataManager::SetValue(TW_BACKUP_CACHE_VAR, 0);
DataManager::SetValue(TW_BACKUP_RECOVERY_VAR, 0);
DataManager::SetValue(TW_BACKUP_SP1_VAR, 0);
DataManager::SetValue(TW_BACKUP_SP2_VAR, 0);
DataManager::SetValue(TW_BACKUP_SP3_VAR, 0);
DataManager::SetValue(TW_BACKUP_BOOT_VAR, 0);
DataManager::SetValue(TW_BACKUP_ANDSEC_VAR, 0);
DataManager::SetValue(TW_BACKUP_SDEXT_VAR, 0);
DataManager::SetValue(TW_BACKUP_SDEXT_VAR, 0);
DataManager::SetValue(TW_USE_COMPRESSION_VAR, 0);
DataManager::SetValue(TW_SKIP_MD5_GENERATE_VAR, 0);
@@ -514,34 +478,31 @@ int OpenRecoveryScript::Backup_Command(string Options) {
line_len = Options.size();
for (i=0; i<line_len; i++) {
if (Options.substr(i, 1) == "S" || Options.substr(i, 1) == "s") {
DataManager::SetValue(TW_BACKUP_SYSTEM_VAR, 1);
Backup_List += "/system;";
ui_print("System\n");
} else if (Options.substr(i, 1) == "D" || Options.substr(i, 1) == "d") {
DataManager::SetValue(TW_BACKUP_DATA_VAR, 1);
Backup_List += "/data;";
ui_print("Data\n");
} else if (Options.substr(i, 1) == "C" || Options.substr(i, 1) == "c") {
DataManager::SetValue(TW_BACKUP_CACHE_VAR, 1);
Backup_List += "/cache;";
ui_print("Cache\n");
} else if (Options.substr(i, 1) == "R" || Options.substr(i, 1) == "r") {
DataManager::SetValue(TW_BACKUP_RECOVERY_VAR, 1);
Backup_List += "/recovery;";
ui_print("Recovery\n");
} else if (Options.substr(i, 1) == "1") {
DataManager::SetValue(TW_BACKUP_SP1_VAR, 1);
ui_print("%s\n", "Special1");
ui_print("%s\n", "Special1 -- No Longer Supported...");
} else if (Options.substr(i, 1) == "2") {
DataManager::SetValue(TW_BACKUP_SP2_VAR, 1);
ui_print("%s\n", "Special2");
ui_print("%s\n", "Special2 -- No Longer Supported...");
} else if (Options.substr(i, 1) == "3") {
DataManager::SetValue(TW_BACKUP_SP3_VAR, 1);
ui_print("%s\n", "Special3");
ui_print("%s\n", "Special3 -- No Longer Supported...");
} else if (Options.substr(i, 1) == "B" || Options.substr(i, 1) == "b") {
DataManager::SetValue(TW_BACKUP_BOOT_VAR, 1);
Backup_List += "/boot;";
ui_print("Boot\n");
} else if (Options.substr(i, 1) == "A" || Options.substr(i, 1) == "a") {
DataManager::SetValue(TW_BACKUP_ANDSEC_VAR, 1);
Backup_List += "/and-sec;";
ui_print("Android Secure\n");
} else if (Options.substr(i, 1) == "E" || Options.substr(i, 1) == "e") {
DataManager::SetValue(TW_BACKUP_SDEXT_VAR, 1);
Backup_List += "/sd-ext;";
ui_print("SD-Ext\n");
} else if (Options.substr(i, 1) == "O" || Options.substr(i, 1) == "o") {
DataManager::SetValue(TW_USE_COMPRESSION_VAR, 1);
@@ -551,6 +512,7 @@ int OpenRecoveryScript::Backup_Command(string Options) {
ui_print("MD5 Generation is off\n");
}
}
DataManager::SetValue("tw_backup_list", Backup_List);
if (!PartitionManager.Run_Backup()) {
LOGE("Backup failed!\n");
return 1;