vab support: merges and unmapping super devices
- check for merges before formatting data
- add advanced option for unmapping super devices
Change-Id: I38d4d3bbdfa071969016c3e000c86a4d03c71e45
diff --git a/gui/action.cpp b/gui/action.cpp
index 8943234..a623ccd 100755
--- a/gui/action.cpp
+++ b/gui/action.cpp
@@ -207,6 +207,7 @@
ADD_ACTION(enableadb);
ADD_ACTION(enablefastboot);
ADD_ACTION(changeterminal);
+ ADD_ACTION(unmapsuperdevices);
// remember actions that run in the caller thread
for (mapFunc::const_iterator it = mf.begin(); it != mf.end(); ++it)
@@ -2266,6 +2267,23 @@
gui_changePage("terminalcommand");
return 0;
}
+
+int GUIAction::unmapsuperdevices(std::string arg __unused) {
+ int op_status = 1;
+
+ operation_start("Remove Super Devices");
+ if (simulate) {
+ simulate_progress_bar();
+ } else {
+ if (PartitionManager.Unmap_Super_Devices()) {
+ op_status = 0;
+ }
+ }
+
+ operation_end(op_status);
+ return 0;
+}
+
#ifndef TW_EXCLUDE_NANO
int GUIAction::editfile(std::string arg) {
if (term != NULL) {
diff --git a/gui/objects.hpp b/gui/objects.hpp
index 3948fb2..ec550bb 100755
--- a/gui/objects.hpp
+++ b/gui/objects.hpp
@@ -328,6 +328,8 @@
int screenshot(std::string arg);
int setbrightness(std::string arg);
int checkforapp(std::string arg);
+ int unmapsuperdevices(std::string arg);
+ int removedynamicgroups(std:: string arg);
// (originally) threaded actions
int fileexists(std::string arg);
diff --git a/gui/theme/common/landscape.xml b/gui/theme/common/landscape.xml
index 3ac0d28..bf8912a 100755
--- a/gui/theme/common/landscape.xml
+++ b/gui/theme/common/landscape.xml
@@ -3764,6 +3764,17 @@
<action function="page">confirm_action</action>
</actions>
</listitem>
+ <listitem name="{@unmap_super_devices=Unmap Super Devices}">
+ <actions>
+ <action function="set">tw_back=advanced</action>
+ <action function="set">tw_action=unmapsuperdevices</action>
+ <action function="set">tw_text1={@unmap_super_devices_confirm=Unmap all Super Devices?}</action>
+ <action function="set">tw_action_text1={@unmapping_super_devices=Unmapping Super Devices...}</action>
+ <action function="set">tw_complete_text1={@unmap_super_devices_complete=Unmapped all Super Devices}</action>
+ <action function="set">tw_slider_text={@swipe_to_confirm=Swipe to Confirm}</action>
+ <action function="page">confirm_action</action>
+ </actions>
+ </listitem>
</listbox>
<action>
diff --git a/gui/theme/common/languages/en.xml b/gui/theme/common/languages/en.xml
index 811f40c..1dca4f6 100755
--- a/gui/theme/common/languages/en.xml
+++ b/gui/theme/common/languages/en.xml
@@ -760,5 +760,13 @@
<string name="change_twrp_folder_on_process">Changing TWRP folder</string>
<string name="change_twrp_folder_after_process">TWRP folder changed to</string>
<string name="tw_folder_exists">A folder with that name already exists!</string>
+ <string name="unmap_super_devices">Unmap Super Devices</strings>
+ <string name="unmap_super_devices_confirm">Unmap all Super Devices?</string>
+ <string name="unmapping_super_devices">Unmapping Super Devices...</string>
+ <string name="unmap_super_devices_complete">Unmapped all Super Devices</string>
+ <string name="remove_dynamic_groups_confirm">Unmap all Super Devices?</string>
+ <string name="remove_dynamic_groups">Unmapping Super Devices...</string>
+ <string name="remove_dynamic_groups_complete">Unmapped all Super Devices</string>
+ <string name="mount_vab_partitions">Devices on super may not mount until rebooting recovery.</string>
</resources>
</language>
diff --git a/gui/theme/common/portrait.xml b/gui/theme/common/portrait.xml
index 78677cb..9e0fec8 100755
--- a/gui/theme/common/portrait.xml
+++ b/gui/theme/common/portrait.xml
@@ -3886,6 +3886,17 @@
<action function="page">confirm_action</action>
</actions>
</listitem>
+ <listitem name="{@unmap_super_devices=Unmap Super Devices}">
+ <actions>
+ <action function="set">tw_back=advanced</action>
+ <action function="set">tw_action=unmapsuperdevices</action>
+ <action function="set">tw_text1={@unmap_super_devices_confirm=Unmap all Super Devices?}</action>
+ <action function="set">tw_action_text1={@unmapping_super_devices=Unmapping Super Devices...}</action>
+ <action function="set">tw_complete_text1={@unmap_super_devices_complete=Unmapped all Super Devices}</action>
+ <action function="set">tw_slider_text={@swipe_to_confirm=Swipe to Confirm}</action>
+ <action function="page">confirm_action</action>
+ </actions>
+ </listitem>
</listbox>
<action>
diff --git a/gui/theme/common/watch.xml b/gui/theme/common/watch.xml
index 165f329..1b70547 100755
--- a/gui/theme/common/watch.xml
+++ b/gui/theme/common/watch.xml
@@ -4365,6 +4365,17 @@
<action function="page">confirm_action</action>
</actions>
</listitem>
+ <listitem name="{@unmap_super_devices=Unmap Super Devices}">
+ <actions>
+ <action function="set">tw_back=advanced</action>
+ <action function="set">tw_action=unmapsuperdevices</action>
+ <action function="set">tw_text1={@unmap_super_devices_confirm=Unmap all Super Devices?}</action>
+ <action function="set">tw_action_text1={@unmapping_super_devices=Unmapping Super Devices...}</action>
+ <action function="set">tw_complete_text1={@unmap_super_devices_complete=Unmapped all Super Devices}</action>
+ <action function="set">tw_slider_text={@swipe_to_confirm=Swipe to Confirm}</action>
+ <action function="page">confirm_action</action>
+ </actions>
+ </listitem>
</listbox>
<button>