summaryrefslogtreecommitdiffstats
path: root/gui
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--gui/action.cpp59
-rwxr-xr-xgui/theme/common/landscape.xml87
-rwxr-xr-xgui/theme/common/languages/en.xml1
-rwxr-xr-xgui/theme/common/portrait.xml90
-rwxr-xr-xgui/theme/common/watch.xml91
5 files changed, 269 insertions, 59 deletions
diff --git a/gui/action.cpp b/gui/action.cpp
index 656c687b9..e13d15c68 100644
--- a/gui/action.cpp
+++ b/gui/action.cpp
@@ -792,25 +792,27 @@ int GUIAction::generatebackupname(std::string arg __unused)
return 0;
}
-int GUIAction::checkpartitionlist(std::string arg __unused)
+int GUIAction::checkpartitionlist(std::string arg)
{
- string Wipe_List, wipe_path;
+ string List, part_path;
int count = 0;
- DataManager::GetValue("tw_wipe_list", Wipe_List);
- LOGINFO("checkpartitionlist list '%s'\n", Wipe_List.c_str());
- if (!Wipe_List.empty()) {
- size_t start_pos = 0, end_pos = Wipe_List.find(";", start_pos);
- while (end_pos != string::npos && start_pos < Wipe_List.size()) {
- wipe_path = Wipe_List.substr(start_pos, end_pos - start_pos);
- LOGINFO("checkpartitionlist wipe_path '%s'\n", wipe_path.c_str());
- if (wipe_path == "/and-sec" || wipe_path == "DALVIK" || wipe_path == "INTERNAL") {
+ if (arg.empty())
+ arg = "tw_wipe_list";
+ DataManager::GetValue(arg, List);
+ LOGINFO("checkpartitionlist list '%s'\n", List.c_str());
+ if (!List.empty()) {
+ size_t start_pos = 0, end_pos = List.find(";", start_pos);
+ while (end_pos != string::npos && start_pos < List.size()) {
+ part_path = List.substr(start_pos, end_pos - start_pos);
+ LOGINFO("checkpartitionlist part_path '%s'\n", part_path.c_str());
+ if (part_path == "/and-sec" || part_path == "DALVIK" || part_path == "INTERNAL") {
// Do nothing
} else {
count++;
}
start_pos = end_pos + 1;
- end_pos = Wipe_List.find(";", start_pos);
+ end_pos = List.find(";", start_pos);
}
DataManager::SetValue("tw_check_partition_list", count);
} else {
@@ -819,29 +821,32 @@ int GUIAction::checkpartitionlist(std::string arg __unused)
return 0;
}
-int GUIAction::getpartitiondetails(std::string arg __unused)
+int GUIAction::getpartitiondetails(std::string arg)
{
- string Wipe_List, wipe_path;
+ string List, part_path;
int count = 0;
- DataManager::GetValue("tw_wipe_list", Wipe_List);
- LOGINFO("getpartitiondetails list '%s'\n", Wipe_List.c_str());
- if (!Wipe_List.empty()) {
- size_t start_pos = 0, end_pos = Wipe_List.find(";", start_pos);
- while (end_pos != string::npos && start_pos < Wipe_List.size()) {
- wipe_path = Wipe_List.substr(start_pos, end_pos - start_pos);
- LOGINFO("getpartitiondetails wipe_path '%s'\n", wipe_path.c_str());
- if (wipe_path == "/and-sec" || wipe_path == "DALVIK" || wipe_path == "INTERNAL") {
+ if (arg.empty())
+ arg = "tw_wipe_list";
+ DataManager::GetValue(arg, List);
+ LOGINFO("getpartitiondetails list '%s'\n", List.c_str());
+ if (!List.empty()) {
+ size_t start_pos = 0, end_pos = List.find(";", start_pos);
+ part_path = List;
+ while (end_pos != string::npos && start_pos < List.size()) {
+ part_path = List.substr(start_pos, end_pos - start_pos);
+ LOGINFO("getpartitiondetails part_path '%s'\n", part_path.c_str());
+ if (part_path == "/and-sec" || part_path == "DALVIK" || part_path == "INTERNAL") {
// Do nothing
} else {
- DataManager::SetValue("tw_partition_path", wipe_path);
+ DataManager::SetValue("tw_partition_path", part_path);
break;
}
start_pos = end_pos + 1;
- end_pos = Wipe_List.find(";", start_pos);
+ end_pos = List.find(";", start_pos);
}
- if (!wipe_path.empty()) {
- TWPartition* Part = PartitionManager.Find_Partition_By_Path(wipe_path);
+ if (!part_path.empty()) {
+ TWPartition* Part = PartitionManager.Find_Partition_By_Path(part_path);
if (Part) {
unsigned long long mb = 1048576;
@@ -881,12 +886,14 @@ int GUIAction::getpartitiondetails(std::string arg __unused)
DataManager::SetValue("tw_partition_ext", 0);
return 0;
} else {
- LOGERR("Unable to locate partition: '%s'\n", wipe_path.c_str());
+ LOGERR("Unable to locate partition: '%s'\n", part_path.c_str());
}
}
}
DataManager::SetValue("tw_partition_name", "");
DataManager::SetValue("tw_partition_file_system", "");
+ // Set this to 0 to prevent trying to partition this device, just in case
+ DataManager::SetValue("tw_partition_removable", 0);
return 0;
}
diff --git a/gui/theme/common/landscape.xml b/gui/theme/common/landscape.xml
index 6c91d0659..57fef4040 100755
--- a/gui/theme/common/landscape.xml
+++ b/gui/theme/common/landscape.xml
@@ -1068,7 +1068,7 @@
<placement x="%col1_x_left%" y="%row15a_y%"/>
<text>{@repair_change_btn=Repair or Change File System}</text>
<actions>
- <action function="checkpartitionlist"/>
+ <action function="checkpartitionlist">tw_wipe_list</action>
<action function="page">checkpartitionlist</action>
</actions>
</button>
@@ -1179,7 +1179,7 @@
<condition var1="tw_check_partition_list" op="=" var2="1"/>
<actions>
<action function="set">partitionlisterror=0</action>
- <action function="getpartitiondetails"/>
+ <action function="getpartitiondetails">tw_wipe_list</action>
<action function="page">partitionoptions</action>
</actions>
</action>
@@ -1188,7 +1188,6 @@
<condition var1="tw_check_partition_list" op="!=" var2="1"/>
<actions>
<action function="set">partitionlisterror=1</action>
- <action function="set">tw_wipe_list=</action>
<action function="page">advancedwipe</action>
</actions>
</action>
@@ -1271,6 +1270,7 @@
<action function="set">tw_action_param=%tw_partition_mount_point%</action>
<action function="set">tw_has_action2=1</action>
<action function="set">tw_action2=getpartitiondetails</action>
+ <action function="set">tw_action2_param=tw_wipe_list</action>
<action function="set">tw_text1={@resize_confirm=Resize %tw_partition_name%?}</action>
<action function="set">tw_text2=</action>
<action function="set">tw_action_text1={@resizing=Resizing...}</action>
@@ -1320,7 +1320,7 @@
<condition var1="tw_check_partition_list" op="=" var2="1"/>
<actions>
<action function="set">partitionlisterror=0</action>
- <action function="getpartitiondetails"/>
+ <action function="getpartitiondetails">tw_wipe_list</action>
<action function="page">selectfilesystem</action>
</actions>
</action>
@@ -3091,7 +3091,10 @@
<condition var1="tw_allow_partition_sdcard" var2="1"/>
<placement x="%col1_x_left%" y="%row6a_y%"/>
<text>{@part_sd_btn=Partition SD Card}</text>
- <action function="page">partsdcard</action>
+ <actions>
+ <action function="set">partitionlisterror=0</action>
+ <action function="page">partsdcardsel</action>
+ </actions>
</button>
<button style="main_button">
@@ -3151,6 +3154,69 @@
</action>
</page>
+ <page name="partsdcardsel">
+ <template name="page"/>
+
+ <text style="text_l">
+ <placement x="%col1_x_header%" y="%row3_header_y%"/>
+ <text>{@advanced_hdr=Advanced}</text>
+ </text>
+
+ <text style="text_m">
+ <placement x="%col1_x_header%" y="%row4_header_y%"/>
+ <text>{@part_sd_hdr=Partition SD Card}</text>
+ </text>
+
+ <partitionlist style="partitionlist_storage">
+ <text>{@sel_storage_list=Select Storage}</text>
+ <data name="tw_storage_path"/>
+ <listtype name="storage"/>
+ </partitionlist>
+
+ <button style="button_third_width">
+ <placement x="%dialog_button_x%" y="%row13_y%"/>
+ <text>{@ok_btn=OK}</text>
+ <actions>
+ <action function="getpartitiondetails">tw_storage_path</action>
+ <action function="page">partsdcardcheck</action>
+ </actions>
+ </button>
+
+ <text style="text_m_fail">
+ <condition var1="partitionlisterror" var2="1"/>
+ <placement x="%center_x%" y="%row17_y%" placement="5"/>
+ <text>{@invalid_partsd_sel=You must select a removable device}</text>
+ </text>
+
+ <action>
+ <touch key="home"/>
+ <action function="page">main</action>
+ </action>
+
+ <action>
+ <touch key="back"/>
+ <action function="page">advanced</action>
+ </action>
+ </page>
+
+ <page name="partsdcardcheck">
+ <action>
+ <condition var1="tw_partition_removable" op="=" var2="1"/>
+ <actions>
+ <action function="set">partitionlisterror=0</action>
+ <action function="page">partsdcard</action>
+ </actions>
+ </action>
+
+ <action>
+ <condition var1="tw_partition_removable" op="!=" var2="1"/>
+ <actions>
+ <action function="set">partitionlisterror=1</action>
+ <action function="page">partsdcardsel</action>
+ </actions>
+ </action>
+ </page>
+
<page name="partsdcard">
<template name="page"/>
@@ -3187,13 +3253,13 @@
<button style="button_quarter_width">
<placement x="%btn4_col3_x_left%" y="%row5_y%"/>
<text>{@part_sd_m=-}</text>
- <action function="addsubtract">tw_sdext_size-128</action>
+ <action function="addsubtract">tw_sdext_size-256</action>
</button>
<button style="button_quarter_width">
<placement x="%btn4_col2_x_right%" y="%row5_y%"/>
<text>{@part_sd_p=+}</text>
- <action function="addsubtract">tw_sdext_size+128</action>
+ <action function="addsubtract">tw_sdext_size+256</action>
</button>
<text style="text_m_accent">
@@ -3209,13 +3275,13 @@
<button style="button_quarter_width">
<placement x="%btn4_col3_x_left%" y="%row9_y%"/>
<text>{@part_sd_m=-}</text>
- <action function="addsubtract">tw_swap_size-32</action>
+ <action function="addsubtract">tw_swap_size-64</action>
</button>
<button style="button_quarter_width">
<placement x="%btn4_col2_x_right%" y="%row9_y%"/>
<text>{@part_sd_p=+}</text>
- <action function="addsubtract">tw_swap_size+32</action>
+ <action function="addsubtract">tw_swap_size+64</action>
</button>
<text style="text_m_accent">
@@ -3263,7 +3329,7 @@
<action>
<touch key="back"/>
- <action function="page">advanced</action>
+ <action function="page">partsdcardsel</action>
</action>
</page>
@@ -4353,7 +4419,6 @@
<slider style="slider_centered">
<text>{@swipe_to_sideload=Swipe to Start Sideload}</text>
- <action function="page">partsdcardaction</action>
<actions>
<action function="set">tw_back=advanced</action>
<action function="set">tw_action=adbsideload</action>
diff --git a/gui/theme/common/languages/en.xml b/gui/theme/common/languages/en.xml
index 9669e70ca..c77d3a2e1 100755
--- a/gui/theme/common/languages/en.xml
+++ b/gui/theme/common/languages/en.xml
@@ -379,6 +379,7 @@
<string name="inject_twrp_complete">TWRP Injection Complete</string>
<string name="swipe_to_confirm">Swipe to Confirm</string>
<string name="part_sd_hdr">Partition SD Card</string>
+ <string name="invalid_partsd_sel">You must select a removable device</string>
<string name="part_sd_lose">You will lose all files on your SD card!</string>
<string name="part_sd_undo">This action cannot be undone!</string>
<string name="part_sd_ext_sz">EXT Size:</string>
diff --git a/gui/theme/common/portrait.xml b/gui/theme/common/portrait.xml
index 251be75c6..d93a2737e 100755
--- a/gui/theme/common/portrait.xml
+++ b/gui/theme/common/portrait.xml
@@ -1020,7 +1020,7 @@
<placement x="%indent%" y="%row18a_y%"/>
<text>{@repair_change_btn=Repair or Change File System}</text>
<actions>
- <action function="checkpartitionlist"/>
+ <action function="checkpartitionlist">tw_wipe_list</action>
<action function="page">checkpartitionlist</action>
</actions>
</button>
@@ -1136,7 +1136,7 @@
<condition var1="tw_check_partition_list" op="=" var2="1"/>
<actions>
<action function="set">partitionlisterror=0</action>
- <action function="getpartitiondetails"/>
+ <action function="getpartitiondetails">tw_wipe_list</action>
<action function="page">partitionoptions</action>
</actions>
</action>
@@ -1145,7 +1145,6 @@
<condition var1="tw_check_partition_list" op="!=" var2="1"/>
<actions>
<action function="set">partitionlisterror=1</action>
- <action function="set">tw_wipe_list=</action>
<action function="page">advancedwipe</action>
</actions>
</action>
@@ -1228,6 +1227,7 @@
<action function="set">tw_action_param=%tw_partition_mount_point%</action>
<action function="set">tw_has_action2=1</action>
<action function="set">tw_action2=getpartitiondetails</action>
+ <action function="set">tw_action2_param=tw_wipe_list</action>
<action function="set">tw_text1={@resize_confirm=Resize %tw_partition_name%?}</action>
<action function="set">tw_text2=</action>
<action function="set">tw_action_text1={@resizing=Resizing...}</action>
@@ -1277,7 +1277,7 @@
<condition var1="tw_check_partition_list" op="=" var2="1"/>
<actions>
<action function="set">partitionlisterror=0</action>
- <action function="getpartitiondetails"/>
+ <action function="getpartitiondetails">tw_wipe_list</action>
<action function="page">selectfilesystem</action>
</actions>
</action>
@@ -3161,7 +3161,10 @@
<condition var1="tw_allow_partition_sdcard" var2="1"/>
<placement x="%indent%" y="%row8_y%"/>
<text>{@part_sd_btn=Partition SD Card}</text>
- <action function="page">partsdcard</action>
+ <actions>
+ <action function="set">partitionlisterror=0</action>
+ <action function="page">partsdcardsel</action>
+ </actions>
</button>
<button style="main_button">
@@ -3221,6 +3224,69 @@
</action>
</page>
+ <page name="partsdcardsel">
+ <template name="page"/>
+
+ <text style="text_l">
+ <placement x="%col1_x_header%" y="%row3_header_y%"/>
+ <text>{@advanced_hdr=Advanced}</text>
+ </text>
+
+ <text style="text_m">
+ <placement x="%col1_x_header%" y="%row4_header_y%"/>
+ <text>{@part_sd_hdr=Partition SD Card}</text>
+ </text>
+
+ <partitionlist style="partitionlist_storage">
+ <text>{@sel_storage_list=Select Storage}</text>
+ <data name="tw_storage_path"/>
+ <listtype name="storage"/>
+ </partitionlist>
+
+ <text style="text_m_fail">
+ <condition var1="partitionlisterror" var2="1"/>
+ <placement x="%center_x%" y="%row17_y%" placement="5"/>
+ <text>{@invalid_partsd_sel=You must select a removable device}</text>
+ </text>
+
+ <button style="button_third_width">
+ <placement x="%dialog_button_x%" y="%row14_y%"/>
+ <text>{@ok_btn=OK}</text>
+ <actions>
+ <action function="getpartitiondetails">tw_storage_path</action>
+ <action function="page">partsdcardcheck</action>
+ </actions>
+ </button>
+
+ <action>
+ <touch key="home"/>
+ <action function="page">main</action>
+ </action>
+
+ <action>
+ <touch key="back"/>
+ <action function="page">advanced</action>
+ </action>
+ </page>
+
+ <page name="partsdcardcheck">
+ <action>
+ <condition var1="tw_partition_removable" op="=" var2="1"/>
+ <actions>
+ <action function="set">partitionlisterror=0</action>
+ <action function="page">partsdcard</action>
+ </actions>
+ </action>
+
+ <action>
+ <condition var1="tw_partition_removable" op="!=" var2="1"/>
+ <actions>
+ <action function="set">partitionlisterror=1</action>
+ <action function="page">partsdcardsel</action>
+ </actions>
+ </action>
+ </page>
+
<page name="partsdcard">
<template name="page"/>
@@ -3257,13 +3323,13 @@
<button style="button_quarter_width">
<placement x="%indent%" y="%row6_y%"/>
<text>{@part_sd_m=-}</text>
- <action function="addsubtract">tw_sdext_size-128</action>
+ <action function="addsubtract">tw_sdext_size-256</action>
</button>
<button style="button_quarter_width">
<placement x="%btn4_col4_x%" y="%row6_y%"/>
<text>{@part_sd_p=+}</text>
- <action function="addsubtract">tw_sdext_size+128</action>
+ <action function="addsubtract">tw_sdext_size+256</action>
</button>
<text style="text_m_accent">
@@ -3279,13 +3345,13 @@
<button style="button_quarter_width">
<placement x="%indent%" y="%row10_y%"/>
<text>{@part_sd_m=-}</text>
- <action function="addsubtract">tw_swap_size-32</action>
+ <action function="addsubtract">tw_swap_size-64</action>
</button>
<button style="button_quarter_width">
<placement x="%btn4_col4_x%" y="%row10_y%"/>
<text>{@part_sd_p=+}</text>
- <action function="addsubtract">tw_swap_size+32</action>
+ <action function="addsubtract">tw_swap_size+64</action>
</button>
<text style="text_m_accent">
@@ -3333,7 +3399,10 @@
<action>
<touch key="back"/>
- <action function="page">advanced</action>
+ <actions>
+ <action function="set">partitionlisterror=0</action>
+ <action function="page">partsdcardsel</action>
+ </actions>
</action>
</page>
@@ -4242,7 +4311,6 @@
<slider>
<text>{@swipe_to_sideload=Swipe to Start Sideload}</text>
- <action function="page">partsdcardaction</action>
<actions>
<action function="set">tw_back=advanced</action>
<action function="set">tw_action=adbsideload</action>
diff --git a/gui/theme/common/watch.xml b/gui/theme/common/watch.xml
index 7d343ddb9..6ed0b8373 100755
--- a/gui/theme/common/watch.xml
+++ b/gui/theme/common/watch.xml
@@ -1422,7 +1422,7 @@
<condition var1="tw_check_partition_list" op="=" var2="1"/>
<actions>
<action function="set">partitionlisterror=0</action>
- <action function="getpartitiondetails"/>
+ <action function="getpartitiondetails">tw_wipe_list</action>
<action function="page">partitionoptions</action>
</actions>
</action>
@@ -1431,7 +1431,6 @@
<condition var1="tw_check_partition_list" op="!=" var2="1"/>
<actions>
<action function="set">partitionlisterror=1</action>
- <action function="set">tw_wipe_list=</action>
<action function="page">partitionoptions_select</action>
</actions>
</action>
@@ -1471,7 +1470,7 @@
<placement x="%btn4_col4_x%" y="%row11_y%"/>
<highlight color="%highlight_color%"/>
<image resource="q_btn_arrow_right"/><actions>
- <action function="checkpartitionlist"/>
+ <action function="checkpartitionlist">tw_wipe_list</action>
<action function="page">checkpartitionlist</action>
</actions>
</button>
@@ -1562,6 +1561,7 @@
<action function="set">tw_action_param=%tw_partition_mount_point%</action>
<action function="set">tw_has_action2=1</action>
<action function="set">tw_action2=getpartitiondetails</action>
+ <action function="set">tw_action2_param=tw_wipe_list</action>
<action function="set">tw_text1={@resize_confirm=Resize %tw_partition_name%?}</action>
<action function="set">tw_text2=</action>
<action function="set">tw_action_text1={@resizing=Resizing...}</action>
@@ -1618,7 +1618,7 @@
<condition var1="tw_check_partition_list" op="=" var2="1"/>
<actions>
<action function="set">partitionlisterror=0</action>
- <action function="getpartitiondetails"/>
+ <action function="getpartitiondetails">tw_wipe_list</action>
<action function="page">selectfilesystem</action>
</actions>
</action>
@@ -3896,7 +3896,10 @@
<condition var1="tw_allow_partition_sdcard" var2="1"/>
<placement x="%col1_x_right%" y="%row6_y%"/>
<text>{@part_sd_s_btn=SD Card}</text>
- <action function="page">partsdcard</action>
+ <actions>
+ <action function="set">partitionlisterror=0</action>
+ <action function="page">partsdcardsel</action>
+ </actions>
</button>
<button style="main_button">
@@ -3932,6 +3935,73 @@
</action>
</page>
+ <page name="partsdcardsel">
+ <template name="page"/>
+
+ <template name="statusbar"/>
+
+ <text style="text_m">
+ <placement x="%col1_x_left%" y="%row1_header_y%"/>
+ <text>{@advanced_hdr=Advanced} &gt; {@part_sd_hdr=Partition SD Card}</text>
+ </text>
+
+ <partitionlist style="partitionlist_headerless_rb">
+ <data name="tw_storage_path"/>
+ <listtype name="storage"/>
+ </partitionlist>
+
+ <text style="text_m_fail">
+ <condition var1="partitionlisterror" var2="1"/>
+ <placement x="%center_x%" y="%row9_y%" placement="5"/>
+ <text>{@invalid_partsd_sel=You must select a removable device}</text>
+ </text>
+
+ <button>
+ <placement x="%btn4_col2_x%" y="%row11_y%"/>
+ <highlight color="%highlight_color%"/>
+ <image resource="q_btn_refresh"/>
+ <action function="refreshsizes"/>
+ </button>
+
+ <button>
+ <placement x="%btn4_col3_x%" y="%row11_y%"/>
+ <highlight color="%highlight_color%"/>
+ <image resource="q_btn_accept"/>
+ <actions>
+ <action function="getpartitiondetails">tw_storage_path</action>
+ <action function="page">partsdcardcheck</action>
+ </actions>
+ </button>
+
+ <action>
+ <touch key="home"/>
+ <action function="page">main</action>
+ </action>
+
+ <action>
+ <touch key="back"/>
+ <action function="page">advanced</action>
+ </action>
+ </page>
+
+ <page name="partsdcardcheck">
+ <action>
+ <condition var1="tw_partition_removable" op="=" var2="1"/>
+ <actions>
+ <action function="set">partitionlisterror=0</action>
+ <action function="page">partsdcard</action>
+ </actions>
+ </action>
+
+ <action>
+ <condition var1="tw_partition_removable" op="!=" var2="1"/>
+ <actions>
+ <action function="set">partitionlisterror=1</action>
+ <action function="page">partsdcardsel</action>
+ </actions>
+ </action>
+ </page>
+
<page name="partsdcard">
<template name="page"/>
@@ -3965,13 +4035,13 @@
<button style="main_button_quarter_width">
<placement x="%indent%" y="%row6_y%"/>
<text>{@part_sd_m=-}</text>
- <action function="addsubtract">tw_sdext_size-128</action>
+ <action function="addsubtract">tw_sdext_size-256</action>
</button>
<button style="main_button_quarter_width">
<placement x="%btn4_col4_x%" y="%row6_y%"/>
<text>{@part_sd_p=+}</text>
- <action function="addsubtract">tw_sdext_size+128</action>
+ <action function="addsubtract">tw_sdext_size+256</action>
</button>
<button>
@@ -3988,7 +4058,7 @@
<action>
<touch key="back"/>
- <action function="page">advanced</action>
+ <action function="page">partsdcardsel</action>
</action>
</page>
@@ -4025,13 +4095,13 @@
<button style="main_button_quarter_width">
<placement x="%indent%" y="%row6_y%"/>
<text>{@part_sd_m=-}</text>
- <action function="addsubtract">tw_swap_size-32</action>
+ <action function="addsubtract">tw_swap_size-64</action>
</button>
<button style="main_button_quarter_width">
<placement x="%btn4_col4_x%" y="%row6_y%"/>
<text>{@part_sd_p=+}</text>
- <action function="addsubtract">tw_swap_size+32</action>
+ <action function="addsubtract">tw_swap_size+64</action>
</button>
<button>
@@ -5052,7 +5122,6 @@
<slider>
<text>{@swipe_sideload= Start}</text>
- <action function="page">partsdcardaction</action>
<actions>
<action function="set">tw_back=install_type</action>
<action function="set">tw_action=adbsideload</action>