Fixes for multi-user in 4.2
Also fixed inability to delete backups with a space in the name.
Change-Id: I2f6639d33caa3c4542960f76adbd59b25ab64f5d
diff --git a/data.cpp b/data.cpp
index f7ad57a..88c064b 100644
--- a/data.cpp
+++ b/data.cpp
@@ -446,6 +446,18 @@
tzset();
}
+void DataManager::SetBackupFolder()
+{
+ string str = GetCurrentStoragePath();
+ str += "/TWRP/BACKUPS/";
+
+ string dev_id;
+ GetValue("device_id", dev_id);
+
+ str += dev_id;
+ SetValue(TW_BACKUPS_FOLDER_VAR, str, 0);
+}
+
void DataManager::SetDefaultValues()
{
string str, path;
@@ -475,7 +487,7 @@
LOGI("Internal path defined: '%s'\n", EXPAND(TW_INTERNAL_STORAGE_PATH));
mValues.insert(make_pair(TW_USE_EXTERNAL_STORAGE, make_pair("0", 1)));
mConstValues.insert(make_pair(TW_HAS_INTERNAL, "1"));
- mConstValues.insert(make_pair(TW_INTERNAL_PATH, EXPAND(TW_INTERNAL_STORAGE_PATH)));
+ mValues.insert(make_pair(TW_INTERNAL_PATH, make_pair(EXPAND(TW_INTERNAL_STORAGE_PATH), 0)));
mConstValues.insert(make_pair(TW_INTERNAL_LABEL, EXPAND(TW_INTERNAL_STORAGE_MOUNT_POINT)));
path.clear();
path = "/";
@@ -530,7 +542,7 @@
// Device has /data/media
mConstValues.insert(make_pair(TW_USE_EXTERNAL_STORAGE, "0"));
mConstValues.insert(make_pair(TW_HAS_INTERNAL, "1"));
- mConstValues.insert(make_pair(TW_INTERNAL_PATH, "/data/media"));
+ mValues.insert(make_pair(TW_INTERNAL_PATH, make_pair("/data/media", 0)));
mConstValues.insert(make_pair(TW_INTERNAL_MOUNT, "/data"));
mConstValues.insert(make_pair(TW_INTERNAL_LABEL, "data"));
#ifdef TW_EXTERNAL_STORAGE_PATH
@@ -547,7 +559,7 @@
// Device has no internal storage
mConstValues.insert(make_pair(TW_USE_EXTERNAL_STORAGE, "1"));
mConstValues.insert(make_pair(TW_HAS_INTERNAL, "0"));
- mConstValues.insert(make_pair(TW_INTERNAL_PATH, "0"));
+ mValues.insert(make_pair(TW_INTERNAL_PATH, make_pair("0", 0)));
mConstValues.insert(make_pair(TW_INTERNAL_MOUNT, "0"));
mConstValues.insert(make_pair(TW_INTERNAL_LABEL, "0"));
#endif
@@ -580,6 +592,10 @@
LOGI("Defaulting to external storage.\n");
#endif
+#ifdef RECOVERY_SDCARD_ON_DATA
+ if (PartitionManager.Mount_By_Path("/data", false) && TWFunc::Path_Exists("/data/media/0"))
+ SetValue(TW_INTERNAL_PATH, "/data/media/0");
+#endif
str = GetCurrentStoragePath();
#ifdef RECOVERY_SDCARD_ON_DATA
#ifndef TW_EXTERNAL_STORAGE_PATH
@@ -889,27 +905,6 @@
} else {
PartitionManager.Mount_Current_Storage(true);
}
- if (has_data_media == 1) {
- if (has_dual == 0) {
- LOGI("Mounting /data/media to /sdcard\n");
- system("umount /sdcard");
- system("mount /data/media /sdcard");
- } else {
- string ext_path;
-
- GetValue(TW_EXTERNAL_PATH, ext_path);
- if (ext_path == "/sdcard") {
- LOGI("Mounting /data/media to /emmc\n");
- system("cd / && mkdir emmc");
- system("umount /emmc");
- system("mount /data/media /emmc");
- } else {
- LOGI("Mounting /data/media to /sdcard\n");
- system("umount /sdcard");
- system("mount /data/media /sdcard");
- }
- }
- }
if (has_ext) {
string ext_path;
diff --git a/data.hpp b/data.hpp
index 98c40fe..42c7220 100644
--- a/data.hpp
+++ b/data.hpp
@@ -48,6 +48,7 @@
static void DumpValues();
static void update_tz_environment_variables();
+ static void SetBackupFolder();
static void SetDefaultValues();
static void Output_Version(void); // Outputs the version to a file in the TWRP folder
static void ReadSettingsFile(void);
diff --git a/gui/devices/1024x600/res/ui.xml b/gui/devices/1024x600/res/ui.xml
index 2542a18..cfcb52f 100755
--- a/gui/devices/1024x600/res/ui.xml
+++ b/gui/devices/1024x600/res/ui.xml
@@ -2198,7 +2198,7 @@
<actions>
<action function="set">tw_back=restore</action>
<action function="set">tw_action=cmd</action>
- <action function="set">tw_action_param=cd %tw_backups_folder% && rm -rf %tw_restore_name%</action>
+ <action function="set">tw_action_param=cd %tw_backups_folder% && rm -rf "%tw_restore_name%"</action>
<action function="set">tw_text1=Delete Backup? %tw_restore_name%</action>
<action function="set">tw_text2=This cannot be undone!</action>
<action function="set">tw_action_text1=Deleting Backup...</action>
diff --git a/gui/devices/1024x768/res/ui.xml b/gui/devices/1024x768/res/ui.xml
index af14bc2..8e1a148 100644
--- a/gui/devices/1024x768/res/ui.xml
+++ b/gui/devices/1024x768/res/ui.xml
@@ -2198,7 +2198,7 @@
<actions>
<action function="set">tw_back=restore</action>
<action function="set">tw_action=cmd</action>
- <action function="set">tw_action_param=cd %tw_backups_folder% && rm -rf %tw_restore_name%</action>
+ <action function="set">tw_action_param=cd %tw_backups_folder% && rm -rf "%tw_restore_name%"</action>
<action function="set">tw_text1=Delete Backup? %tw_restore_name%</action>
<action function="set">tw_text2=This cannot be undone!</action>
<action function="set">tw_action_text1=Deleting Backup...</action>
diff --git a/gui/devices/1280x800/res/ui.xml b/gui/devices/1280x800/res/ui.xml
index 14f2b77..d7cbaaa 100644
--- a/gui/devices/1280x800/res/ui.xml
+++ b/gui/devices/1280x800/res/ui.xml
@@ -2198,7 +2198,7 @@
<actions>
<action function="set">tw_back=restore</action>
<action function="set">tw_action=cmd</action>
- <action function="set">tw_action_param=cd %tw_backups_folder% && rm -rf %tw_restore_name%</action>
+ <action function="set">tw_action_param=cd %tw_backups_folder% && rm -rf "%tw_restore_name%"</action>
<action function="set">tw_text1=Delete Backup? %tw_restore_name%</action>
<action function="set">tw_text2=This cannot be undone!</action>
<action function="set">tw_action_text1=Deleting Backup...</action>
diff --git a/gui/devices/1920x1200/res/ui.xml b/gui/devices/1920x1200/res/ui.xml
index 62c07d6..fa17649 100644
--- a/gui/devices/1920x1200/res/ui.xml
+++ b/gui/devices/1920x1200/res/ui.xml
@@ -2198,7 +2198,7 @@
<actions>
<action function="set">tw_back=restore</action>
<action function="set">tw_action=cmd</action>
- <action function="set">tw_action_param=cd %tw_backups_folder% && rm -rf %tw_restore_name%</action>
+ <action function="set">tw_action_param=cd %tw_backups_folder% && rm -rf "%tw_restore_name%"</action>
<action function="set">tw_text1=Delete Backup? %tw_restore_name%</action>
<action function="set">tw_text2=This cannot be undone!</action>
<action function="set">tw_action_text1=Deleting Backup...</action>
diff --git a/gui/devices/2560x1600/res/fonts/Roboto-Regular-30.dat b/gui/devices/2560x1600/res/fonts/Roboto-Regular-30.dat
new file mode 100644
index 0000000..9f8082c
--- /dev/null
+++ b/gui/devices/2560x1600/res/fonts/Roboto-Regular-30.dat
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/back-icon.png b/gui/devices/2560x1600/res/images/back-icon.png
new file mode 100644
index 0000000..94dd699
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/back-icon.png
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/background.jpg b/gui/devices/2560x1600/res/images/background.jpg
new file mode 100644
index 0000000..f7faaba
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/background.jpg
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/backgroundbottom.jpg b/gui/devices/2560x1600/res/images/backgroundbottom.jpg
new file mode 100644
index 0000000..6af64da
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/backgroundbottom.jpg
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/backgroundside.jpg b/gui/devices/2560x1600/res/images/backgroundside.jpg
new file mode 100644
index 0000000..f5a1060
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/backgroundside.jpg
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/button.png b/gui/devices/2560x1600/res/images/button.png
new file mode 100644
index 0000000..e1b49fc
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/button.png
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/checkbox_checked.png b/gui/devices/2560x1600/res/images/checkbox_checked.png
new file mode 100644
index 0000000..cac9a30
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/checkbox_checked.png
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/checkbox_empty.png b/gui/devices/2560x1600/res/images/checkbox_empty.png
new file mode 100644
index 0000000..ee01fa8
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/checkbox_empty.png
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/console-icon.png b/gui/devices/2560x1600/res/images/console-icon.png
new file mode 100644
index 0000000..c1f4d71
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/console-icon.png
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/console-toggle.png b/gui/devices/2560x1600/res/images/console-toggle.png
new file mode 100644
index 0000000..2495165
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/console-toggle.png
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/curtain.jpg b/gui/devices/2560x1600/res/images/curtain.jpg
new file mode 100644
index 0000000..409664c
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/curtain.jpg
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/exclamation400.png b/gui/devices/2560x1600/res/images/exclamation400.png
new file mode 100644
index 0000000..f3a8aab
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/exclamation400.png
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/file.png b/gui/devices/2560x1600/res/images/file.png
new file mode 100644
index 0000000..c77a1f4
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/file.png
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/folder.png b/gui/devices/2560x1600/res/images/folder.png
new file mode 100644
index 0000000..2770f0a
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/folder.png
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/home-icon.png b/gui/devices/2560x1600/res/images/home-icon.png
new file mode 100644
index 0000000..8c1dde3
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/home-icon.png
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/indeterminate001.png b/gui/devices/2560x1600/res/images/indeterminate001.png
new file mode 100755
index 0000000..ea2b5e2
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/indeterminate001.png
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/indeterminate002.png b/gui/devices/2560x1600/res/images/indeterminate002.png
new file mode 100755
index 0000000..f59b298
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/indeterminate002.png
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/indeterminate003.png b/gui/devices/2560x1600/res/images/indeterminate003.png
new file mode 100755
index 0000000..cc6d7b5
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/indeterminate003.png
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/indeterminate004.png b/gui/devices/2560x1600/res/images/indeterminate004.png
new file mode 100755
index 0000000..9483117
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/indeterminate004.png
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/indeterminate005.png b/gui/devices/2560x1600/res/images/indeterminate005.png
new file mode 100755
index 0000000..850de0f
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/indeterminate005.png
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/indeterminate006.png b/gui/devices/2560x1600/res/images/indeterminate006.png
new file mode 100755
index 0000000..e5194b3
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/indeterminate006.png
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/keyboard1.png b/gui/devices/2560x1600/res/images/keyboard1.png
new file mode 100644
index 0000000..8ee2416
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/keyboard1.png
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/keyboard2.png b/gui/devices/2560x1600/res/images/keyboard2.png
new file mode 100644
index 0000000..259bfec
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/keyboard2.png
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/keyboard3.png b/gui/devices/2560x1600/res/images/keyboard3.png
new file mode 100644
index 0000000..aaebd30
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/keyboard3.png
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/keyboard4.png b/gui/devices/2560x1600/res/images/keyboard4.png
new file mode 100644
index 0000000..1fe8565
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/keyboard4.png
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/large_black.png b/gui/devices/2560x1600/res/images/large_black.png
new file mode 100644
index 0000000..91948ee
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/large_black.png
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/medium-button.png b/gui/devices/2560x1600/res/images/medium-button.png
new file mode 100644
index 0000000..b4eb493
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/medium-button.png
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/mediumwide-button.png b/gui/devices/2560x1600/res/images/mediumwide-button.png
new file mode 100644
index 0000000..3ca436e
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/mediumwide-button.png
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/minus-button.png b/gui/devices/2560x1600/res/images/minus-button.png
new file mode 100644
index 0000000..8dc17bf
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/minus-button.png
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/plus-button.png b/gui/devices/2560x1600/res/images/plus-button.png
new file mode 100644
index 0000000..05b3439
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/plus-button.png
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/progress_empty.png b/gui/devices/2560x1600/res/images/progress_empty.png
new file mode 100644
index 0000000..ff02df6
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/progress_empty.png
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/progress_fill.png b/gui/devices/2560x1600/res/images/progress_fill.png
new file mode 100644
index 0000000..84a5828
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/progress_fill.png
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/radio_empty.png b/gui/devices/2560x1600/res/images/radio_empty.png
new file mode 100644
index 0000000..c771300
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/radio_empty.png
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/radio_selected.png b/gui/devices/2560x1600/res/images/radio_selected.png
new file mode 100644
index 0000000..d3b2278
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/radio_selected.png
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/slider-touch.png b/gui/devices/2560x1600/res/images/slider-touch.png
new file mode 100644
index 0000000..8a21a3b
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/slider-touch.png
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/slider-used.png b/gui/devices/2560x1600/res/images/slider-used.png
new file mode 100644
index 0000000..4963ff5
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/slider-used.png
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/slider.png b/gui/devices/2560x1600/res/images/slider.png
new file mode 100644
index 0000000..dfeea6e
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/slider.png
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/sort-button.png b/gui/devices/2560x1600/res/images/sort-button.png
new file mode 100644
index 0000000..b1f8218
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/sort-button.png
Binary files differ
diff --git a/gui/devices/2560x1600/res/images/unlock.png b/gui/devices/2560x1600/res/images/unlock.png
new file mode 100644
index 0000000..6ca95d1
--- /dev/null
+++ b/gui/devices/2560x1600/res/images/unlock.png
Binary files differ
diff --git a/gui/devices/2560x1600/res/ui.xml b/gui/devices/2560x1600/res/ui.xml
new file mode 100644
index 0000000..fa17649
--- /dev/null
+++ b/gui/devices/2560x1600/res/ui.xml
@@ -0,0 +1,3623 @@
+<?xml version="1.0"?>
+
+<recovery>
+ <details>
+ <resolution width="1920" height="1200" />
+ <author>TeamWin</author>
+ <title>Backup Naowz</title>
+ <description>Default basic theme</description>
+ <preview>preview.jpg</preview>
+ </details>
+
+ <resources>
+ <resource name="font" type="font" filename="Roboto-Regular-30" />
+ <resource name="base" type="image" filename="background.jpg" />
+ <resource name="side" type="image" filename="backgroundside.jpg" />
+ <resource name="bottom" type="image" filename="backgroundbottom.jpg" />
+ <resource name="large_black" type="image" filename="large_black" />
+ <resource name="main_button" type="image" filename="button" />
+ <resource name="file_icon" type="image" filename="file" />
+ <resource name="folder_icon" type="image" filename="folder" />
+ <resource name="progress" type="animation" filename="indeterminate" />
+ <resource name="progress_empty" type="image" filename="progress_empty" />
+ <resource name="progress_full" type="image" filename="progress_fill" />
+ <resource name="checkbox_false" type="image" filename="checkbox_empty" />
+ <resource name="checkbox_true" type="image" filename="checkbox_checked" />
+ <resource name="radio_false" type="image" filename="radio_empty" />
+ <resource name="radio_true" type="image" filename="radio_selected" />
+ <resource name="medium_button" type="image" filename="medium-button" />
+ <resource name="mediumwide_button" type="image" filename="mediumwide-button" />
+ <resource name="sort_button" type="image" filename="sort-button" />
+ <resource name="minus_button" type="image" filename="minus-button" />
+ <resource name="plus_button" type="image" filename="plus-button" />
+ <resource name="home_icon" type="image" filename="home-icon" />
+ <resource name="back_icon" type="image" filename="back-icon" />
+ <resource name="console_button" type="image" filename="console-toggle" />
+ <resource name="slider" type="image" filename="slider" />
+ <resource name="slider-used" type="image" filename="slider-used" />
+ <resource name="slider-touch" type="image" filename="slider-touch" />
+ <resource name="unlock-icon" type="image" filename="unlock" />
+ <resource name="keyboard1" type="image" filename="keyboard1" />
+ <resource name="keyboard2" type="image" filename="keyboard2" />
+ <resource name="keyboard3" type="image" filename="keyboard3" />
+ <resource name="keyboard4" type="image" filename="keyboard4" />
+ <resource name="exclamation" type="image" filename="exclamation400" />
+ </resources>
+
+ <variables>
+ <variable name="col1_x" value="210" />
+ <variable name="col2_x" value="590" />
+ <variable name="col3_x" value="970" />
+ <variable name="col4_x" value="1350" />
+ <variable name="row1_y" value="220" />
+ <variable name="row2_y" value="600" />
+ <variable name="col_center_x" value="780" />
+ <variable name="center_x" value="960" />
+ <variable name="screen_width" value="1920" />
+ <variable name="screen_height" value="1200" />
+ <variable name="col_progressbar_x" value="771" />
+ <variable name="row_progressbar_y" value="1100" />
+ <variable name="col1_medium_x" value="570" />
+ <variable name="col2_medium_x" value="770" />
+ <variable name="col3_medium_x" value="970" />
+ <variable name="col4_medium_x" value="1170" />
+ <variable name="row1_medium_y" value="105" />
+ <variable name="row2_medium_y" value="175" />
+ <variable name="row3_medium_y" value="245" />
+ <variable name="row4_medium_y" value="515" />
+ <variable name="row5_medium_y" value="700" />
+ <variable name="row1_text_y" value="90" />
+ <variable name="row2_text_y" value="140" />
+ <variable name="row3_text_y" value="190" />
+ <variable name="row4_text_y" value="240" />
+ <variable name="row5_text_y" value="290" />
+ <variable name="row6_text_y" value="340" />
+ <variable name="row7_text_y" value="390" />
+ <variable name="row8_text_y" value="440" />
+ <variable name="row9_text_y" value="490" />
+ <variable name="row10_text_y" value="540" />
+ <variable name="row11_text_y" value="590" />
+ <variable name="row12_text_y" value="640" />
+ <variable name="row13_text_y" value="690" />
+ <variable name="row14_text_y" value="740" />
+ <variable name="row15_text_y" value="790" />
+ <variable name="row16_text_y" value="840" />
+ <variable name="row17_text_y" value="890" />
+ <variable name="row18_text_y" value="940" />
+ <variable name="row_offsetmedium_y" value="775" />
+ <variable name="home_button_x" value="1620" />
+ <variable name="home_button_y" value="5" />
+ <variable name="back_button_x" value="1720" />
+ <variable name="back_button_y" value="5" />
+ <variable name="console_button_x" value="1820" />
+ <variable name="console_button_y" value="5" />
+ <variable name="nandcheck_col1" value="328" />
+ <variable name="nandcheck_col2" value="800" />
+ <variable name="nandcheck_row1" value="200" />
+ <variable name="nandcheck_row2" value="275" />
+ <variable name="nandcheck_row3" value="350" />
+ <variable name="nandcheck_row4" value="425" />
+ <variable name="nandcheck_row5" value="500" />
+ <variable name="nandcheck_row6" value="575" />
+ <variable name="nandcheck_row7" value="650" />
+ <variable name="button_text_color" value="#AAAAAA" />
+ <variable name="text_color" value="#A0A0A0" />
+ <variable name="text_success_color" value="#33B5E5" />
+ <variable name="text_fail_color" value="#FF0101" />
+ <variable name="slider_x" value="630" />
+ <variable name="slider_y" value="1000" />
+ <variable name="slider_text_y" value="1075" />
+ <variable name="sort_text_x" value="400" />
+ <variable name="sort_asc_text_y" value="1045" />
+ <variable name="sort_asc_button_y" value="1040" />
+ <variable name="sort_desc_text_y" value="1105" />
+ <variable name="sort_desc_button_y" value="1100" />
+ <variable name="sort_col1_button_x" value="670" />
+ <variable name="sort_col2_button_x" value="770" />
+ <variable name="sort_col3_button_x" value="870" />
+ <variable name="col1_sdext_x" value="720" />
+ <variable name="col2_sdext_x" value="1100" />
+ <variable name="row1_sdext_y" value="180" />
+ <variable name="row2_sdext_y" value="265" />
+ <variable name="row_extsize_y" value="175" />
+ <variable name="row_swapsize_y" value="260" />
+ <variable name="input_x" value="50" />
+ <variable name="input_width" value="1820" />
+ <variable name="input_height" value="50" />
+ <variable name="input_background_color" value="#303030" />
+ <variable name="input_cursor_color" value="#33B5E5" />
+ <variable name="input_cursor_width" value="3" />
+ <variable name="console_x" value="50" />
+ <variable name="console_width" value="1820" />
+ <variable name="console_foreground" value="#A0A0A0" />
+ <variable name="console_background" value="#303030" />
+ <variable name="console_scroll" value="#303030" />
+ <variable name="console_action_height" value="320" />
+ <variable name="console_install_height" value="440" />
+ <variable name="console_installdone_height" value="300" />
+ <variable name="fileselector_folder_x" value="50" />
+ <variable name="fileselector_folder_width" value="610" />
+ <variable name="fileselector_folderonly_width" value="800" />
+ <variable name="fileselector_file_x" value="700" />
+ <variable name="fileselector_file_width" value="1170" />
+ <variable name="fileselector_install_y" value="190" />
+ <variable name="fileselector_install_height" value="800" />
+ <variable name="fileselector_header_background" value="#202020" />
+ <variable name="fileselector_header_textcolor" value="#AAAAAA" />
+ <variable name="fileselector_header_separatorcolor" value="#33B5E5" />
+ <variable name="fileselector_header_separatorheight" value="3" />
+ <variable name="fileselector_separatorcolor" value="#505050" />
+ <variable name="fileselector_separatorheight" value="2" />
+ <variable name="fileselector_background" value="#303030" />
+ <variable name="fileselector_spacing" value="18" />
+ <variable name="zipstorage_text_y" value="130" />
+ <variable name="listbox_x" value="560" />
+ <variable name="listbox_y" value="150" />
+ <variable name="listbox_width" value="800" />
+ <variable name="listbox_tz_height" value="400" />
+ <variable name="listbox_background" value="#303030" />
+ <variable name="listbox_spacing" value="18" />
+ <variable name="sd_plus_x" value="408" />
+ <variable name="lock_x" value="660" />
+ <variable name="lock_y" value="300" />
+ <variable name="filemanager_select_x" value="1500" />
+ <variable name="filemanager_select_y" value="980" />
+ <variable name="backup_name_text_y" value="440" />
+ <variable name="backup_name_button_y" value="390" />
+ <variable name="col_right_x" value="1870" />
+ <variable name="cancel_button_y" value="240" />
+ <variable name="terminal_console_y" value="0" />
+ <variable name="terminal_console_height" value="610" />
+ <variable name="terminal_text_y" value="624" />
+ <variable name="terminal_button_y" value="615" />
+ <variable name="terminal_input_width" value="1550" />
+ <variable name="exclamation_x" value="760" />
+ <variable name="exclamation_y" value="260" />
+ </variables>
+
+ <templates>
+ <template name="header">
+ <background color="#000000FF" />
+
+ <object type="image">
+ <image resource="side" />
+ <placement x="0" y="0" />
+ </object>
+
+ <object type="image">
+ <image resource="side" />
+ <placement x="1875" y="0" />
+ </object>
+
+ <object type="image">
+ <image resource="base" />
+ <placement x="0" y="0" />
+ </object>
+
+ <object type="image">
+ <image resource="bottom" />
+ <placement x="1" y="1155" />
+ </object>
+
+ <object type="image">
+ <image resource="large_black" />
+ <placement x="0" y="0" />
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="250" y="5" />
+ <text>Team Win Recovery Project (twrp) v%tw_version%</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="250" y="40" />
+ <conditions>
+ <condition var1="tw_no_battery_percent" var2="0" />
+ <condition var1="tw_battery" op=">" var2="0" />
+ <condition var1="tw_battery" op="<" var2="101" />
+ </conditions>
+ <text>Battery Level: %tw_battery%</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="600" y="40" />
+ <text>%tw_time%</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_simulate_actions" var2="1" />
+ <font resource="font" />
+ <placement x="850" y="40" />
+ <text>SIMULATING ACTIONS</text>
+ </object>
+
+ <object type="button">
+ <placement x="%home_button_x%" y="%home_button_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text></text>
+ <image resource="home_icon" />
+ <condition var1="tw_busy" var2="0" />
+ <action function="key">home</action>
+ </object>
+
+ <object type="button">
+ <placement x="%back_button_x%" y="%back_button_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text></text>
+ <image resource="back_icon" />
+ <condition var1="tw_busy" var2="0" />
+ <action function="key">back</action>
+ </object>
+
+ <object type="action">
+ <touch key="power" />
+ <action function="overlay">lock</action>
+ </object>
+ </template>
+
+ <template name="progress_bar">
+ <object type="progressbar">
+ <placement x="%col_progressbar_x%" y="%row_progressbar_y%" />
+ <resource empty="progress_empty" full="progress_full" />
+ <data name="ui_progress" />
+ </object>
+
+ <object type="animation">
+ <placement x="%col_progressbar_x%" y="%row_progressbar_y%" />
+ <resource name="progress" />
+ <speed fps="15" render="6" />
+ <loop frame="1" />
+ </object>
+ </template>
+
+ <template name="sort_options">
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%sort_text_x%" y="%sort_asc_text_y%" />
+ <text>Sort Ascending:</text>
+ </object>
+
+ <object type="button">
+ <placement x="%sort_col1_button_x%" y="%sort_asc_button_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Name</text>
+ <image resource="sort_button" />
+ <action function="set">tw_gui_sort_order=1</action>
+ </object>
+
+ <object type="button">
+ <placement x="%sort_col2_button_x%" y="%sort_asc_button_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Date</text>
+ <image resource="sort_button" />
+ <action function="set">tw_gui_sort_order=2</action>
+ </object>
+
+ <object type="button">
+ <placement x="%sort_col3_button_x%" y="%sort_asc_button_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Size</text>
+ <image resource="sort_button" />
+ <action function="set">tw_gui_sort_order=3</action>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%sort_text_x%" y="%sort_desc_text_y%" />
+ <text>Sort Descending:</text>
+ </object>
+
+ <object type="button">
+ <placement x="%sort_col1_button_x%" y="%sort_desc_button_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Name</text>
+ <image resource="sort_button" />
+ <action function="set">tw_gui_sort_order=-1</action>
+ </object>
+
+ <object type="button">
+ <placement x="%sort_col2_button_x%" y="%sort_desc_button_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Date</text>
+ <image resource="sort_button" />
+ <action function="set">tw_gui_sort_order=-2</action>
+ </object>
+
+ <object type="button">
+ <placement x="%sort_col3_button_x%" y="%sort_desc_button_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Size</text>
+ <image resource="sort_button" />
+ <action function="set">tw_gui_sort_order=-3</action>
+ </object>
+ </template>
+
+ <template name="flash_zip_console">
+ <object type="console">
+ <placement x="%console_x%" y="140" w="%console_width%" h="700" />
+ <color foreground="%console_foreground%" background="%console_background%" scroll="%console_scroll%" />
+ <font resource="fixed" />
+ </object>
+ </template>
+
+ <template name="action_page_console">
+ <object type="console">
+ <placement x="%console_x%" y="400" w="%console_width%" h="600" />
+ <color foreground="%console_foreground%" background="%console_background%" scroll="%console_scroll%" />
+ <font resource="fixed" />
+ </object>
+ </template>
+
+ <template name="footer">
+ <object type="console">
+ <slideout resource="console_button" x="%console_button_x%" y="%console_button_y%" />
+ <placement x="%console_x%" y="150" w="%console_width%" h="1000" />
+ <color foreground="%console_foreground%" background="%console_background%" scroll="%console_scroll%" />
+ <font resource="fixed" />
+ </object>
+ </template>
+
+ <template name="keyboardtemplate">
+ <object type="keyboard">
+ <placement x="0" y="684" />
+ <layout resource1="keyboard1" resource2="keyboard2" resource3="keyboard3" resource4="keyboard4" />
+ <highlight color="#90909080" />
+ <layout1>
+ <keysize height="129" width="159" />
+ <row1 key01="153:" key02="q" long02="1" key03="w" long03="2" key04="e" long04="3" key05="r" long05="4" key06="t" long06="5" key07="y" long07="6" key08="u" long08="7" key09="i" long09="8" key10="o" long10="9" key11="p" long11="0" key12="177:c:8" />
+ <row2 key01="213:layout3" key02="156:a" key03="156:s" key04="156:d" key05="156:f" key06="156:g" key07="156:h" key08="156:j" key09="k" key10="156:l" key11="303:action" />
+ <row3 key01="269:layout2" key02="154:z" key03="154:x" key04="154:c" key05="154:v" key06="154:b" key07="154:n" key08="154:m" key09="154:," long09="!" key10="154:." long10="?" key11="265:layout2" />
+ <row4 key01="600:" key02="720: " key03="/" long03=":" key04="-" long0="_" />
+ </layout1>
+ <layout2>
+ <keysize height="129" width="159" />
+ <row1 key01="153:" key02="Q" long02="1" key03="W" long03="2" key04="E" long04="3" key05="R" long05="4" key06="T" long06="5" key07="Y" long07="6" key08="U" long08="7" key09="I" long09="8" key10="O" long10="9" key11="P" long11="0" key12="177:c:8" />
+ <row2 key01="213:layout3" key02="156:A" key03="156:S" key04="156:D" key05="156:F" key06="156:G" key07="156:H" key08="156:J" key09="156:K" key10="156:L" key11="303:action" />
+ <row3 key01="269:layout1" key02="154:Z" key03="154:X" key04="154:C" key05="154:V" key06="154:B" key07="154:N" key08="154:M" key09="154:," long09="!" key10="154:." long10="?" key11="265:layout1" />
+ <row4 key01="600:" key02="720: " key03="/" long03=":" key04="-" long0="_" />
+ </layout2>
+ <layout3>
+ <keysize height="129" width="159" />
+ <row1 key01="153:" key02="1" key03="2" key04="3" key05="4" key06="5" key07="6" key08="7" key09="8" key10="9" key11="0" key12="177:c:8" />
+ <row2 key01="213:layout1" key02="156:#" key03="156:$" key04="156:%" key05="156:&" key06="156:*" key07="156:-" key08="156:+" key09="156:(" key10="156:)" key11="303:action" />
+ <row3 key01="269:layout4" key02="154:<" key03="154:>" key04="154:=" key05="154:'" key06="154:;" key07="154:," key08="154:." key09="154:!" key10="154:?" key11="265:layout4" />
+ <row4 key01="282:" key02="/" key03="@" key04="720: " key05="159:c:34" key06="_" />
+ </layout3>
+ <layout4>
+ <keysize height="129" width="159" />
+ <row1 key01="153:" key02="~" key03="`" key04="|" key05="159:" key06="159:" key07="159:" key08="159:" key09="159:" key10="159:" key11="159:" key12="177:c:8" />
+ <row2 key01="213:layout1" key02="156:" key03="156:" key04="156:" key05="156:" key06="156:^" key07="156:" key08="156:" key09="156:{" key10="156:}" key11="303:action" />
+ <row3 key01="269:layout3" key02="154:\" key03="154:" key04="154:" key05="154:" key06="154:" key07="154:[" key08="154:]" key09="154:!" key10="154:?" key11="265:layout3" />
+ <row4 key01="600:" key02="720: " />
+ </layout4>
+ </object>
+ </template>
+ </templates>
+
+ <pages>
+ <page name="main">
+ <object type="action">
+ <actions>
+ <action function="set">tw_clear_destination=main2</action>
+ <action function="page">clear_vars</action>
+ </actions>
+ </object>
+ </page>
+
+ <page name="main2">
+ <object type="template" name="header" />
+
+ <object type="button">
+ <placement x="%col1_x%" y="%row1_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Install</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="queueclear"></action>
+ <action function="page">install</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <placement x="%col2_x%" y="%row1_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Backup</text>
+ <image resource="main_button" />
+ <action function="page">backup</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col3_x%" y="%row1_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Restore</text>
+ <image resource="main_button" />
+ <action function="page">restore</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col4_x%" y="%row1_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Wipe</text>
+ <image resource="main_button" />
+ <action function="page">wipe</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col1_x%" y="%row2_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Mount</text>
+ <image resource="main_button" />
+ <action function="page">mount</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col2_x%" y="%row2_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Settings</text>
+ <image resource="main_button" />
+ <action function="page">settings</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col3_x%" y="%row2_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Advanced</text>
+ <image resource="main_button" />
+ <action function="page">advanced</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col4_x%" y="%row2_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Reboot</text>
+ <image resource="main_button" />
+ <action function="page">reboot</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="install">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>Select Zip to Install</text>
+ </object>
+
+ <object type="button">
+ <placement x="%col2_x%" y="%zipstorage_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <conditions>
+ <condition var1="tw_has_dual_storage" var2="1" />
+ <condition var1="tw_use_external_storage" var2="1" />
+ </conditions>
+ <text>Using external SD</text>
+ <image resource="radio_true" />
+ <action function="togglestorage">external</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col2_x%" y="%zipstorage_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <conditions>
+ <condition var1="tw_has_dual_storage" var2="1" />
+ <condition var1="tw_use_external_storage" var2="0" />
+ </conditions>
+ <text>Using external SD</text>
+ <image resource="radio_false" />
+ <action function="togglestorage">external</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col3_x%" y="%zipstorage_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <conditions>
+ <condition var1="tw_has_dual_storage" var2="1" />
+ <condition var1="tw_use_external_storage" var2="1" />
+ </conditions>
+ <text>Using internal storage</text>
+ <image resource="radio_false" />
+ <action function="togglestorage">internal</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col3_x%" y="%zipstorage_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <conditions>
+ <condition var1="tw_has_dual_storage" var2="1" />
+ <condition var1="tw_use_external_storage" var2="0" />
+ </conditions>
+ <text>Using internal storage</text>
+ <image resource="radio_true" />
+ <action function="togglestorage">internal</action>
+ </object>
+
+ <object type="fileselector">
+ <placement x="%fileselector_folder_x%" y="%fileselector_install_y%" w="%fileselector_folder_width%" h="%fileselector_install_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <text>Folders:</text>
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <sort name="tw_gui_sort_order" />
+ <icon folder="folder_icon" file="file_icon" />
+ <background color="%fileselector_background%" />
+ <font resource="font" spacing="%fileselector_spacing%" color="%text_color%" />
+ <filter folders="1" files="0" />
+ <path name="tw_zip_location" default="/sdcard" />
+ <data name="select" />
+ </object>
+
+ <object type="fileselector">
+ <placement x="%fileselector_file_x%" y="%fileselector_install_y%" w="%fileselector_file_width%" h="%fileselector_install_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <text>%tw_zip_location%</text>
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <sort name="tw_gui_sort_order" />
+ <icon folder="folder_icon" file="file_icon" />
+ <background color="%fileselector_background%" />
+ <font resource="font" spacing="%fileselector_spacing%" color="%text_color%" />
+ <filter extn=".zip" folders="0" files="1" />
+ <path name="tw_zip_location" />
+ <data name="tw_filename" />
+ <selection name="tw_file" />
+ </object>
+
+ <object type="template" name="sort_options" />
+
+ <object type="action">
+ <condition var1="tw_filename" op="modified" />
+ <actions>
+ <action function="queuezip"></action>
+ <action function="page">flash_confirm</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="flash_confirm">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>WARNING: This operation may install incompatible software and render your device unusable.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>Folder:</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>%tw_zip_location%</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row4_text_y%" placement="5" />
+ <text>File to flash:</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row5_text_y%" placement="5" />
+ <text>%tw_file%</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row6_text_y%" placement="5" />
+ <text>Press back to cancel adding this zip.</text>
+ </object>
+
+ <object type="checkbox">
+ <placement x="%col2_x%" y="%row7_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Zip file signature verification?</text>
+ <data variable="tw_signed_zip_verify" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="checkbox">
+ <placement x="%col2_x%" y="%row8_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Force MD5 check on all zips?</text>
+ <data variable="tw_force_md5_check" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row10_text_y%" placement="5" />
+ <text>File %tw_zip_queue_count% of max of 10</text>
+ </object>
+
+ <object type="button">
+ <condition var1="tw_zip_queue_count" op="!=" var2="10"></condition>
+ <placement x="%col2_x%" y="%row5_medium_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Add More Zips</text>
+ <image resource="mediumwide_button" />
+ <action function="page">install</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col3_x%" y="%row5_medium_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Clear Queue</text>
+ <image resource="mediumwide_button" />
+ <actions>
+ <action function="queueclear"></action>
+ <action function="page">install</action>
+ </actions>
+ </object>
+
+ <object type="slider">
+ <placement x="%slider_x%" y="%slider_y%" />
+ <resource base="slider" used="slider-used" touch="slider-touch" />
+ <action function="flash">flash_zip</action>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%slider_text_y%" placement="4" />
+ <text>Swipe to Confirm Flash</text>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <actions>
+ <action function="cancelzip"></action>
+ <action function="page">install</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="flash_zip">
+ <object type="template" name="header" />
+
+ <object type="template" name="flash_zip_console" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%col1_x%" y="%row16_text_y%" />
+ <text>Flashing file %tw_zip_index% of %tw_zip_queue_count%</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%col1_x%" y="%row17_text_y%" />
+ <text>%tw_filename%</text>
+ </object>
+
+ <object type="template" name="progress_bar" />
+
+ <object type="action">
+ <condition var1="tw_operation_state" var2="1" />
+ <action function="page">flash_done</action>
+ </object>
+ </page>
+
+ <page name="flash_done">
+ <object type="template" name="header" />
+
+ <object type="template" name="flash_zip_console" />
+
+ <object type="text" color="%text_fail_color%">
+ <condition var1="tw_operation_status" op="!=" var2="0" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row17_text_y%" placement="5" />
+ <text>Failed</text>
+ </object>
+
+ <object type="text" color="%text_success_color%">
+ <condition var1="tw_operation_status" var2="0" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row17_text_y%" placement="5" />
+ <text>Successful</text>
+ </object>
+
+ <object type="button">
+ <placement x="%col1_x%" y="%slider_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Wipe Cache/Dalvik</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_back=flash_done</action>
+ <action function="set">tw_action=wipe</action>
+ <action function="set">tw_action_param=/cache</action>
+ <action function="set">tw_has_action2=1</action>
+ <action function="set">tw_action2=wipe</action>
+ <action function="set">tw_action2_param=dalvik</action>
+ <action function="set">tw_text1=Wipe Cache & Dalvik?</action>
+ <action function="set">tw_action_text1=Wiping Cache & Dalvik...</action>
+ <action function="set">tw_complete_text1=Cache & Dalvik Wipe Complete</action>
+ <action function="set">tw_slider_text=Swipe to Wipe</action>
+ <action function="page">confirm_action</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <condition var1="tw_reboot_system" var2="1" />
+ <placement x="%col4_x%" y="%slider_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Reboot System</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_back=main2</action>
+ <action function="set">tw_action=reboot</action>
+ <action function="set">tw_action_param=system</action>
+ <action function="set">tw_has_action2=0</action>
+ <action function="set">tw_text1=No OS Installed! Are you</action>
+ <action function="set">tw_text2=sure you wish to reboot?</action>
+ <action function="set">tw_text3=</action>
+ <action function="set">tw_text4=</action>
+ <action function="set">tw_action_text1=Rebooting...</action>
+ <action function="set">tw_action_text2=</action>
+ <action function="set">tw_complete_text1=Rebooting...</action>
+ <action function="set">tw_slider_text=Swipe to Reboot</action>
+ <action function="page">rebootcheck</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <placement x="%col_center_x%" y="%slider_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Home</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_clear_destination=main2</action>
+ <action function="page">clear_vars</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <actions>
+ <action function="set">tw_clear_destination=install</action>
+ <action function="page">clear_vars</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <actions>
+ <action function="set">tw_clear_destination=main2</action>
+ <action function="page">clear_vars</action>
+ </actions>
+ </object>
+ </page>
+
+ <page name="clear_vars">
+ <object type="action">
+ <action function="set">tw_operation_state=0</action>
+ <action function="set">tw_text1=</action>
+ <action function="set">tw_text2=</action>
+ <action function="set">tw_text3=</action>
+ <action function="set">tw_text4=</action>
+ <action function="set">tw_action_text1=</action>
+ <action function="set">tw_action_text2=</action>
+ <action function="set">tw_action_param=</action>
+ <action function="set">tw_has_action2=0</action>
+ <action function="set">tw_action2=</action>
+ <action function="set">tw_action2_param=</action>
+ <action function="set">tw_has_cancel=0</action>
+ <action function="set">tw_cancel_action=</action>
+ <action function="set">tw_cancel_param=</action>
+ <action function="set">tw_show_exclamation=0</action>
+ <action function="set">tw_show_reboot=0</action>
+ <action function="page">%tw_clear_destination%</action>
+ </object>
+ </page>
+
+ <page name="confirm_action">
+ <object type="template" name="header" />
+
+ <object type="button">
+ <condition var1="tw_show_exclamation" var2="1" />
+ <placement x="%exclamation_x%" y="%exclamation_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text></text>
+ <image resource="exclamation" />
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>%tw_text1%</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>%tw_text2%</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>%tw_text3%</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row4_text_y%" placement="5" />
+ <text>%tw_text4%</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row12_text_y%" placement="5" />
+ <text>Press back button to cancel.</text>
+ </object>
+
+ <object type="slider">
+ <placement x="%slider_x%" y="%slider_y%" />
+ <resource base="slider" used="slider-used" touch="slider-touch" />
+ <action function="page">action_page</action>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%slider_text_y%" placement="4" />
+ <text>%tw_slider_text%</text>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <actions>
+ <action function="set">tw_clear_destination=%tw_back%</action>
+ <action function="page">clear_vars</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="action_page">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>%tw_action_text1%</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>%tw_action_text2%</text>
+ </object>
+
+ <object type="template" name="action_page_console" />
+
+ <object type="button">
+ <condition var1="tw_has_cancel" var2="1" />
+ <placement x="%col4_x%" y="%slider_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Cancel</text>
+ <image resource="main_button" />
+ <action function="%tw_cancel_action%">%tw_cancel_param%</action>
+ </object>
+
+ <object type="template" name="progress_bar" />
+
+ <object type="action">
+ <condition var1="tw_operation_state" var2="1" />
+ <actions>
+ <action function="page">action_complete</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <condition var1="tw_has_action2" var2="0" />
+ <actions>
+ <action function="%tw_action%">%tw_action_param%</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <condition var1="tw_has_action2" var2="1" />
+ <actions>
+ <action function="%tw_action%">%tw_action_param%</action>
+ <action function="%tw_action2%">%tw_action2_param%</action>
+ </actions>
+ </object>
+ </page>
+
+ <page name="action_complete">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>%tw_complete_text1%</text>
+ </object>
+
+ <object type="text" color="%text_fail_color%">
+ <condition var1="tw_operation_status" op="!=" var2="0" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>Failed</text>
+ </object>
+
+ <object type="text" color="%text_success_color%">
+ <condition var1="tw_operation_status" var2="0" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>Successful</text>
+ </object>
+
+ <object type="template" name="action_page_console" />
+
+ <object type="button">
+ <condition var1="tw_show_reboot" var2="0" />
+ <placement x="%col_center_x%" y="%slider_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Back</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_clear_destination=%tw_back%</action>
+ <action function="page">clear_vars</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <condition var1="tw_show_reboot" var2="1" />
+ <placement x="%col_center_x%" y="%slider_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Reboot System</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_back=main2</action>
+ <action function="set">tw_action=reboot</action>
+ <action function="set">tw_action_param=system</action>
+ <action function="set">tw_has_action2=0</action>
+ <action function="set">tw_text1=No OS Installed! Are you</action>
+ <action function="set">tw_text2=sure you wish to reboot?</action>
+ <action function="set">tw_text3=</action>
+ <action function="set">tw_text4=</action>
+ <action function="set">tw_action_text1=Rebooting...</action>
+ <action function="set">tw_action_text2=</action>
+ <action function="set">tw_complete_text1=Rebooting...</action>
+ <action function="set">tw_slider_text=Swipe to Reboot</action>
+ <action function="page">rebootcheck</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <actions>
+ <action function="set">tw_clear_destination=main2</action>
+ <action function="page">clear_vars</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <actions>
+ <action function="set">tw_clear_destination=%tw_back%</action>
+ <action function="page">clear_vars</action>
+ </actions>
+ </object>
+ </page>
+
+ <page name="filecheck">
+ <object type="action">
+ <action function="fileexists">%tw_filecheck%</action>
+ </object>
+
+ <object type="action">
+ <conditions>
+ <condition var1="tw_operation_state" var2="1" />
+ <condition var1="tw_operation_status" var2="0" />
+ </conditions>
+ <actions>
+ <action function="set">tw_fileexists=1</action>
+ <action function="page">%tw_existpage%</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <conditions>
+ <condition var1="tw_operation_state" var2="1" />
+ <condition var1="tw_operation_status" var2="1" />
+ </conditions>
+ <actions>
+ <action function="set">tw_fileexists=0</action>
+ <action function="page">%tw_notexistpage%</action>
+ </actions>
+ </object>
+ </page>
+
+ <page name="rebootcheck">
+ <object type="action">
+ <condition var1="tw_backup_system_size" op=">=" var2="%tw_min_system%" />
+ <action function="reboot">%tw_action_param%</action>
+ </object>
+
+ <object type="action">
+ <condition var1="tw_backup_system_size" op="<" var2="%tw_min_system%" />
+ <action function="page">confirm_action</action>
+ </object>
+ </page>
+
+ <page name="reboot">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>Reboot Menu</text>
+ </object>
+
+ <object type="button">
+ <condition var1="tw_reboot_system" var2="1" />
+ <placement x="%col1_x%" y="%row1_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>System</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_back=reboot</action>
+ <action function="set">tw_action=reboot</action>
+ <action function="set">tw_action_param=system</action>
+ <action function="set">tw_has_action2=0</action>
+ <action function="set">tw_text1=No OS Installed! Are you</action>
+ <action function="set">tw_text2=sure you wish to reboot?</action>
+ <action function="set">tw_action_text1=Rebooting...</action>
+ <action function="set">tw_complete_text1=Rebooting...</action>
+ <action function="set">tw_slider_text=Swipe to Reboot</action>
+ <action function="page">rebootcheck</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <condition var1="tw_reboot_poweroff" var2="1" />
+ <placement x="%col2_x%" y="%row1_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Power Off</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_back=reboot</action>
+ <action function="set">tw_action=reboot</action>
+ <action function="set">tw_action_param=poweroff</action>
+ <action function="set">tw_has_action2=0</action>
+ <action function="set">tw_text1=No OS Installed! Are you</action>
+ <action function="set">tw_text2=sure you wish to power off?</action>
+ <action function="set">tw_action_text1=Turning Off...</action>
+ <action function="set">tw_complete_text1=Turning Off...</action>
+ <action function="set">tw_slider_text=Swipe to Power Off</action>
+ <action function="page">rebootcheck</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <condition var1="tw_reboot_recovery" var2="1" />
+ <placement x="%col1_x%" y="%row2_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Recovery</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_back=reboot</action>
+ <action function="set">tw_action=reboot</action>
+ <action function="set">tw_action_param=recovery</action>
+ <action function="set">tw_has_action2=0</action>
+ <action function="set">tw_text1=No OS Installed! Are you</action>
+ <action function="set">tw_text2=sure you wish to reboot?</action>
+ <action function="set">tw_action_text1=Rebooting...</action>
+ <action function="set">tw_complete_text1=Rebooting...</action>
+ <action function="set">tw_slider_text=Swipe to Reboot</action>
+ <action function="page">rebootcheck</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <condition var1="tw_reboot_bootloader" var2="1" />
+ <placement x="%col2_x%" y="%row2_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Bootloader</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_back=reboot</action>
+ <action function="set">tw_action=reboot</action>
+ <action function="set">tw_action_param=bootloader</action>
+ <action function="set">tw_has_action2=0</action>
+ <action function="set">tw_text1=No OS Installed! Are you</action>
+ <action function="set">tw_text2=sure you wish to reboot?</action>
+ <action function="set">tw_action_text1=Rebooting...</action>
+ <action function="set">tw_complete_text1=Rebooting...</action>
+ <action function="set">tw_slider_text=Swipe to Reboot</action>
+ <action function="page">rebootcheck</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <condition var1="tw_download_mode" var2="1" />
+ <placement x="%col3_x%" y="%row2_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Download</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_back=reboot</action>
+ <action function="set">tw_action=reboot</action>
+ <action function="set">tw_action_param=download</action>
+ <action function="set">tw_has_action2=0</action>
+ <action function="set">tw_text1=No OS Installed! Are you</action>
+ <action function="set">tw_text2=sure you wish to reboot?</action>
+ <action function="set">tw_action_text1=Rebooting...</action>
+ <action function="set">tw_complete_text1=Rebooting...</action>
+ <action function="set">tw_slider_text=Swipe to Reboot</action>
+ <action function="page">rebootcheck</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="mount">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>Mount Menu</text>
+ </object>
+
+ <object type="button">
+ <condition var1="tw_has_usb_storage" var2="1" />
+ <placement x="%col1_x%" y="%row1_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Mount USB Storage</text>
+ <image resource="main_button" />
+ <action function="page">usb_mount</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col1_x%" y="%row7_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <condition var1="mounted" op="!=" var2="/system" />
+ <text>Mount System</text>
+ <image resource="checkbox_false" />
+ <action function="mount">/system</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col1_x%" y="%row7_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <condition var1="mounted" op="=" var2="/system" />
+ <text>Unmount System</text>
+ <image resource="checkbox_true" />
+ <action function="umount">/system</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col1_x%" y="%row8_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <condition var1="mounted" op="!=" var2="/data" />
+ <text>Mount Data</text>
+ <image resource="checkbox_false" />
+ <action function="mount">/data</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col1_x%" y="%row8_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <condition var1="mounted" op="=" var2="/data" />
+ <text>Unmount Data</text>
+ <image resource="checkbox_true" />
+ <action function="umount">/data</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col1_x%" y="%row9_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <condition var1="mounted" op="!=" var2="/cache" />
+ <text>Mount Cache</text>
+ <image resource="checkbox_false" />
+ <action function="mount">/cache</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col1_x%" y="%row9_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <condition var1="mounted" op="=" var2="/cache" />
+ <text>Unmount Cache</text>
+ <image resource="checkbox_true" />
+ <action function="umount">/cache</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col1_x%" y="%row10_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <conditions>
+ <condition var1="tw_has_external" var2="1" />
+ <condition var1="mounted" op="!=" var2="EXTERNAL" />
+ </conditions>
+ <text>Mount SDCard</text>
+ <image resource="checkbox_false" />
+ <action function="mount">EXTERNAL</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col1_x%" y="%row10_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <conditions>
+ <condition var1="tw_has_external" var2="1" />
+ <condition var1="mounted" op="=" var2="EXTERNAL" />
+ </conditions>
+ <text>Unmount SDCard</text>
+ <image resource="checkbox_true" />
+ <action function="umount">EXTERNAL</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col2_x%" y="%row10_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <conditions>
+ <condition var1="tw_has_internal" var2="1" />
+ <condition var1="tw_has_data_media" var2="0" />
+ <condition var1="mounted" op="!=" var2="INTERNAL" />
+ </conditions>
+ <text>Mount Internal Storage</text>
+ <image resource="checkbox_false" />
+ <action function="mount">INTERNAL</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col2_x%" y="%row10_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <conditions>
+ <condition var1="tw_has_internal" var2="1" />
+ <condition var1="tw_has_data_media" var2="0" />
+ <condition var1="mounted" op="=" var2="INTERNAL" />
+ </conditions>
+ <text>Unmount Internal Storage</text>
+ <image resource="checkbox_true" />
+ <action function="umount">INTERNAL</action>
+ </object>
+
+ <object type="button">
+ <conditions>
+ <condition var1="tw_has_sdext_partition" var2="1" />
+ <condition var1="mounted" op="!=" var2="/sd-ext" />
+ </conditions>
+ <placement x="%col1_x%" y="%row11_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Mount SD-Ext</text>
+ <image resource="checkbox_false" />
+ <action function="mount">/sd-ext</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col1_x%" y="%row11_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <condition var1="mounted" op="=" var2="/sd-ext" />
+ <text>Unmount SD-Ext</text>
+ <image resource="checkbox_true" />
+ <action function="umount">/sd-ext</action>
+ </object>
+
+ <object type="button">
+ <conditions>
+ <condition var1="tw_boot_is_mountable" var2="1" />
+ <condition var1="mounted" op="!=" var2="/boot" />
+ </conditions>
+ <placement x="%col1_x%" y="%row12_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Mount Boot</text>
+ <image resource="checkbox_false" />
+ <action function="mount">/boot</action>
+ </object>
+
+ <object type="button">
+ <conditions>
+ <condition var1="tw_boot_is_mountable" var2="1" />
+ <condition var1="mounted" op="=" var2="/boot" />
+ </conditions>
+ <placement x="%col1_x%" y="%row12_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Unmount Boot</text>
+ <image resource="checkbox_true" />
+ <action function="umount">/boot</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col1_x%" y="%row13_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <conditions>
+ <condition var1="tw_has_dual_storage" var2="1" />
+ <condition var1="tw_use_external_storage" var2="1" />
+ </conditions>
+ <text>Using external SD</text>
+ <image resource="radio_true" />
+ <action function="togglestorage">external</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col1_x%" y="%row13_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <conditions>
+ <condition var1="tw_has_dual_storage" var2="1" />
+ <condition var1="tw_use_external_storage" var2="0" />
+ </conditions>
+ <text>Using external SD</text>
+ <image resource="radio_false" />
+ <action function="togglestorage">external</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col2_x%" y="%row13_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <conditions>
+ <condition var1="tw_has_dual_storage" var2="1" />
+ <condition var1="tw_use_external_storage" var2="1" />
+ </conditions>
+ <text>Using internal storage</text>
+ <image resource="radio_false" />
+ <action function="togglestorage">internal</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col2_x%" y="%row13_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <conditions>
+ <condition var1="tw_has_dual_storage" var2="1" />
+ <condition var1="tw_use_external_storage" var2="0" />
+ </conditions>
+ <text>Using internal storage</text>
+ <image resource="radio_true" />
+ <action function="togglestorage">internal</action>
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="usb_mount">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <font resource="font" />
+ <text>USB Storage Mounted -- Be sure to safely remove your device from your computer before unmounting!</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <placement x="%col1_x%" y="%row2_text_y%" />
+ <font resource="font" />
+ <text></text>
+ </object>
+
+ <object type="button">
+ <placement x="%col_center_x%" y="%row1_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Unmount</text>
+ <image resource="main_button" />
+ <action function="page">usb_umount</action>
+ </object>
+
+ <object type="action">
+ <action function="mount">usb</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="usb_umount">
+ <object type="action">
+ <action function="unmount">usb</action>
+ </object>
+
+ <object type="action">
+ <action function="page">mount</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="wipe">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>Wipe Menu</text>
+ </object>
+
+ <object type="button">
+ <placement x="%col1_x%" y="%row1_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Cache</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_back=wipe</action>
+ <action function="set">tw_action=wipe</action>
+ <action function="set">tw_action_param=/cache</action>
+ <action function="set">tw_text1=Wipe Cache?</action>
+ <action function="set">tw_action_text1=Wiping Cache...</action>
+ <action function="set">tw_complete_text1=Cache Wipe Complete</action>
+ <action function="set">tw_slider_text=Swipe to Wipe</action>
+ <action function="page">confirm_action</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <placement x="%col2_x%" y="%row1_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Dalvik Cache</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_back=wipe</action>
+ <action function="set">tw_action=wipe</action>
+ <action function="set">tw_action_param=dalvik</action>
+ <action function="set">tw_text1=Wipe Dalvik-Cache?</action>
+ <action function="set">tw_action_text1=Wiping Dalvik-Cache...</action>
+ <action function="set">tw_complete_text1=Dalvik-Cache Wipe Complete</action>
+ <action function="set">tw_slider_text=Swipe to Wipe</action>
+ <action function="page">confirm_action</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <placement x="%col3_x%" y="%row1_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Factory Reset</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_back=wipe</action>
+ <action function="set">tw_action=wipe</action>
+ <action function="set">tw_action_param=data</action>
+ <action function="set">tw_text1=Factory Reset?</action>
+ <action function="set">tw_text2=(Wipes Data and Cache)</action>
+ <action function="set">tw_action_text1=Factory Reset...</action>
+ <action function="set">tw_complete_text1=Factory Reset Complete</action>
+ <action function="set">tw_slider_text=Swipe to Wipe</action>
+ <action function="page">confirm_action</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <placement x="%col4_x%" y="%row1_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>System</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_back=wipe</action>
+ <action function="set">tw_action=wipe</action>
+ <action function="set">tw_action_param=/system</action>
+ <action function="set">tw_text1=Wipe System?</action>
+ <action function="set">tw_text2=This will wipe your ROM</action>
+ <action function="set">tw_action_text1=Wiping System...</action>
+ <action function="set">tw_complete_text1=System Wipe Complete</action>
+ <action function="set">tw_slider_text=Swipe to Wipe</action>
+ <action function="page">confirm_action</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <condition var1="tw_has_external" var2="1" />
+ <placement x="%col1_x%" y="%row2_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>External Storage</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_back=wipe</action>
+ <action function="set">tw_action=wipe</action>
+ <action function="set">tw_action_param=EXTERNAL</action>
+ <action function="set">tw_has_action2=1</action>
+ <action function="set">tw_action2=set</action>
+ <action function="set">tw_action2_param=tw_zip_location=/sdcard</action>
+ <action function="set">tw_text1=Wipe External Storage (SD card)?</action>
+ <action function="set">tw_action_text1=Wiping External Storage...</action>
+ <action function="set">tw_complete_text1=External Storage Wipe Complete</action>
+ <action function="set">tw_slider_text=Swipe to Wipe</action>
+ <action function="page">confirm_action</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <condition var1="tw_has_internal" var2="1" />
+ <placement x="%col2_x%" y="%row2_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Internal Storage</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_back=wipe</action>
+ <action function="set">tw_action=wipe</action>
+ <action function="set">tw_action_param=INTERNAL</action>
+ <action function="set">tw_has_action2=1</action>
+ <action function="set">tw_action2=set</action>
+ <action function="set">tw_action2_param=tw_zip_location=/sdcard</action>
+ <action function="set">tw_text1=Wipe Internal Storage?</action>
+ <action function="set">tw_action_text1=Wiping Internal Storage...</action>
+ <action function="set">tw_complete_text1=Internal Storage Wipe Complete</action>
+ <action function="set">tw_slider_text=Swipe to Wipe</action>
+ <action function="page">confirm_action</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <conditions>
+ <condition var1="tw_has_internal" var2="1" />
+ <condition var1="tw_has_data_media" var2="1" />
+ </conditions>
+ <placement x="%col3_x%" y="%row2_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Format Data</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_back=wipe</action>
+ <action function="set">tw_action=wipe</action>
+ <action function="set">tw_action_param=DATAMEDIA</action>
+ <action function="set">tw_has_action2=1</action>
+ <action function="set">tw_action2=set</action>
+ <action function="set">tw_action2_param=tw_zip_location=/sdcard</action>
+ <action function="set">tw_text1=Format Data? (This wipes all media</action>
+ <action function="set">tw_text2=including backups & removes encryption)</action>
+ <action function="set">tw_text3=Most of the time you do not need to do this.</action>
+ <action function="set">tw_action_text1=Formatting Data...</action>
+ <action function="set">tw_complete_text1=Data Format Complete</action>
+ <action function="set">tw_slider_text=Swipe to Format</action>
+ <action function="set">tw_show_exclamation=1</action>
+ <action function="page">confirm_action</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <condition var1="tw_has_data_media" var2="0" />
+ <placement x="%col3_x%" y="%row2_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Android Secure</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_back=wipe</action>
+ <action function="set">tw_action=wipe</action>
+ <action function="set">tw_action_param=ANDROIDSECURE</action>
+ <action function="set">tw_text1=Wipe Android Secure?</action>
+ <action function="set">tw_action_text1=Wiping Android Secure...</action>
+ <action function="set">tw_complete_text1=Wipe Android Secure Complete</action>
+ <action function="set">tw_slider_text=Swipe to Format</action>
+ <action function="page">confirm_action</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <condition var1="tw_has_sdext_partition" var2="1" />
+ <placement x="%col4_x%" y="%row2_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>SD Ext</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_back=wipe</action>
+ <action function="set">tw_action=wipe</action>
+ <action function="set">tw_action_param=/sd-ext</action>
+ <action function="set">tw_text1=Wipe SD-Ext?</action>
+ <action function="set">tw_action_text1=Wiping SD-Ext...</action>
+ <action function="set">tw_complete_text1=SD-Ext Wipe Complete</action>
+ <action function="set">tw_slider_text=Swipe to Wipe</action>
+ <action function="page">confirm_action</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="backup">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>Back Up Device</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%col1_x%" y="%row2_text_y%" placement="0" />
+ <text>Free Space: %tw_storage_free_size% MB</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%col_right_x%" y="%row2_text_y%" placement="1" />
+ <text>Backup Name: %tw_backup_name%</text>
+ </object>
+
+ <object type="checkbox">
+ <placement x="%nandcheck_col1%" y="%nandcheck_row1%" />
+ <font resource="font" color="%text_color%" />
+ <text>System (%tw_backup_system_size% MB)</text>
+ <data variable="tw_backup_system" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="checkbox">
+ <placement x="%nandcheck_col1%" y="%nandcheck_row2%" />
+ <font resource="font" color="%text_color%" />
+ <text>Data (%tw_backup_data_size% MB)</text>
+ <data variable="tw_backup_data" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="checkbox">
+ <condition var1="tw_has_boot_partition" var2="1" />
+ <placement x="%nandcheck_col1%" y="%nandcheck_row3%" />
+ <font resource="font" color="%text_color%" />
+ <text>Boot (%tw_backup_boot_size% MB)</text>
+ <data variable="tw_backup_boot" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="checkbox">
+ <condition var1="tw_has_recovery_partition" var2="1" />
+ <placement x="%nandcheck_col1%" y="%nandcheck_row4%" />
+ <font resource="font" color="%text_color%" />
+ <text>Recovery (%tw_backup_recovery_size% MB)</text>
+ <data variable="tw_backup_recovery" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="checkbox">
+ <placement x="%nandcheck_col1%" y="%nandcheck_row5%" />
+ <font resource="font" color="%text_color%" />
+ <text>Cache (%tw_backup_cache_size% MB)</text>
+ <data variable="tw_backup_cache" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="checkbox">
+ <condition var1="tw_has_android_secure" var2="1" />
+ <placement x="%nandcheck_col2%" y="%nandcheck_row1%" />
+ <font resource="font" color="%text_color%" />
+ <text>.android_secure (%tw_backup_andsec_size% MB)</text>
+ <data variable="tw_backup_andsec" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="checkbox">
+ <condition var1="tw_has_sdext_partition" var2="1" />
+ <placement x="%nandcheck_col2%" y="%nandcheck_row2%" />
+ <font resource="font" color="%text_color%" />
+ <text>sd-ext (%tw_backup_sdext_size% MB)</text>
+ <data variable="tw_backup_sdext" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="checkbox">
+ <condition var1="tw_sp1_name" op=">" var2="" />
+ <placement x="%nandcheck_col2%" y="%nandcheck_row3%" />
+ <font resource="font" color="%text_color%" />
+ <text>%tw_sp1_name% (%tw_backup_sp1_size% MB)</text>
+ <data variable="tw_backup_sp1" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="checkbox">
+ <condition var1="tw_sp2_name" op=">" var2="" />
+ <placement x="%nandcheck_col2%" y="%nandcheck_row4%" />
+ <font resource="font" color="%text_color%" />
+ <text>%tw_sp2_name% (%tw_backup_sp2_size% MB)</text>
+ <data variable="tw_backup_sp2" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="checkbox">
+ <condition var1="tw_sp3_name" op=">" var2="" />
+ <placement x="%nandcheck_col2%" y="%nandcheck_row5%" />
+ <font resource="font" color="%text_color%" />
+ <text>%tw_sp3_name% (%tw_backup_sp3_size% MB)</text>
+ <data variable="tw_backup_sp3" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="checkbox">
+ <placement x="%col1_x%" y="%nandcheck_row6%" />
+ <font resource="font" color="%text_color%" />
+ <text>Enable Compression (Requires more time)</text>
+ <data variable="tw_use_compression" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="checkbox">
+ <placement x="%col3_x%" y="%nandcheck_row6%" />
+ <font resource="font" color="%text_color%" />
+ <text>Skip MD5 generation on backups</text>
+ <data variable="tw_skip_md5_generate" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="button">
+ <placement x="%col2_x%" y="%nandcheck_row7%" />
+ <font resource="font" color="%text_color%" />
+ <conditions>
+ <condition var1="tw_has_dual_storage" var2="1" />
+ <condition var1="tw_use_external_storage" var2="1" />
+ </conditions>
+ <text>Using external SD</text>
+ <image resource="radio_true" />
+ <action function="togglestorage">external</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col2_x%" y="%nandcheck_row7%" />
+ <font resource="font" color="%text_color%" />
+ <conditions>
+ <condition var1="tw_has_dual_storage" var2="1" />
+ <condition var1="tw_use_external_storage" var2="0" />
+ </conditions>
+ <text>Using external SD</text>
+ <image resource="radio_false" />
+ <action function="togglestorage">external</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col3_x%" y="%nandcheck_row7%" />
+ <font resource="font" color="%text_color%" />
+ <conditions>
+ <condition var1="tw_has_dual_storage" var2="1" />
+ <condition var1="tw_use_external_storage" var2="1" />
+ </conditions>
+ <text>Using internal storage</text>
+ <image resource="radio_false" />
+ <action function="togglestorage">internal</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col3_x%" y="%nandcheck_row7%" />
+ <font resource="font" color="%text_color%" />
+ <conditions>
+ <condition var1="tw_has_dual_storage" var2="1" />
+ <condition var1="tw_use_external_storage" var2="0" />
+ </conditions>
+ <text>Using internal storage</text>
+ <image resource="radio_true" />
+ <action function="togglestorage">internal</action>
+ </object>
+
+ <object type="slider">
+ <placement x="%slider_x%" y="%slider_y%" />
+ <resource base="slider" used="slider-used" touch="slider-touch" />
+ <actions>
+ <action function="set">tw_operation_state=0</action>
+ <action function="page">backup_run</action>
+ </actions>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%slider_text_y%" placement="4" />
+ <text>Swipe to Back Up</text>
+ </object>
+
+ <object type="button">
+ <placement x="%col4_x%" y="%row1_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Refresh Sizes</text>
+ <image resource="main_button" />
+ <action function="refreshsizes"></action>
+ </object>
+
+ <object type="button">
+ <placement x="%col4_x%" y="%backup_name_button_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Set Backup Name</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_fileexists=0</action>
+ <action function="page">backupname1</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="backupname1">
+ <object type="action">
+ <condition var1="tw_backup_name" op="=" var2="(Current Date)" />
+ <action function="set">tw_backup_name=</function>
+ </object>
+
+ <object type="action">
+ <action function="page">backupname2</function>
+ </object>
+ </page>
+
+ <page name="backupname2">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <font resource="font" />
+ <text>Please Enter a Backup Name</text>
+ </object>
+
+ <object type="input">
+ <placement x="%input_x%" y="%row3_text_y%" w="%input_width%" h="%input_height%" placement="0" />
+ <background color="%input_background_color%" />
+ <cursor color="%input_cursor_color%" hasfocus="1" width="%input_cursor_width%" />
+ <font resource="font" color="%text_color%" />
+ <text>%tw_backup_name%</text>
+ <data name="tw_backup_name" />
+ <restrict minlen="1" maxlen="64" allow=" abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-_.{}[]" />
+ <actions>
+ <action function="set">tw_filecheck=%tw_backups_folder%/%tw_backup_name%</action>
+ <action function="set">tw_existpage=backupname2</action>
+ <action function="set">tw_notexistpage=backup</action>
+ <action function="page">filecheck</action>
+ </actions>
+ </object>
+
+ <object type="text" color="%text_fail_color%">
+ <condition var1="tw_fileexists" var2="1" />
+ <placement x="%center_x%" y="%row5_text_y%" placement="5" />
+ <font resource="font" />
+ <text>A backup with that name already exists!</text>
+ </object>
+
+ <object type="button">
+ <placement x="%col_center_x%" y="%cancel_button_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Cancel / Clear</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_backup_name=(Current Date)</action>
+ <action function="page">backup</action>
+ </actions>
+ </object>
+
+ <object type="template" name="keyboardtemplate" />
+
+ <object type="action">
+ <touch key="home" />
+ <actions>
+ <action function="set">tw_backup_name=(Current Date)</action>
+ <action function="page">main</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <actions>
+ <action function="set">tw_backup_name=(Current Date)</action>
+ <action function="page">backup</action>
+ </actions>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="backup_run">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>%tw_operation% %tw_partition%</text>
+ </object>
+
+ <object type="template" name="action_page_console" />
+
+ <object type="template" name="progress_bar" />
+
+ <object type="action">
+ <action function="nandroid">backup</action>
+ </object>
+
+ <object type="action">
+ <condition var1="tw_operation_state" var2="1" />
+ <actions>
+ <action function="set">tw_back=backup</action>
+ <action function="set">tw_complete_text1=Backup Complete</action>
+ <action function="set">tw_show_reboot=1</action>
+ <action function="page">action_complete</action>
+ </actions>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="restore">
+ <object type="template" name="header" />
+
+ <object type="button">
+ <placement x="%col2_x%" y="%zipstorage_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <conditions>
+ <condition var1="tw_has_dual_storage" var2="1" />
+ <condition var1="tw_use_external_storage" var2="1" />
+ </conditions>
+ <text>Using external SD</text>
+ <image resource="radio_true" />
+ <action function="togglestorage">external</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col2_x%" y="%zipstorage_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <conditions>
+ <condition var1="tw_has_dual_storage" var2="1" />
+ <condition var1="tw_use_external_storage" var2="0" />
+ </conditions>
+ <text>Using external SD</text>
+ <image resource="radio_false" />
+ <action function="togglestorage">external</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col3_x%" y="%zipstorage_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <conditions>
+ <condition var1="tw_has_dual_storage" var2="1" />
+ <condition var1="tw_use_external_storage" var2="1" />
+ </conditions>
+ <text>Using internal storage</text>
+ <image resource="radio_false" />
+ <action function="togglestorage">internal</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col3_x%" y="%zipstorage_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <conditions>
+ <condition var1="tw_has_dual_storage" var2="1" />
+ <condition var1="tw_use_external_storage" var2="0" />
+ </conditions>
+ <text>Using internal storage</text>
+ <image resource="radio_true" />
+ <action function="togglestorage">internal</action>
+ </object>
+
+ <object type="fileselector">
+ <placement x="%col2_x%" y="%fileselector_install_y%" w="%fileselector_folderonly_width%" h="%fileselector_install_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <text>Select Package to Restore:</text>
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <sort name="tw_gui_sort_order" />
+ <font resource="font" spacing="%fileselector_spacing%" color="%text_color%" />
+ <icon folder="folder_icon" file="file_icon" />
+ <background color="%fileselector_background%" />
+ <filter folders="1" files="0" nav="0" />
+ <path name="tw_backups_folder" />
+ <data name="tw_restore" default="" />
+ <selection name="tw_restore_name" />
+ </object>
+
+ <object type="template" name="sort_options" />
+
+ <object type="action">
+ <condition var1="tw_restore" op="modified" />
+ <actions>
+ <action function="readBackup"></action>
+ <action function="page">restore_select</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="restore_select">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>Package to Restore: %tw_restore_name%</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>Package Date: %tw_restore_file_date%</text>
+ </object>
+
+ <object type="checkbox">
+ <placement x="%nandcheck_col1%" y="%nandcheck_row1%" />
+ <font resource="font" color="%text_color%" />
+ <text>System</text>
+ <condition var1="tw_restore_system" op=">=" var2="0" />
+ <data variable="tw_restore_system" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="checkbox">
+ <placement x="%nandcheck_col1%" y="%nandcheck_row2%" />
+ <font resource="font" color="%text_color%" />
+ <text>Data</text>
+ <condition var1="tw_restore_data" op=">=" var2="0" />
+ <data variable="tw_restore_data" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="checkbox">
+ <placement x="%nandcheck_col1%" y="%nandcheck_row3%" />
+ <font resource="font" color="%text_color%" />
+ <text>Boot</text>
+ <condition var1="tw_restore_boot" op=">=" var2="0" />
+ <data variable="tw_restore_boot" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="checkbox">
+ <placement x="%nandcheck_col1%" y="%nandcheck_row5%" />
+ <font resource="font" color="%text_color%" />
+ <text>Cache</text>
+ <condition var1="tw_restore_cache" op=">=" var2="0" />
+ <data variable="tw_restore_cache" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="checkbox">
+ <placement x="%nandcheck_col2%" y="%nandcheck_row1%" />
+ <font resource="font" color="%text_color%" />
+ <text>.android_secure</text>
+ <condition var1="tw_restore_andsec" op=">=" var2="0" />
+ <data variable="tw_restore_andsec" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="checkbox">
+ <placement x="%nandcheck_col2%" y="%nandcheck_row2%" />
+ <font resource="font" color="%text_color%" />
+ <text>sd-ext</text>
+ <condition var1="tw_restore_sdext" op=">=" var2="0" />
+ <data variable="tw_restore_sdext" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="checkbox">
+ <placement x="%nandcheck_col2%" y="%nandcheck_row3%" />
+ <font resource="font" color="%text_color%" />
+ <text>%tw_sp1_name%</text>
+ <condition var1="tw_restore_sp1" op=">=" var2="0" />
+ <data variable="tw_restore_sp1" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="checkbox">
+ <placement x="%nandcheck_col2%" y="%nandcheck_row4%" />
+ <font resource="font" color="%text_color%" />
+ <text>%tw_sp2_name%</text>
+ <condition var1="tw_restore_sp2" op=">=" var2="0" />
+ <data variable="tw_restore_sp2" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="checkbox">
+ <placement x="%nandcheck_col2%" y="%nandcheck_row5%" />
+ <font resource="font" color="%text_color%" />
+ <text>%tw_sp3_name%</text>
+ <condition var1="tw_restore_sp3" op=">=" var2="0" />
+ <data variable="tw_restore_sp3" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="checkbox">
+ <placement x="%col1_x%" y="%nandcheck_row6%" />
+ <font resource="font" color="%text_color%" />
+ <text>Enable MD5 checking of backup files</text>
+ <data variable="tw_skip_md5_check" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="button">
+ <placement x="%col4_x%" y="%row1_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Rename Backup</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_backup_rename=</action>
+ <action function="set">tw_fileexists=0</action>
+ <action function="page">renamebackup</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <placement x="%col4_x%" y="%backup_name_button_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Delete Backup</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_back=restore</action>
+ <action function="set">tw_action=cmd</action>
+ <action function="set">tw_action_param=cd %tw_backups_folder% && rm -rf "%tw_restore_name%"</action>
+ <action function="set">tw_text1=Delete Backup? %tw_restore_name%</action>
+ <action function="set">tw_text2=This cannot be undone!</action>
+ <action function="set">tw_action_text1=Deleting Backup...</action>
+ <action function="set">tw_complete_text1=Backup Delete Complete</action>
+ <action function="set">tw_slider_text=Swipe to Delete</action>
+ <action function="page">confirm_action</action>
+ </actions>
+ </object>
+
+ <object type="slider">
+ <placement x="%slider_x%" y="%slider_y%" />
+ <resource base="slider" used="slider-used" touch="slider-touch" />
+ <action function="page">restore_run</action>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%slider_text_y%" placement="4" />
+ <text>Swipe to Restore</text>
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <action function="page">restore</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="renamebackup">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <font resource="font" />
+ <text>Please Enter a New Backup Name</text>
+ </object>
+
+ <object type="input">
+ <placement x="%input_x%" y="%row3_text_y%" w="%input_width%" h="%input_height%" placement="0" />
+ <background color="%input_background_color%" />
+ <cursor color="%input_cursor_color%" hasfocus="1" width="%input_cursor_width%" />
+ <font resource="font" color="%text_color%" />
+ <text>%tw_backup_rename%</text>
+ <data name="tw_backup_rename" />
+ <restrict minlen="1" maxlen="64" allow=" abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-_.{}[]" />
+ <actions>
+ <action function="set">tw_back=restore</action>
+ <action function="set">tw_action=cmd</action>
+ <action function="set">tw_action_param=cd %tw_backups_folder% && mv %tw_restore_name% %tw_backup_rename%</action>
+ <action function="set">tw_text1=Rename Backup?</action>
+ <action function="set">tw_text2=This cannot be undone!</action>
+ <action function="set">tw_action_text1=Renaming Backup...</action>
+ <action function="set">tw_complete_text1=Backup Rename Complete</action>
+ <action function="set">tw_slider_text=Swipe to Rename</action>
+ <action function="set">tw_filecheck=%tw_backups_folder%/%tw_backup_rename%</action>
+ <action function="set">tw_existpage=renamebackup</action>
+ <action function="set">tw_notexistpage=confirm_action</action>
+ <action function="page">filecheck</action>
+ </actions>
+ </object>
+
+ <object type="text" color="%text_fail_color%">
+ <condition var1="tw_fileexists" var2="1" />
+ <placement x="%center_x%" y="%row5_text_y%" placement="5" />
+ <font resource="font" />
+ <text>A backup with that name already exists!</text>
+ </object>
+
+ <object type="button">
+ <placement x="%col_center_x%" y="%cancel_button_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Cancel</text>
+ <image resource="main_button" />
+ <action function="page">restore_select</action>
+ </object>
+
+ <object type="template" name="keyboardtemplate" />
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <action function="page">restore_select</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="restore_run">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>%tw_operation% %tw_partition%</text>
+ </object>
+
+ <object type="template" name="action_page_console" />
+
+ <object type="template" name="progress_bar" />
+
+ <object type="action">
+ <condition var1="tw_operation_state" var2="1" />
+ <actions>
+ <action function="set">tw_back=restore_select</action>
+ <action function="set">tw_complete_text1=Restore Complete</action>
+ <action function="set">tw_show_reboot=1</action>
+ <action function="page">action_complete</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <action function="nandroid">restore</action>
+ </object>
+ </page>
+
+ <page name="settings">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>Settings</text>
+ </object>
+
+ <object type="checkbox">
+ <placement x="%col1_x%" y="%row2_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Zip file signature verification?</text>
+ <data variable="tw_signed_zip_verify" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="checkbox">
+ <placement x="%col1_x%" y="%row3_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Force MD5 check on all zips?</text>
+ <data variable="tw_force_md5_check" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="checkbox">
+ <placement x="%col1_x%" y="%row4_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Use rm -rf instead of formatting?</text>
+ <data variable="tw_rm_rf" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="checkbox">
+ <placement x="%col1_x%" y="%row5_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Skip MD5 generation on backups</text>
+ <data variable="tw_skip_md5_generate" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="checkbox">
+ <placement x="%col1_x%" y="%row6_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Enable MD5 checking of backup files</text>
+ <data variable="tw_skip_md5_check" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="checkbox">
+ <placement x="%col1_x%" y="%row7_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Ignore image size errors during backup</text>
+ <data variable="tw_ignore_image_size" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="checkbox">
+ <placement x="%col1_x%" y="%row8_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Simulate most actions for theme testing</text>
+ <data variable="tw_simulate_actions" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="checkbox">
+ <condition var1="tw_simulate_actions" var2="1" />
+ <placement x="%col1_x%" y="%row9_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Simulate failure for actions</text>
+ <data variable="tw_simulate_fail" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="button">
+ <placement x="%col1_x%" y="%row2_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Time Zone</text>
+ <image resource="main_button" />
+ <action function="page">timezone</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col_center_x%" y="%slider_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Restore Defaults</text>
+ <image resource="main_button" />
+ <action function="restoredefaultsettings"></action>
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="timezone">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>Select Time Zone</text>
+ </object>
+
+ <object type="listbox">
+ <placement x="%listbox_x%" y="%listbox_y%" w="%listbox_width%" h="%listbox_tz_height%" />
+ <icon selected="radio_true" unselected="radio_false" />
+ <background color="%listbox_background%" />
+ <font resource="font" spacing="%listbox_spacing%" color="%text_color%" />
+ <data name="tw_time_zone_guisel" />
+ <listitem name="(UTC -11) Samoa, Midway Island">BST11;BDT</listitem>
+ <listitem name="(UTC -10) Hawaii">HST10;HDT</listitem>
+ <listitem name="(UTC -9) Alaska">AST9;ADT</listitem>
+ <listitem name="(UTC -8) Pacific Time">PST8;PDT</listitem>
+ <listitem name="(UTC -7) Mountain Time">MST7;MDT</listitem>
+ <listitem name="(UTC -6) Central Time">CST6;CDT</listitem>
+ <listitem name="(UTC -5) Eastern Time">EST5;EDT</listitem>
+ <listitem name="(UTC -4) Atlantic Time">AST4;ADT</listitem>
+ <listitem name="(UTC -3) Brazil, Buenos Aires">GRNLNDST3;GRNLNDDT</listitem>
+ <listitem name="(UTC -2) Mid-Atlantic">FALKST2;FALKDT</listitem>
+ <listitem name="(UTC -1) Azores, Cape Verde">AZOREST1;AZOREDT</listitem>
+ <listitem name="(UTC 0) London, Dublin, Lisbon">GMT0;BST</listitem>
+ <listitem name="(UTC +1) Berlin, Brussels, Paris">NFT-1;DFT</listitem>
+ <listitem name="(UTC +2) Athens, Istanbul, South Africa">WET-2;WET</listitem>
+ <listitem name="(UTC +3) Moscow, Baghdad">SAUST-3;SAUDT</listitem>
+ <listitem name="(UTC +4) Abu Dhabi, Tbilisi, Muscat">WST-4;WDT</listitem>
+ <listitem name="(UTC +5) Yekaterinburg, Islamabad">PAKST-5;PAKDT</listitem>
+ <listitem name="(UTC +6) Almaty, Dhaka, Colombo">TASHST-6;TASHDT</listitem>
+ <listitem name="(UTC +7) Bangkok, Hanoi, Jakarta">THAIST-7;THAIDT</listitem>
+ <listitem name="(UTC +8) Beijing, Singapore, Hong Kong">TAIST-8;TAIDT</listitem>
+ <listitem name="(UTC +9) Tokyo, Seoul, Yakutsk">JST-9;JSTDT</listitem>
+ <listitem name="(UTC +10) Eastern Australia, Guam">EET-10;EETDT</listitem>
+ <listitem name="(UTC +11) Vladivostok, Solomon Islands">MET-11;METDT</listitem>
+ <listitem name="(UTC +12) Auckland, Wellington, Fiji">NZST-12;NZDT</listitem>
+ </object>
+
+ <object type="checkbox">
+ <placement x="%col1_medium_x%" y="%row11_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Do you use daylight savings time (DST)?</text>
+ <data variable="tw_time_zone_guidst" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row13_text_y%" placement="5" />
+ <text>Offset (usually 0): %tw_time_zone_guioffset%</text>
+ </object>
+
+ <object type="button">
+ <placement x="%col1_medium_x%" y="%row_offsetmedium_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>0</text>
+ <image resource="medium_button" />
+ <action function="set">tw_time_zone_guioffset=0</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col2_medium_x%" y="%row_offsetmedium_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>15</text>
+ <image resource="medium_button" />
+ <action function="set">tw_time_zone_guioffset=15</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col3_medium_x%" y="%row_offsetmedium_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>30</text>
+ <image resource="medium_button" />
+ <action function="set">tw_time_zone_guioffset=30</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col4_medium_x%" y="%row_offsetmedium_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>45</text>
+ <image resource="medium_button" />
+ <action function="set">tw_time_zone_guioffset=45</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col4_x%" y="%row2_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Set Time Zone</text>
+ <image resource="main_button" />
+ <action function="setguitimezone"></action>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row17_text_y%" placement="5" />
+ <text>Current Time Zone: %tw_time_zone%</text>
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <action function="page">settings</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="advanced">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>Advanced</text>
+ </object>
+
+ <object type="button">
+ <placement x="%col1_x%" y="%row1_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Copy Log to SD</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_back=advanced</action>
+ <action function="set">tw_action=copylog</action>
+ <action function="set">tw_text1=Copy Log to SD Card?</action>
+ <action function="set">tw_action_text1=Copying Log to SD Card...</action>
+ <action function="set">tw_complete_text1=Log Copy Complete</action>
+ <action function="set">tw_slider_text=Swipe to Confirm</action>
+ <action function="page">confirm_action</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <placement x="%col2_x%" y="%row1_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Fix Permissions</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_back=advanced</action>
+ <action function="set">tw_action=fixpermissions</action>
+ <action function="set">tw_text1=Fix Permissions?</action>
+ <action function="set">tw_action_text1=Fixing Permissions...</action>
+ <action function="set">tw_complete_text1=Fix Permissions Complete</action>
+ <action function="set">tw_slider_text=Swipe to Confirm</action>
+ <action function="set">tw_show_reboot=1</action>
+ <action function="page">confirm_action</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <placement x="%col3_x%" y="%row1_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Terminal Command</text>
+ <image resource="main_button" />
+ <action function="page">terminalfolder</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col4_x%" y="%row1_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>ADB Sideload</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_back=advanced</action>
+ <action function="set">tw_action=adbsideload</action>
+ <action function="set">tw_action_text1=ADB Sideload</action>
+ <action function="set">tw_action_text2=Usage: adb sideload filename.zip</action>
+ <action function="set">tw_complete_text1=ADB Sideload Complete</action>
+ <action function="set">tw_has_cancel=1</action>
+ <action function="set">tw_cancel_action=adbsideloadcancel</action>
+ <action function="set">tw_show_reboot=1</action>
+ <action function="page">action_page</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <condition var1="tw_allow_partition_sdcard" var2="1" />
+ <placement x="%col1_x%" y="%row2_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Partition SD Card</text>
+ <image resource="main_button" />
+ <action function="page">partsdcard</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col2_x%" y="%row2_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>File Manager</text>
+ <image resource="main_button" />
+ <action function="page">filemanagerlist</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col3_x%" y="%row2_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Reload Theme</text>
+ <image resource="main_button" />
+ <action function="reload"></action>
+ </object>
+
+ <object type="button">
+ <condition var1="tw_show_dumlock" var2="1" />
+ <placement x="%col4_x%" y="%row2_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>HTC Dumlock</text>
+ <image resource="main_button" />
+ <action function="page">htcdumlock</action>
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="partsdcard">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>Partition SD Card</text>
+ </object>
+
+ <object type="button">
+ <placement x="%col1_sdext_x%" y="%row1_sdext_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text></text>
+ <image resource="minus_button" />
+ <action function="addsubtract">tw_sdext_size-128</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col2_sdext_x%" y="%row1_sdext_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text></text>
+ <image resource="plus_button" />
+ <action function="addsubtract">tw_sdext_size+128</action>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row_extsize_y%" placement="5" />
+ <text>EXT Size: %tw_sdext_size%</text>
+ </object>
+
+ <object type="button">
+ <placement x="%col1_sdext_x%" y="%row2_sdext_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text></text>
+ <image resource="minus_button" />
+ <action function="addsubtract">tw_swap_size-32</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col2_sdext_x%" y="%row2_sdext_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text></text>
+ <image resource="plus_button" />
+ <action function="addsubtract">tw_swap_size+32</action>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row_swapsize_y%" placement="5" />
+ <text>Swap Size: %tw_swap_size%</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row8_text_y%" placement="5" />
+ <text>File system: %tw_sdpart_file_system%</text>
+ </object>
+
+ <object type="button">
+ <placement x="%col2_medium_x%" y="%row4_medium_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>EXT3</text>
+ <image resource="medium_button" />
+ <action function="set">tw_sdpart_file_system=ext3</action>
+ </object>
+
+ <object type="button">
+ <condition var1="tw_sdext_disable_ext4" var2="0" />
+ <placement x="%col3_medium_x%" y="%row4_medium_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>EXT4</text>
+ <image resource="medium_button" />
+ <action function="set">tw_sdpart_file_system=ext4</action>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row12_text_y%" placement="5" />
+ <text>You will lose all files on your SD card!</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row13_text_y%" placement="5" />
+ <text>This action cannot be undone!</text>
+ </object>
+
+ <object type="slider">
+ <placement x="%slider_x%" y="%slider_y%" />
+ <resource base="slider" used="slider-used" touch="slider-touch" />
+ <actions>
+ <action function="set">tw_back=partsdcard</action>
+ <action function="set">tw_action=partitionsd</action>
+ <action function="set">tw_has_action2=1</action>
+ <action function="set">tw_action2=set</action>
+ <action function="set">tw_action2_param=tw_zip_location=/sdcard</action>
+ <action function="set">tw_action_text1=Partitioning SD Card...</action>
+ <action function="set">tw_action_text2=This will take a few minutes.</action>
+ <action function="set">tw_complete_text1=Partitioning Complete</action>
+ <action function="page">action_page</action>
+ </actions>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%slider_text_y%" placement="4" />
+ <text>Swipe to Confirm Partition</text>
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <action function="page">advanced</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+
+ <page name="htcdumlock">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>HTC Dumlock</text>
+ </object>
+
+ <object type="button">
+ <condition var1="tw_show_dumlock" var2="1" />
+ <placement x="%col1_x%" y="%row1_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Restore Original Boot</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_back=htcdumlock</action>
+ <action function="set">tw_action=htcdumlockrestoreboot</action>
+ <action function="set">tw_text1=Restore original boot image?</action>
+ <action function="set">tw_action_text1=Restoring Original Boot...</action>
+ <action function="set">tw_complete_text1=Restore Original Boot Complete</action>
+ <action function="set">tw_slider_text=Swipe to Confirm</action>
+ <action function="page">confirm_action</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <condition var1="tw_show_dumlock" var2="1" />
+ <placement x="%col2_x%" y="%row1_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Reflash Recovery->Boot</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_back=htcdumlock</action>
+ <action function="set">tw_action=htcdumlockreflashrecovery</action>
+ <action function="set">tw_text1=Reflash recovery to boot?</action>
+ <action function="set">tw_action_text1=Flashing recovery to boot...</action>
+ <action function="set">tw_complete_text1=Recovery Flash to Boot Complete</action>
+ <action function="set">tw_slider_text=Swipe to Confirm</action>
+ <action function="page">confirm_action</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <condition var1="tw_show_dumlock" var2="1" />
+ <placement x="%col1_x%" y="%row2_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Install HTC Dumlock</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_back=htcdumlock</action>
+ <action function="set">tw_action=installhtcdumlock</action>
+ <action function="set">tw_text1=Install HTC dumlock files to ROM?</action>
+ <action function="set">tw_action_text1=Installing HTC Dumlock...</action>
+ <action function="set">tw_complete_text1=HTC Dumlock Install Complete</action>
+ <action function="set">tw_slider_text=Swipe to Confirm</action>
+ <action function="page">confirm_action</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <action function="page">advanced</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="lock">
+ <background color="#000000A0" />
+
+ <object type="image">
+ <image resource="unlock-icon" />
+ <placement x="%lock_x%" y="%lock_y%" />
+ </object>
+
+ <object type="slider">
+ <placement x="%slider_x%" y="%slider_y%" />
+ <resource base="slider" used="slider-used" touch="slider-touch" />
+ <action function="overlay"></action>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%slider_text_y%" placement="4" />
+ <text>Swipe to Unlock</text>
+ </object>
+ </page>
+
+
+ <page name="filemanagerlist">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5"/>
+ <text>File Manager: Select a File or Folder</text>
+ </object>
+
+ <object type="fileselector">
+ <placement x="%fileselector_folder_x%" y="%fileselector_install_y%" w="%fileselector_folder_width%" h="%fileselector_install_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <text>Folders:</text>
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <sort name="tw_gui_sort_order" />
+ <icon folder="folder_icon" file="file_icon" />
+ <background color="%fileselector_background%" />
+ <font resource="font" spacing="%fileselector_spacing%" color="%text_color%" />
+ <filter folders="1" files="0" />
+ <path name="tw_file_location1" default="/sdcard" />
+ <data name="select" />
+ <selection name="tw_selection1" />
+ </object>
+
+ <object type="fileselector">
+ <placement x="%fileselector_file_x%" y="%fileselector_install_y%" w="%fileselector_file_width%" h="%fileselector_install_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <text>%tw_file_location1%</text>
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <sort name="tw_gui_sort_order" />
+ <icon folder="folder_icon" file="file_icon" />
+ <background color="%fileselector_background%" />
+ <font resource="font" spacing="%fileselector_spacing%" color="%text_color%" />
+ <filter folders="0" files="1" />
+ <path name="tw_file_location1" default="/" />
+ <data name="tw_filename1" />
+ <selection name="tw_selection1" />
+ </object>
+
+ <object type="template" name="sort_options" />
+
+ <object type="action">
+ <actions>
+ <action function="set">tw_fm_type=File</action>
+ <action function="set">tw_fm_isfolder=0</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <action function="page">advanced</action>
+ </object>
+
+ <object type="action">
+ <condition var1="tw_filename1" op="modified" />
+ <actions>
+ <action function="page">filemanageroptions</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <placement x="%filemanager_select_x%" y="%filemanager_select_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Select Folder</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_filename1=tw_file_location1</action>
+ <action function="set">tw_fm_isfolder=1</action>
+ <action function="set">tw_fm_type=Folder</action>
+ <action function="page">filemanageroptions</action>
+ </actions>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="filemanageroptions">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5"/>
+ <text>%tw_fm_type% Selected:</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5"/>
+ <text>%tw_filename1%</text>
+ </object>
+
+ <object type="button">
+ <condition var1="tw_fm_isfolder" var2="0" />
+ <placement x="%col1_x%" y="%row2_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Copy File</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_filemanager_command=cp</action>
+ <action function="set">tw_fm_text1=Copying</action>
+ <action function="page">choosedestinationfolder</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <condition var1="tw_fm_isfolder" var2="1" />
+ <placement x="%col1_x%" y="%row2_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Copy Folder</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_filemanager_command=cd "%tw_file_location1%" && cd .. && cp -R</action>
+ <action function="set">tw_fm_text1=Copying</action>
+ <action function="page">choosedestinationfolder</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <placement x="%col2_x%" y="%row2_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Move</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_filemanager_command=mv</action>
+ <action function="set">tw_fm_text1=Moving</action>
+ <action function="page">choosedestinationfolder</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <placement x="%col3_x%" y="%row2_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>chmod 755</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_filemanager_command=chmod 755</action>
+ <action function="set">tw_fm_text1=chmod 755</action>
+ <action function="set">tw_fm_text2=</action>
+ <action function="set">tw_fm_text3=</action>
+ <action function="set">tw_include_text3=0</action>
+ <action function="set">tw_back=filemanageroptions</action>
+ <action function="page">filemanagerconfirm</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <placement x="%col4_x%" y="%row2_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>chmod</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_filemanager_rename=0000</action>
+ <action function="set">tw_fm_text2=</action>
+ <action function="set">tw_fm_text3=</action>
+ <action function="set">tw_include_text3=0</action>
+ <action function="set">tw_back=filemanageroptions</action>
+ <action function="page">filemanagerchmod</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <placement x="%col1_x%" y="%row1_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Delete</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_filemanager_command=rm -rf</action>
+ <action function="set">tw_fm_text1=Deleting</action>
+ <action function="set">tw_fm_text2=</action>
+ <action function="set">tw_fm_text3=</action>
+ <action function="set">tw_include_text3=0</action>
+ <action function="set">tw_back=filemanageroptions</action>
+ <action function="page">filemanagerconfirm</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <condition var1="tw_fm_isfolder" var2="0" />
+ <placement x="%col4_x%" y="%row1_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Rename File</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_filemanager_rename=tw_selection1</action>
+ <action function="set">tw_fm_text1=Renaming</action>
+ <action function="set">tw_filemanager_command=mv</action>
+ <action function="page">filemanagerrenamefile</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <condition var1="tw_fm_isfolder" var2="1" />
+ <placement x="%col4_x%" y="%row1_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Rename Folder</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_filemanager_rename=tw_selection1</action>
+ <action function="set">tw_fm_text1=Renaming</action>
+ <action function="set">tw_filemanager_command=cd "%tw_file_location1%" && cd .. && mv</action>
+ <action function="page">filemanagerrenamefolder</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <action function="page">filemanagerlist</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="choosedestinationfolder">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5"/>
+ <text>Browse to Destination Folder & Press Select</text>
+ </object>
+
+ <object type="fileselector">
+ <placement x="%col2_x%" y="%fileselector_install_y%" w="%fileselector_folderonly_width%" h="%fileselector_install_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <text>%tw_file_location2%</text>
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <sort name="tw_gui_sort_order" />
+ <font resource="font" spacing="%fileselector_spacing%" color="%text_color%" />
+ <icon folder="folder_icon" file="file_icon" />
+ <background color="%fileselector_background%" />
+ <filter folders="1" files="0" />
+ <path name="tw_file_location2" default="/sdcard" />
+ <data name="tw_filename2" />
+ </object>
+
+ <object type="template" name="sort_options" />
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <action function="page">filemanageroptions</action>
+ </object>
+
+ <object type="button">
+ <placement x="%filemanager_select_x%" y="%filemanager_select_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Select Folder</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_fm_text2=to</action>
+ <action function="set">tw_fm_text3=%tw_file_location2%</action>
+ <action function="set">tw_include_text3=1</action>
+ <action function="set">tw_back=filemanageroptions</action>
+ <action function="page">filemanagerconfirm</action>
+ </actions>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="filemanagerrenamefile">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <font resource="font" />
+ <text>Please Enter a New %tw_fm_type% Name</text>
+ </object>
+
+ <object type="input">
+ <placement x="%input_x%" y="%row3_text_y%" w="%input_width%" h="%input_height%" placement="0" />
+ <background color="%input_background_color%" />
+ <cursor color="%input_cursor_color%" hasfocus="1" width="%input_cursor_width%" />
+ <font resource="font" color="%text_color%" />
+ <text>%tw_filemanager_rename%</text>
+ <data name="tw_filemanager_rename" />
+ <restrict minlen="1" maxlen="128" />
+ <actions>
+ <action function="set">tw_fm_text2=to</action>
+ <action function="set">tw_fm_text3="%tw_file_location1%/%tw_filemanager_rename%"</action>
+ <action function="set">tw_include_text3=1</action>
+ <action function="set">tw_back=filemanageroptions</action>
+ <action function="page">filemanagerconfirm</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <placement x="%col_center_x%" y="%cancel_button_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Cancel</text>
+ <image resource="main_button" />
+ <action function="page">filemanageroptions</action>
+ </object>
+
+ <object type="template" name="keyboardtemplate" />
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <action function="page">filemanageroptions</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="filemanagerrenamefolder">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <font resource="font" />
+ <text>Please Enter a New %tw_fm_type% Name</text>
+ </object>
+
+ <object type="input">
+ <placement x="%input_x%" y="%row3_text_y%" w="%input_width%" h="%input_height%" placement="0" />
+ <background color="%input_background_color%" />
+ <cursor color="%input_cursor_color%" hasfocus="1" width="%input_cursor_width%" />
+ <font resource="font" color="%text_color%" />
+ <text>%tw_filemanager_rename%</text>
+ <data name="tw_filemanager_rename" />
+ <restrict minlen="1" maxlen="128" />
+ <actions>
+ <action function="set">tw_fm_text2=to</action>
+ <action function="set">tw_fm_text3=%tw_filemanager_rename%</action>
+ <action function="set">tw_include_text3=1</action>
+ <action function="set">tw_back=filemanageroptions</action>
+ <action function="page">filemanagerconfirm</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <placement x="%col_center_x%" y="%cancel_button_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Cancel</text>
+ <image resource="main_button" />
+ <action function="page">filemanageroptions</action>
+ </object>
+
+ <object type="template" name="keyboardtemplate" />
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <action function="page">filemanageroptions</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="filemanagerchmod">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <font resource="font" />
+ <text>Please Enter New Permissions</text>
+ </object>
+
+ <object type="input">
+ <placement x="%input_x%" y="%row3_text_y%" w="%input_width%" h="%input_height%" placement="0" />
+ <background color="%input_background_color%" />
+ <cursor color="%input_cursor_color%" hasfocus="1" width="%input_cursor_width%" />
+ <font resource="font" color="%text_color%" />
+ <text>%tw_filemanager_rename%</text>
+ <data name="tw_filemanager_rename" />
+ <restrict minlen="3" maxlen="4" allow="0123456789" />
+ <actions>
+ <action function="set">tw_filemanager_command=chmod %tw_filemanager_rename%</action>
+ <action function="set">tw_fm_text1=chmod %tw_filemanager_rename%</action>
+ <action function="set">tw_back=filemanageroptions</action>
+ <action function="page">filemanagerconfirm</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <placement x="%col_center_x%" y="%cancel_button_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Cancel</text>
+ <image resource="main_button" />
+ <action function="page">filemanageroptions</action>
+ </object>
+
+ <object type="template" name="keyboardtemplate" />
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <action function="page">filemanageroptions</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="filemanagerconfirm">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5"/>
+ <text>%tw_fm_text1%</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5"/>
+ <text>%tw_filename1%</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5"/>
+ <text>%tw_fm_text2%</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row4_text_y%" placement="5"/>
+ <text>%tw_fm_text3%</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row10_text_y%" placement="5"/>
+ <text>Press back button to cancel.</text>
+ </object>
+
+ <object type="slider">
+ <placement x="%slider_x%" y="%slider_y%" />
+ <resource base="slider" used="slider-used" touch="slider-touch" />
+ <action function="page">filemanageracction</action>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%slider_text_y%" placement="4" />
+ <text>Swipe to Confirm</text>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <action function="page">%tw_back%</action>
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="filemanageracction">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>%tw_fm_text1%</text>
+ </object>
+
+ <object type="template" name="action_page_console" />
+
+ <object type="template" name="progress_bar" />
+
+ <object type="action">
+ <conditions>
+ <condition var1="tw_operation_state" var2="1" />
+ <condition var1="tw_operation_status" var2="0" />
+ </conditions>
+ <actions>
+ <action function="set">tw_back=filemanagerlist</action>
+ <action function="set">tw_complete_text1=File Operation Complete</action>
+ <action function="page">action_complete</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <conditions>
+ <condition var1="tw_operation_state" var2="1" />
+ <condition var1="tw_operation_status" op="!=" var2="0" />
+ </conditions>
+ <actions>
+ <action function="set">tw_complete_text1=File Operation Complete</action>
+ <action function="page">action_complete</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <condition var1="tw_include_text3" var2="0" />
+ <actions>
+ <action function="cmd">%tw_filemanager_command% "%tw_filename1%"</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <condition var1="tw_include_text3" var2="1" />
+ <actions>
+ <action function="cmd">%tw_filemanager_command% "%tw_filename1%" "%tw_fm_text3%"</action>
+ </actions>
+ </object>
+ </page>
+
+ <page name="decrypt">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>Please Enter Your Password</text>
+ </object>
+
+ <object type="input">
+ <placement x="%input_x%" y="%row3_text_y%" w="%input_width%" h="%input_height%" placement="0" />
+ <background color="%input_background_color%" />
+ <cursor color="%input_cursor_color%" hasfocus="1" width="%input_cursor_width%" />
+ <font resource="font" color="%text_color%" />
+ <text>%tw_crypto_display%</text>
+ <data name="tw_crypto_password" mask="*" maskvariable="tw_crypto_display" />
+ <restrict minlen="1" maxlen="254" />
+ <actions>
+ <action function="page">trydecrypt</action>
+ </actions>
+ </object>
+
+ <object type="text" color="%text_fail_color%">
+ <condition var1="tw_password_fail" var2="1" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row4_text_y%" placement="5" />
+ <text>Password Failed, Please Try Again</text>
+ </object>
+
+ <object type="button">
+ <placement x="%col_center_x%" y="%cancel_button_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Cancel</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="page">main</action>
+ </actions>
+ </object>
+
+ <object type="template" name="keyboardtemplate" />
+
+ <object type="action">
+ <touch key="home" />
+ <actions>
+ <action function="page">main</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <actions>
+ <action function="page">main</action>
+ </actions>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="trydecrypt">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>Trying Decryption with Your Password</text>
+ </object>
+
+ <object type="template" name="action_page_console" />
+
+ <object type="template" name="progress_bar" />
+
+ <object type="action">
+ <action function="decrypt"></action>
+ </object>
+
+ <object type="action">
+ <conditions>
+ <condition var1="tw_operation_state" var2="1" />
+ <condition var1="tw_operation_status" op="!=" var2="0" />
+ </conditions>
+ <actions>
+ <action function="set">tw_password_fail=1</action>
+ <action function="page">decrypt</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <conditions>
+ <condition var1="tw_operation_state" var2="1" />
+ <condition var1="tw_operation_status" op="=" var2="0" />
+ </conditions>
+ <action function="page">main</action>
+ </object>
+ </page>
+
+ <page name="terminalfolder">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5"/>
+ <text>Browse to Starting Folder</text>
+ </object>
+
+ <object type="fileselector">
+ <placement x="%col2_x%" y="%fileselector_install_y%" w="%fileselector_folderonly_width%" h="%fileselector_install_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <text>%tw_terminal_location%</text>
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <sort name="tw_gui_sort_order" />
+ <icon folder="folder_icon" file="file_icon" />
+ <background color="%fileselector_background%" />
+ <font resource="filelist" spacing="%fileselector_spacing%" color="%text_color%" />
+ <filter folders="1" files="0" />
+ <path name="tw_terminal_location" default="/" />
+ <data name="tw_terminal" />
+ <selection name="tw_terminal_selection" />
+ </object>
+
+ <object type="template" name="sort_options" />
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <action function="page">advanced</action>
+ </object>
+
+ <object type="button">
+ <placement x="%filemanager_select_x%" y="%filemanager_select_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Select Folder</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="page">terminalcommand</action>
+ </actions>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="terminalcommand">
+ <background color="#000000FF" />
+
+ <object type="console">
+ <placement x="%console_x%" y="%terminal_console_y%" w="%console_width%" h="%terminal_console_height%" />
+ <color foreground="%console_foreground%" background="%console_background%" scroll="%console_scroll%" />
+ <font resource="fixed" />
+ </object>
+
+ <object type="text" color="%text_color%">
+ <placement x="%input_x%" y="%terminal_text_y%" placement="0" />
+ <font resource="font" />
+ <text>Starting Path: %tw_terminal_location%</text>
+ </object>
+
+ <object type="input">
+ <condition var1="tw_terminal_state" var2="0" />
+ <placement x="%input_x%" y="%terminal_text_y%" w="%terminal_input_width%" h="%input_height%" placement="0" />
+ <background color="%input_background_color%" />
+ <cursor color="%input_cursor_color%" hasfocus="1" width="%input_cursor_width%" />
+ <font resource="font" color="%text_color%" />
+ <text>%tw_terminal_command%</text>
+ <data name="tw_terminal_command" />
+ <restrict minlen="1" />
+ <action function="terminalcommand">%tw_terminal_command%</action>
+ </object>
+
+ <object type="button">
+ <condition var1="tw_terminal_state" var2="1" />
+ <placement x="%filemanager_select_x%" y="%terminal_button_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>KILL</text>
+ <image resource="medium_button" />
+ <action function="killterminal"></action>
+ </object>
+
+ <object type="button">
+ <placement x="%home_button_x%" y="%terminal_button_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text></text>
+ <image resource="home_icon" />
+ <condition var1="tw_busy" var2="0" />
+ <action function="key">home</action>
+ </object>
+
+ <object type="button">
+ <placement x="%back_button_x%" y="%terminal_button_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text></text>
+ <image resource="back_icon" />
+ <condition var1="tw_busy" var2="0" />
+ <action function="key">back</action>
+ </object>
+
+ <object type="action">
+ <touch key="power" />
+ <action function="overlay">lock</action>
+ </object>
+
+ <object type="template" name="keyboardtemplate" />
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <action function="page">terminalfolder</action>
+ </object>
+ </page>
+ </pages>
+</recovery>
diff --git a/gui/devices/320x480/res/ui.xml b/gui/devices/320x480/res/ui.xml
index 04807cd..1d31719 100644
--- a/gui/devices/320x480/res/ui.xml
+++ b/gui/devices/320x480/res/ui.xml
@@ -1680,7 +1680,7 @@
<actions>
<action function="set">tw_back=restore</action>
<action function="set">tw_action=cmd</action>
- <action function="set">tw_action_param=cd %tw_backups_folder% && rm -rf %tw_restore_name%</action>
+ <action function="set">tw_action_param=cd %tw_backups_folder% && rm -rf "%tw_restore_name%"</action>
<action function="set">tw_text1=Delete Backup? %tw_restore_name%</action>
<action function="set">tw_text2=This cannot be undone!</action>
<action function="set">tw_action_text1=Deleting Backup...</action>
diff --git a/gui/devices/480x800/res/ui.xml b/gui/devices/480x800/res/ui.xml
index 5ac4113..a8eee60 100644
--- a/gui/devices/480x800/res/ui.xml
+++ b/gui/devices/480x800/res/ui.xml
@@ -1679,7 +1679,7 @@
<actions>
<action function="set">tw_back=restore</action>
<action function="set">tw_action=cmd</action>
- <action function="set">tw_action_param=cd %tw_backups_folder% && rm -rf %tw_restore_name%</action>
+ <action function="set">tw_action_param=cd %tw_backups_folder% && rm -rf "%tw_restore_name%"</action>
<action function="set">tw_text1=Delete Backup? %tw_restore_name%</action>
<action function="set">tw_text2=This cannot be undone!</action>
<action function="set">tw_action_text1=Deleting Backup...</action>
diff --git a/gui/devices/480x854/res/ui.xml b/gui/devices/480x854/res/ui.xml
index 7593601..13629b4 100644
--- a/gui/devices/480x854/res/ui.xml
+++ b/gui/devices/480x854/res/ui.xml
@@ -1678,7 +1678,7 @@
<actions>
<action function="set">tw_back=restore</action>
<action function="set">tw_action=cmd</action>
- <action function="set">tw_action_param=cd %tw_backups_folder% && rm -rf %tw_restore_name%</action>
+ <action function="set">tw_action_param=cd %tw_backups_folder% && rm -rf "%tw_restore_name%"</action>
<action function="set">tw_text1=Delete Backup? %tw_restore_name%</action>
<action function="set">tw_text2=This cannot be undone!</action>
<action function="set">tw_action_text1=Deleting Backup...</action>
diff --git a/gui/devices/540x960/res/ui.xml b/gui/devices/540x960/res/ui.xml
index 587ccc7..d586912 100644
--- a/gui/devices/540x960/res/ui.xml
+++ b/gui/devices/540x960/res/ui.xml
@@ -1679,7 +1679,7 @@
<actions>
<action function="set">tw_back=restore</action>
<action function="set">tw_action=cmd</action>
- <action function="set">tw_action_param=cd %tw_backups_folder% && rm -rf %tw_restore_name%</action>
+ <action function="set">tw_action_param=cd %tw_backups_folder% && rm -rf "%tw_restore_name%"</action>
<action function="set">tw_text1=Delete Backup? %tw_restore_name%</action>
<action function="set">tw_text2=This cannot be undone!</action>
<action function="set">tw_action_text1=Deleting Backup...</action>
diff --git a/gui/devices/720x1280/res/ui.xml b/gui/devices/720x1280/res/ui.xml
index 1c16783..e3dd6ac 100644
--- a/gui/devices/720x1280/res/ui.xml
+++ b/gui/devices/720x1280/res/ui.xml
@@ -1684,7 +1684,7 @@
<actions>
<action function="set">tw_back=restore</action>
<action function="set">tw_action=cmd</action>
- <action function="set">tw_action_param=cd %tw_backups_folder% && rm -rf %tw_restore_name%</action>
+ <action function="set">tw_action_param=cd %tw_backups_folder% && rm -rf "%tw_restore_name%"</action>
<action function="set">tw_text1=Delete Backup? %tw_restore_name%</action>
<action function="set">tw_text2=This cannot be undone!</action>
<action function="set">tw_action_text1=Deleting Backup...</action>
diff --git a/gui/devices/800x1280/res/ui.xml b/gui/devices/800x1280/res/ui.xml
index 0a9290e..37f4c1e 100755
--- a/gui/devices/800x1280/res/ui.xml
+++ b/gui/devices/800x1280/res/ui.xml
@@ -1680,7 +1680,7 @@
<actions>
<action function="set">tw_back=restore</action>
<action function="set">tw_action=cmd</action>
- <action function="set">tw_action_param=cd %tw_backups_folder% && rm -rf %tw_restore_name%</action>
+ <action function="set">tw_action_param=cd %tw_backups_folder% && rm -rf "%tw_restore_name%"</action>
<action function="set">tw_text1=Delete Backup? %tw_restore_name%</action>
<action function="set">tw_text2=This cannot be undone!</action>
<action function="set">tw_action_text1=Deleting Backup...</action>
diff --git a/gui/devices/800x480/res/ui.xml b/gui/devices/800x480/res/ui.xml
index 53530d5..302388a 100755
--- a/gui/devices/800x480/res/ui.xml
+++ b/gui/devices/800x480/res/ui.xml
@@ -2198,7 +2198,7 @@
<actions>
<action function="set">tw_back=restore</action>
<action function="set">tw_action=cmd</action>
- <action function="set">tw_action_param=cd %tw_backups_folder% && rm -rf %tw_restore_name%</action>
+ <action function="set">tw_action_param=cd %tw_backups_folder% && rm -rf "%tw_restore_name%"</action>
<action function="set">tw_text1=Delete Backup? %tw_restore_name%</action>
<action function="set">tw_text2=This cannot be undone!</action>
<action function="set">tw_action_text1=Deleting Backup...</action>
diff --git a/partition.cpp b/partition.cpp
index c9b10da..8aa7f0a 100644
--- a/partition.cpp
+++ b/partition.cpp
@@ -183,15 +183,20 @@
Has_Data_Media = true;
Is_Storage = true;
Storage_Path = "/data/media";
+ Symlink_Path = Storage_Path;
if (strcmp(EXPAND(TW_EXTERNAL_STORAGE_PATH), "/sdcard") == 0) {
Make_Dir("/emmc", Display_Error);
- Symlink_Path = "/data/media";
Symlink_Mount_Point = "/emmc";
} else {
Make_Dir("/sdcard", Display_Error);
- Symlink_Path = "/data/media";
Symlink_Mount_Point = "/sdcard";
}
+ if (Mount(false) && TWFunc::Path_Exists("/data/media/0")) {
+ Storage_Path = "/data/media/0";
+ Symlink_Path = Storage_Path;
+ DataManager::SetValue(TW_INTERNAL_PATH, "/data/media/0");
+ UnMount(true);
+ }
#endif
#ifdef TW_INCLUDE_CRYPTO
Can_Be_Encrypted = true;
@@ -1054,24 +1059,27 @@
return false;
ui_print("Wiping data without wiping /data/media ...\n");
- system("rm -f /data/*");
- system("rm -f /data/.*");
DIR* d;
d = opendir("/data");
- if (d != NULL)
- {
+ if (d != NULL) {
struct dirent* de;
while ((de = readdir(d)) != NULL) {
- if (strcmp(de->d_name, "media") == 0) continue;
+ if (strcmp(de->d_name, ".") == 0 || strcmp(de->d_name, "..") == 0) continue;
+ // The media folder is the "internal sdcard"
+ // The .layout_version file is responsible for determining whether 4.2 decides up upgrade
+ // the media folder for multi-user.
+ if (strcmp(de->d_name, "media") == 0 || strcmp(de->d_name, ".layout_version") == 0) continue;
sprintf(cmd, "rm -fr /data/%s", de->d_name);
system(cmd);
}
closedir(d);
+ ui_print("Done.\n");
+ return true;
}
- ui_print("Done.\n");
- return true;
+ ui_print("Dirent failed to open /data, error!\n");
+ return false;
}
bool TWPartition::Backup_Tar(string backup_folder) {
diff --git a/partitionmanager.cpp b/partitionmanager.cpp
index a8e7ec1..57e1108 100644
--- a/partitionmanager.cpp
+++ b/partitionmanager.cpp
@@ -1582,6 +1582,15 @@
ui_print("Data successfully decrypted, new block device: '%s'\n", crypto_blkdev);
// Sleep for a bit so that the device will be ready
sleep(1);
+#ifdef RECOVERY_SDCARD_ON_DATA
+ if (dat->Mount(false) && TWFunc::Path_Exists("/data/media/0")) {
+ dat->Storage_Path = "/data/media/0";
+ dat->Symlink_Path = dat->Storage_Path;
+ DataManager::SetValue(TW_INTERNAL_PATH, "/data/media/0");
+ dat->UnMount(false);
+ DataManager::SetBackupFolder();
+ }
+#endif
Update_System_Details();
UnMount_Main_Partitions();
} else
diff --git a/variables.h b/variables.h
index 5bcd7ec..c3c99bd 100644
--- a/variables.h
+++ b/variables.h
@@ -17,7 +17,7 @@
#ifndef _VARIABLES_HEADER_
#define _VARIABLES_HEADER_
-#define TW_VERSION_STR "2.3.1.3"
+#define TW_VERSION_STR "2.3.2.0"
#define TW_USE_COMPRESSION_VAR "tw_use_compression"
#define TW_IGNORE_IMAGE_SIZE "tw_ignore_image_size"