Add partition list GUI element
Add partition list GUI element and update backup, restore, mount,
storage selection, and wipe sections of GUI and partition manager
code to reflect the new GUI element. Update ORS engine to handle
new backup and restore setup.
Fix a bug with decrypt.
Add 1080x1920 layout.
Change-Id: Iaa2f44cb707167e66f935452f076ba00e68a2aa4
diff --git a/crypto/ics/cryptfs.c b/crypto/ics/cryptfs.c
index 945864d..d994449 100644
--- a/crypto/ics/cryptfs.c
+++ b/crypto/ics/cryptfs.c
@@ -211,7 +211,7 @@
/* the footer size is bigger than we expected.
* Skip to it's stated end so we can read the key.
*/
- if (lseek(fd, crypt_ftr->ftr_size - sizeof(struct crypt_mnt_ftr), SEEK_CUR) == -1) {
+ if (lseek64(fd, crypt_ftr->ftr_size - sizeof(struct crypt_mnt_ftr), SEEK_CUR) == -1) {
printf("Cannot seek to start of key\n");
goto errout;
}
diff --git a/crypto/jb/cryptfs.c b/crypto/jb/cryptfs.c
index 456d49f..be6c476 100644
--- a/crypto/jb/cryptfs.c
+++ b/crypto/jb/cryptfs.c
@@ -317,7 +317,7 @@
/* the footer size is bigger than we expected.
* Skip to it's stated end so we can read the key.
*/
- if (lseek(fd, crypt_ftr->ftr_size - sizeof(struct crypt_mnt_ftr), SEEK_CUR) == -1) {
+ if (lseek64(fd, crypt_ftr->ftr_size - sizeof(struct crypt_mnt_ftr), SEEK_CUR) == -1) {
SLOGE("Cannot seek to start of key\n");
goto errout;
}
diff --git a/data.cpp b/data.cpp
index 02bdba3..c33fa89 100644
--- a/data.cpp
+++ b/data.cpp
@@ -226,7 +226,12 @@
// Read in the file, if possible
FILE* in = fopen(filename.c_str(), "rb");
- if (!in) return 0;
+ if (!in) {
+ LOGI("Settings file '%s' not found.\n", filename.c_str());
+ return 0;
+ } else {
+ LOGI("Loading settings from '%s'.\n", filename.c_str());
+ }
int file_version;
if (fread(&file_version, 1, sizeof(int), in) != sizeof(int)) goto error;
@@ -259,24 +264,19 @@
}
else
mValues.insert(TNameValuePair(Name, TStrIntPair(Value, 1)));
+ if (Name == "tw_screen_timeout_secs")
+ blankTimer.setTime(atoi(Value.c_str()));
}
- fclose(in);
-
- str = GetCurrentStoragePath();
- str += "/TWRP/BACKUPS/";
- str += dev_id;
- SetValue(TW_BACKUPS_FOLDER_VAR, str, 0);
-
- return 0;
-
error:
- // File version mismatch. Use defaults.
fclose(in);
- str = GetCurrentStoragePath();
- str += "/TWRP/BACKUPS/";
- str += dev_id;
- SetValue(TW_BACKUPS_FOLDER_VAR, str, 0);
- return -1;
+ string current = GetCurrentStoragePath();
+ string settings = GetSettingsStoragePath();
+ if (current != settings && !PartitionManager.Mount_By_Path(current, false)) {
+ SetValue("tw_storage_path", settings);
+ } else {
+ SetBackupFolder();
+ }
+ return 0;
}
int DataManager::Flush()
@@ -433,10 +433,10 @@
SaveValues();
if (varName == "tw_screen_timeout_secs") {
blankTimer.setTime(atoi(value.c_str()));
+ } else if (varName == "tw_storage_path") {
+ SetBackupFolder();
}
- else {
- gui_notifyVarChange(varName.c_str(), value.c_str());
- }
+ gui_notifyVarChange(varName.c_str(), value.c_str());
return 0;
}
@@ -458,13 +458,8 @@
else
str = GetStrValue(TW_EXTERNAL_PATH);
- string dev_id;
-
- GetValue("device_id", dev_id);
- str += "/TWRP/BACKUPS/";
- str += dev_id;
-
- SetValue(TW_BACKUPS_FOLDER_VAR, str);
+ SetValue("tw_storage_path", str);
+ SetBackupFolder();
}
return SetValue(varName, valStr.str(), persist);;
}
@@ -501,13 +496,38 @@
void DataManager::SetBackupFolder()
{
string str = GetCurrentStoragePath();
+ TWPartition* partition = PartitionManager.Find_Partition_By_Path(str);
str += "/TWRP/BACKUPS/";
string dev_id;
GetValue("device_id", dev_id);
str += dev_id;
+ LOGI("Backup folder set to '%s'\n", str.c_str());
SetValue(TW_BACKUPS_FOLDER_VAR, str, 0);
+ if (partition != NULL) {
+ SetValue("tw_storage_display_name", partition->Storage_Name);
+ char free_space[255];
+ sprintf(free_space, "%llu", partition->Free / 1024 / 1024);
+ SetValue("tw_storage_free_size", free_space);
+ string zip_path, zip_root, storage_path;
+ GetValue(TW_ZIP_LOCATION_VAR, zip_path);
+ if (partition->Has_Data_Media)
+ storage_path = partition->Symlink_Mount_Point;
+ else
+ storage_path = partition->Storage_Path;
+ if (zip_path.size() < storage_path.size()) {
+ SetValue(TW_ZIP_LOCATION_VAR, storage_path);
+ } else {
+ zip_root= zip_path;
+ zip_root.resize(storage_path.size() + 1);
+ if (zip_root != storage_path)
+ SetValue(TW_ZIP_LOCATION_VAR, storage_path);
+ }
+ } else {
+ if (PartitionManager.Fstab_Processed() != 0)
+ LOGE("Storage partition '%s' not found\n", str.c_str());
+ }
}
void DataManager::SetDefaultValues()
@@ -522,6 +542,7 @@
mConstValues.insert(make_pair("false", "0"));
mConstValues.insert(make_pair(TW_VERSION_VAR, TW_VERSION_STR));
+ mValues.insert(make_pair("tw_storage_path", make_pair("/", 1)));
#ifdef TW_FORCE_CPUINFO_FOR_DEVICE_ID
printf("TW_FORCE_CPUINFO_FOR_DEVICE_ID := true\n");
@@ -788,7 +809,12 @@
mConstValues.insert(make_pair(TW_SDEXT_DISABLE_EXT4, "0"));
#endif
- mConstValues.insert(make_pair(TW_MIN_SYSTEM_VAR, TW_MIN_SYSTEM_SIZE));
+#ifdef TW_HAS_NO_BOOT_PARTITION
+ mValues.insert(make_pair("tw_backup_list", make_pair("/system;/data;", 0)));
+#else
+ mValues.insert(make_pair("tw_backup_list", make_pair("/system;/data;/boot;", 0)));
+#endif
+ mConstValues.insert(make_pair(TW_MIN_SYSTEM_VAR, TW_MIN_SYSTEM_SIZE));
mValues.insert(make_pair(TW_BACKUP_NAME, make_pair("(Current Date)", 0)));
mValues.insert(make_pair(TW_BACKUP_SYSTEM_VAR, make_pair("1", 1)));
mValues.insert(make_pair(TW_BACKUP_DATA_VAR, make_pair("1", 1)));
@@ -882,7 +908,7 @@
mConstValues.insert(make_pair("tw_has_brightnesss_file", "0"));
}
#endif
- mValues.insert(make_pair(TW_MILITARY_TIME, make_pair("0", 0)));
+ mValues.insert(make_pair(TW_MILITARY_TIME, make_pair("0", 1)));
}
// Magic Values
@@ -1018,7 +1044,7 @@
{
usleep(500000);
if (!PartitionManager.Mount_Settings_Storage(false))
- LOGE("Unable to mount %s when trying to read settings file.\n", DataManager_GetSettingsStorageMount());
+ LOGE("Unable to mount %s when trying to read settings file.\n", settings_file);
}
mkdir(mkdir_path, 0777);
@@ -1063,86 +1089,22 @@
string DataManager::GetCurrentStoragePath(void)
{
- if (GetIntValue(TW_HAS_DUAL_STORAGE) == 1) {
- if (GetIntValue(TW_USE_EXTERNAL_STORAGE) == 0)
- return GetStrValue(TW_INTERNAL_PATH);
- else
- return GetStrValue(TW_EXTERNAL_PATH);
- } else if (GetIntValue(TW_HAS_INTERNAL) == 1)
- return GetStrValue(TW_INTERNAL_PATH);
- else
- return GetStrValue(TW_EXTERNAL_PATH);
+ return GetStrValue("tw_storage_path");
}
string& DataManager::CGetCurrentStoragePath()
{
- if (GetIntValue(TW_HAS_DUAL_STORAGE) == 1) {
- if (GetIntValue(TW_USE_EXTERNAL_STORAGE) == 0)
- return GetValueRef(TW_INTERNAL_PATH);
- else
- return GetValueRef(TW_EXTERNAL_PATH);
- } else if (GetIntValue(TW_HAS_INTERNAL) == 1)
- return GetValueRef(TW_INTERNAL_PATH);
- else
- return GetValueRef(TW_EXTERNAL_PATH);
-}
-
-string DataManager::GetCurrentStorageMount(void)
-{
- if (GetIntValue(TW_HAS_DUAL_STORAGE) == 1) {
- if (GetIntValue(TW_USE_EXTERNAL_STORAGE) == 0)
- return GetStrValue(TW_INTERNAL_MOUNT);
- else
- return GetStrValue(TW_EXTERNAL_MOUNT);
- } else if (GetIntValue(TW_HAS_INTERNAL) == 1)
- return GetStrValue(TW_INTERNAL_MOUNT);
- else
- return GetStrValue(TW_EXTERNAL_MOUNT);
-}
-
-string& DataManager::CGetCurrentStorageMount()
-{
- if (GetIntValue(TW_HAS_DUAL_STORAGE) == 1) {
- if (GetIntValue(TW_USE_EXTERNAL_STORAGE) == 0)
- return GetValueRef(TW_INTERNAL_MOUNT);
- else
- return GetValueRef(TW_EXTERNAL_MOUNT);
- } else if (GetIntValue(TW_HAS_INTERNAL) == 1)
- return GetValueRef(TW_INTERNAL_MOUNT);
- else
- return GetValueRef(TW_EXTERNAL_MOUNT);
+ return GetValueRef("tw_storage_path");
}
string DataManager::GetSettingsStoragePath(void)
{
- if (GetIntValue(TW_HAS_INTERNAL) == 1)
- return GetStrValue(TW_INTERNAL_PATH);
- else
- return GetStrValue(TW_EXTERNAL_PATH);
+ return GetStrValue("tw_settings_path");
}
string& DataManager::CGetSettingsStoragePath()
{
- if (GetIntValue(TW_HAS_INTERNAL) == 1)
- return GetValueRef(TW_INTERNAL_PATH);
- else
- return GetValueRef(TW_EXTERNAL_PATH);
-}
-
-string DataManager::GetSettingsStorageMount(void)
-{
- if (GetIntValue(TW_HAS_INTERNAL) == 1)
- return GetStrValue(TW_INTERNAL_MOUNT);
- else
- return GetStrValue(TW_EXTERNAL_MOUNT);
-}
-
-string& DataManager::CGetSettingsStorageMount()
-{
- if (GetIntValue(TW_HAS_INTERNAL) == 1)
- return GetValueRef(TW_INTERNAL_MOUNT);
- else
- return GetValueRef(TW_EXTERNAL_MOUNT);
+ return GetValueRef("tw_settings_path");
}
extern "C" int DataManager_ResetDefaults()
@@ -1194,18 +1156,6 @@
return str.c_str();
}
-extern "C" const char* DataManager_GetCurrentStorageMount(void)
-{
- string& str = DataManager::CGetCurrentStorageMount();
- return str.c_str();
-}
-
-extern "C" const char* DataManager_GetSettingsStorageMount(void)
-{
- string& str = DataManager::CGetSettingsStorageMount();
- return str.c_str();
-}
-
extern "C" int DataManager_GetIntValue(const char* varName)
{
return DataManager::GetIntValue(varName);
diff --git a/data.h b/data.h
index 17e1a4d..3137f8f 100644
--- a/data.h
+++ b/data.h
@@ -23,9 +23,7 @@
int DataManager_Flush();
const char* DataManager_GetStrValue(const char* varName);
const char* DataManager_GetCurrentStoragePath();
-const char* DataManager_GetCurrentStorageMount();
const char* DataManager_GetSettingsStoragePath();
-const char* DataManager_GetSettingsStorageMount();
int DataManager_GetIntValue(const char* varName);
int DataManager_SetStrValue(const char* varName, char* value);
diff --git a/data.hpp b/data.hpp
index 55966a1..b540675 100644
--- a/data.hpp
+++ b/data.hpp
@@ -57,12 +57,8 @@
static string GetCurrentStoragePath(void);
static string& CGetCurrentStoragePath();
- static string GetCurrentStorageMount(void);
- static string& CGetCurrentStorageMount();
static string GetSettingsStoragePath(void);
static string& CGetSettingsStoragePath();
- static string GetSettingsStorageMount(void);
- static string& CGetSettingsStorageMount();
protected:
typedef pair<string, int> TStrIntPair;
diff --git a/gui/Android.mk b/gui/Android.mk
index de14604..b3e9b09 100644
--- a/gui/Android.mk
+++ b/gui/Android.mk
@@ -21,6 +21,7 @@
keyboard.cpp \
input.cpp \
blanktimer.cpp \
+ partitionlist.cpp \
../minuitwrp/graphics.c
ifneq ($(TWRP_CUSTOM_KEYBOARD),)
diff --git a/gui/action.cpp b/gui/action.cpp
index ca968d0..3456324 100644
--- a/gui/action.cpp
+++ b/gui/action.cpp
@@ -1,4 +1,20 @@
-// image.cpp - GUIImage object
+/*
+ Copyright 2013 bigbiff/Dees_Troy TeamWin
+ This file is part of TWRP/TeamWin Recovery Project.
+
+ TWRP is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ TWRP is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with TWRP. If not, see <http://www.gnu.org/licenses/>.
+*/
#include <stdarg.h>
#include <stdio.h>
@@ -745,6 +761,51 @@
ret_val = PartitionManager.Wipe_By_Path(External_Path);
} else if (arg == "ANDROIDSECURE") {
ret_val = PartitionManager.Wipe_Android_Secure();
+ } else if (arg == "LIST") {
+ string Wipe_List, wipe_path;
+ bool skip = false;
+ ret_val = true;
+ TWPartition* wipe_part = NULL;
+
+ DataManager::GetValue("tw_wipe_list", Wipe_List);
+ LOGI("wipe list '%s'\n", Wipe_List.c_str());
+ if (!Wipe_List.empty()) {
+ size_t start_pos = 0, end_pos = Wipe_List.find(";", start_pos);
+ while (end_pos != string::npos && start_pos < Wipe_List.size()) {
+ wipe_path = Wipe_List.substr(start_pos, end_pos - start_pos);
+ LOGI("wipe_path '%s'\n", wipe_path.c_str());
+ if (wipe_path == "/and-sec") {
+ if (!PartitionManager.Wipe_Android_Secure()) {
+ LOGE("Unable to wipe android secure\n");
+ ret_val = false;
+ break;
+ } else {
+ skip = true;
+ }
+ } else if (wipe_path == "DALVIK") {
+ if (!PartitionManager.Wipe_Dalvik_Cache()) {
+ LOGE("Failed to wipe dalvik\n");
+ ret_val = false;
+ break;
+ } else {
+ skip = true;
+ }
+ }
+ if (!skip) {
+ if (!PartitionManager.Wipe_By_Path(wipe_path)) {
+ LOGE("Unable to wipe '%s'\n", wipe_path.c_str());
+ ret_val = false;
+ break;
+ } else if (wipe_path == DataManager::GetSettingsStoragePath()) {
+ arg = wipe_path;
+ }
+ } else {
+ skip = false;
+ }
+ start_pos = end_pos + 1;
+ end_pos = Wipe_List.find(";", start_pos);
+ }
+ }
} else
ret_val = PartitionManager.Wipe_By_Path(arg);
diff --git a/gui/blanktimer.cpp b/gui/blanktimer.cpp
index 7085557..17cc0b3 100644
--- a/gui/blanktimer.cpp
+++ b/gui/blanktimer.cpp
@@ -109,7 +109,17 @@
string brightness_path = EXPAND(TW_BRIGHTNESS_PATH);
if ((TWFunc::read_file(brightness_path, results)) != 0)
return -1;
- return atoi(results.c_str());
+ int result = atoi(results.c_str());
+ if (result == 0) {
+ int tw_brightness;
+ DataManager::GetValue("tw_brightness", tw_brightness);
+ if (tw_brightness) {
+ result = tw_brightness;
+ } else {
+ result = 255;
+ }
+ }
+ return result;
}
diff --git a/gui/button.cpp b/gui/button.cpp
index a4c5ecb..5ba8182 100644
--- a/gui/button.cpp
+++ b/gui/button.cpp
@@ -1,4 +1,20 @@
-// button.cpp - GUIButton object
+/*
+ Copyright 2012 bigbiff/Dees_Troy TeamWin
+ This file is part of TWRP/TeamWin Recovery Project.
+
+ TWRP is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ TWRP is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with TWRP. If not, see <http://www.gnu.org/licenses/>.
+*/
#include <stdarg.h>
#include <stdio.h>
@@ -39,6 +55,7 @@
mRendered = false;
hasHighlightColor = false;
renderHighlight = false;
+ hasFill = false;
if (!node) return;
@@ -49,7 +66,6 @@
if (mButtonImg->Render() < 0)
{
- LOGE("Unable to locate button image\n");
delete mButtonImg;
mButtonImg = NULL;
}
@@ -58,6 +74,21 @@
delete mButtonLabel;
mButtonLabel = NULL;
}
+ // Load fill if it exists
+ memset(&mFillColor, 0, sizeof(COLOR));
+ child = node->first_node("fill");
+ if (child)
+ {
+ attr = child->first_attribute("color");
+ if (attr) {
+ hasFill = true;
+ std::string color = attr->value();
+ ConvertStrToColor(color, &mFillColor);
+ }
+ }
+ if (!hasFill && mButtonImg == NULL) {
+ LOGE("No image resource or fill specified for button.\n");
+ }
// The icon is a special case
child = node->first_node("icon");
@@ -80,8 +111,12 @@
}
int x, y, w, h;
- if (mButtonImg) mButtonImg->GetRenderPos(x, y, w, h);
- SetRenderPos(x, y, w, h);
+ if (mButtonImg) {
+ mButtonImg->GetRenderPos(x, y, w, h);
+ } else if (hasFill) {
+ LoadPlacement(node->first_node("placement"), &x, &y, &w, &h);
+ }
+ SetRenderPos(x, y, w, h);
return;
}
@@ -105,10 +140,32 @@
if (mButtonImg) ret = mButtonImg->Render();
if (ret < 0) return ret;
+ if (hasFill) {
+ gr_color(mFillColor.red, mFillColor.green, mFillColor.blue, mFillColor.alpha);
+ gr_fill(mRenderX, mRenderY, mRenderW, mRenderH);
+ }
if (mButtonIcon && mButtonIcon->GetResource())
gr_blit(mButtonIcon->GetResource(), 0, 0, mIconW, mIconH, mIconX, mIconY);
- if (mButtonLabel) ret = mButtonLabel->Render();
- if (ret < 0) return ret;
+ if (mButtonLabel) {
+ int w, h;
+ mButtonLabel->GetCurrentBounds(w, h);
+ if (w != mTextW) {
+ mTextW = w;
+ // As a special case, we'll allow large text which automatically moves it to the right.
+ if (mTextW > mRenderW)
+ {
+ mTextX = mRenderW + mRenderX + 5;
+ mRenderW += mTextW + 5;
+ }
+ else
+ {
+ mTextX = mRenderX + ((mRenderW - mTextW) / 2);
+ }
+ mButtonLabel->SetRenderPos(mTextX, mTextY);
+ }
+ ret = mButtonLabel->Render();
+ if (ret < 0) return ret;
+ }
if (renderHighlight && hasHighlightColor) {
gr_color(mHighlightColor.red, mHighlightColor.green, mHighlightColor.blue, mHighlightColor.alpha);
gr_fill(mRenderX, mRenderY, mRenderW, mRenderH);
@@ -129,9 +186,11 @@
if (ret == 0)
{
- if (mButtonLabel) ret2 = mButtonLabel->Update();
- if (ret2 < 0) return ret2;
- if (ret2 > ret) ret = ret2;
+ if (mButtonLabel) {
+ ret2 = mButtonLabel->Update();
+ if (ret2 < 0) return ret2;
+ if (ret2 > ret) ret = ret2;
+ }
}
else if (ret == 1)
{
diff --git a/gui/devices/1024x600/res/images/exclamation200.png b/gui/devices/1024x600/res/images/exclamation200.png
deleted file mode 100644
index 96258a1..0000000
--- a/gui/devices/1024x600/res/images/exclamation200.png
+++ /dev/null
Binary files differ
diff --git a/gui/devices/1024x600/res/ui.xml b/gui/devices/1024x600/res/ui.xml
index 16969d9..1615ee9 100755
--- a/gui/devices/1024x600/res/ui.xml
+++ b/gui/devices/1024x600/res/ui.xml
@@ -41,7 +41,6 @@
<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="exclamation200" />
</resources>
<variables>
@@ -153,6 +152,8 @@
<variable name="fileselector_highlight_color" value="#505050" />
<variable name="fileselector_highlight_font_color" value="#33B5E5" />
<variable name="fileselector_spacing" value="18" />
+ <variable name="fastscroll_linecolor" value="#808080" />
+ <variable name="fastscroll_rectcolor" value="#808080" />
<variable name="fastscroll_w" value="32" />
<variable name="fastscroll_linew" value="2" />
<variable name="fastscroll_rectw" value="24" />
@@ -178,8 +179,24 @@
<variable name="terminal_text_y" value="307" />
<variable name="terminal_button_y" value="298" />
<variable name="terminal_input_width" value="775" />
- <variable name="exclamation_x" value="412" />
- <variable name="exclamation_y" value="200" />
+ <variable name="button_fill_color" value="#303030" />
+ <variable name="button_fill_full_width" value="512" />
+ <variable name="button_fill_main_width" value="486" />
+ <variable name="button_fill_main_height" value="150" />
+ <variable name="button_fill_half_height" value="75" />
+ <variable name="button_fill_quarter_height" value="30" />
+ <variable name="button_full_center_x" value="256" />
+ <variable name="backup_list_x" value="23" />
+ <variable name="backup_list_y" value="105" />
+ <variable name="backup_list_width" value="486" />
+ <variable name="backup_list_height" value="360" />
+ <variable name="backup_storage_y" value="250" />
+ <variable name="restore_list_y" value="140" />
+ <variable name="restore_list_height" value="320" />
+ <variable name="mount_list_height" value="400" />
+ <variable name="mount_storage_row" value="500" />
+ <variable name="wipe_list_height" value="300" />
+ <variable name="wipe_button_y" value="190" />
</variables>
<templates>
@@ -505,51 +522,15 @@
</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>
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%button_full_center_x%" y="%zipstorage_text_y%" w="%button_fill_full_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=install</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="fileselector">
@@ -854,15 +835,6 @@
<page name="confirm_action">
<object type="template" name="header" />
- <object type="button">
- <highlight color="%highlight_color%" />
- <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" />
@@ -1261,6 +1233,38 @@
<object type="template" name="footer" />
</page>
+ <page name="selectstorage">
+ <object type="template" name="header" />
+
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <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%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Storage:</text>
+ <icon selected="radio_true" unselected="radio_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="font" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_storage_path" />
+ <listtype name="storage" />
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <actions>
+ <action function="page">%tw_back%</action>
+ </actions>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
<page name="mount">
<object type="template" name="header" />
@@ -1270,9 +1274,35 @@
<text>Mount Menu</text>
</object>
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%backup_list_x%" y="%backup_list_y%" w="%backup_list_width%" h="%mount_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Mount:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="font" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <listtype name="mount" />
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <conditions>
+ <condition var1="tw_is_encrypted" var2="1" />
+ <condition var1="tw_is_decrypted" var2="0" />
+ </conditions>
+ <placement x="%col3_x%" y="row1_y" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Decrypt Data</text>
+ <image resource="main_button" />
+ <action function="page">decrypt</action>
+ </object>
+
<object type="button">
<condition var1="tw_has_usb_storage" var2="1" />
- <placement x="%col1_x%" y="%row1_y%" />
+ <placement x="%col4_x%" y="%row1_y%" />
<font resource="font" color="%button_text_color%" />
<text>Mount USB Storage</text>
<image resource="main_button" />
@@ -1280,201 +1310,15 @@
</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">
<highlight color="%highlight_color%" />
- <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>
+ <fill color="%button_fill_color%" />
+ <placement x="%col3_x%" y="%backup_storage_y%" w="%button_fill_main_width%" h="%button_fill_half_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=mount</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="action">
@@ -1539,191 +1383,83 @@
<object type="text" color="%text_color%">
<font resource="font" />
<placement x="%center_x%" y="%row1_text_y%" placement="5" />
- <text>Wipe Menu</text>
+ <text>Factory Reset: Wipes Data, Cache, and Dalvik</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_data_media" var2="0" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>.android_secure</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_data_media" var2="1" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>(not including internal storage)</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_sdext_partition" var2="1" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>SD-EXT</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row4_text_y%" placement="5" />
+ <text>Most of the time this is the only wipe that you need.</text>
</object>
<object type="button">
<highlight color="%highlight_color%" />
- <placement x="%col1_x%" y="%row1_y%" />
+ <placement x="%col2_x%" y="%wipe_button_y%" />
<font resource="font" color="%button_text_color%" />
- <text>Cache</text>
+ <text>Advanced Wipe</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>
+ <action function="page">advancedwipe</action>
</object>
<object type="button">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
<conditions>
<condition var1="tw_has_internal" var2="1" />
<condition var1="tw_has_data_media" var2="1" />
</conditions>
- <placement x="%col3_x%" y="%row2_y%" />
+ <highlight color="%highlight_color%" />
+ <placement x="%col3_x%" y="%wipe_button_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>
+ <action function="page">formatdata</action>
</actions>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <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" />
+ <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" />
<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>
+ <action function="set">tw_action_param=data</action>
+ <action function="set">tw_action_text1=Factory Reset...</action>
+ <action function="set">tw_complete_text1=Factory Reset Complete</action>
+ <action function="page">action_page</action>
</actions>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <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 type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%slider_text_y%" placement="4" />
+ <text>Swipe to Factory Reset</text>
</object>
<object type="action">
@@ -1739,6 +1475,128 @@
<object type="template" name="footer" />
</page>
+ <page name="advancedwipe">
+ <object type="template" name="header" />
+
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row2_text_y%" w="%listbox_width%" h="%wipe_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Wipe:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="font" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_wipe_list" />
+ <listtype name="wipe" />
+ </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=advancedwipe</action>
+ <action function="set">tw_action=wipe</action>
+ <action function="set">tw_action_param=LIST</action>
+ <action function="set">tw_text1=Wipe Selected Partition(s)?</action>
+ <action function="set">tw_action_text1=Wiping Partition(s)...</action>
+ <action function="set">tw_complete_text1=Wipe 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 Wipe</text>
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <action function="page">wipe</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="formatdata">
+ <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>Format Data will wipe all of your apps, backups, pictures,</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>videos, media, and removes encryption on internal storage.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>This cannot be undone. Press back to cancel.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row4_text_y%" placement="5" />
+ <text>Type yes to continue.</text>
+ </object>
+
+ <object type="input">
+ <placement x="%input_x%" y="%row6_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_confirm_formatdata%</text>
+ <data name="tw_confirm_formatdata" />
+ <restrict minlen="3" maxlen="3" allow="yes" />
+ <action function="page">formatdata_confirm</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">wipe</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="formatdata_confirm">
+ <object type="action">
+ <condition var1="tw_confirm_formatdata" op="=" var2="yes" />
+ <actions>
+ <action function="set">tw_back=formatdata</action>
+ <action function="set">tw_action=wipe</action>
+ <action function="set">tw_action_param=DATAMEDIA</action>
+ <action function="set">tw_action_text1=Formatting Data...</action>
+ <action function="set">tw_complete_text1=Data Format Complete</action>
+ <action function="page">action_page</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <condition var1="tw_confirm_formatdata" op="!=" var2="yes" />
+ <action function="page">formatdata</function>
+ </object>
+ </page>
+
<page name="backup">
<object type="template" name="header" />
@@ -1748,10 +1606,18 @@
<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 type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%backup_list_x%" y="%backup_list_y%" w="%backup_list_width%" h="%backup_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Back Up:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="font" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_backup_list" />
+ <listtype name="backup" />
</object>
<object type="text" color="%text_color%">
@@ -1760,95 +1626,41 @@
<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 type="button">
+ <highlight color="%highlight_color%" />
+ <placement x="%col3_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">
+ <highlight color="%highlight_color%" />
+ <placement x="%col4_x%" y="%row1_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="button">
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col3_x%" y="%backup_storage_y%" w="%button_fill_main_width%" h="%button_fill_half_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=backup</action>
+ <action function="page">selectstorage</action>
+ </actions>
</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%" />
+ <placement x="%col3_x%" y="%nandcheck_row6%" />
<font resource="font" color="%text_color%" />
<text>Enable Compression (Requires more time)</text>
<data variable="tw_use_compression" />
@@ -1856,61 +1668,13 @@
</object>
<object type="checkbox">
- <placement x="%col3_x%" y="%nandcheck_row6%" />
+ <placement x="%col3_x%" y="%nandcheck_row7%" />
<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" />
@@ -1926,27 +1690,6 @@
<text>Swipe to Back Up</text>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <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>
@@ -2070,51 +1813,15 @@
<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>
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col2_x%" y="%zipstorage_text_y%" w="%fileselector_folderonly_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=restore</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="fileselector">
@@ -2144,19 +1851,6 @@
</actions>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <conditions>
- <condition var1="tw_is_encrypted" var2="1" />
- <condition var1="tw_is_decrypted" var2="0" />
- </conditions>
- <placement x="%col2_x%" y="row3_y" />
- <font resource="font" color="%button_text_color%" />
- <text>Decrypt Data</text>
- <image resource="main_button" />
- <action function="page">decrypt</action>
- </object>
-
<object type="action">
<touch key="home" />
<action function="page">main</action>
@@ -2185,89 +1879,22 @@
<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 type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%backup_list_x%" y="%restore_list_y%" w="%backup_list_width%" h="%restore_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Restore:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="font" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_restore_list" selectedlist="tw_restore_selected" />
+ <listtype name="restore" />
</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%" />
+ <placement x="%col3_x%" y="%nandcheck_row6%" />
<font resource="font" color="%text_color%" />
<text>Enable MD5 checking of backup files</text>
<data variable="tw_skip_md5_check" />
@@ -2289,7 +1916,7 @@
<object type="button">
<highlight color="%highlight_color%" />
- <placement x="%col4_x%" y="%backup_name_button_y%" />
+ <placement x="%col3_x%" y="%row1_y%" />
<font resource="font" color="%button_text_color%" />
<text>Delete Backup</text>
<image resource="main_button" />
diff --git a/gui/devices/1024x768/res/images/exclamation200.png b/gui/devices/1024x768/res/images/exclamation200.png
deleted file mode 100644
index 96258a1..0000000
--- a/gui/devices/1024x768/res/images/exclamation200.png
+++ /dev/null
Binary files differ
diff --git a/gui/devices/1024x768/res/ui.xml b/gui/devices/1024x768/res/ui.xml
index 88365e6..d160562 100644
--- a/gui/devices/1024x768/res/ui.xml
+++ b/gui/devices/1024x768/res/ui.xml
@@ -41,7 +41,6 @@
<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="exclamation200" />
</resources>
<variables>
@@ -180,8 +179,24 @@
<variable name="terminal_text_y" value="368" />
<variable name="terminal_button_y" value="358" />
<variable name="terminal_input_width" value="775" />
- <variable name="exclamation_x" value="412" />
- <variable name="exclamation_y" value="200" />
+ <variable name="button_fill_color" value="#303030" />
+ <variable name="button_fill_full_width" value="512" />
+ <variable name="button_fill_main_width" value="486" />
+ <variable name="button_fill_main_height" value="150" />
+ <variable name="button_fill_half_height" value="75" />
+ <variable name="button_fill_quarter_height" value="30" />
+ <variable name="button_full_center_x" value="256" />
+ <variable name="backup_list_x" value="23" />
+ <variable name="backup_list_y" value="105" />
+ <variable name="backup_list_width" value="486" />
+ <variable name="backup_list_height" value="450" />
+ <variable name="backup_storage_y" value="250" />
+ <variable name="restore_list_y" value="140" />
+ <variable name="restore_list_height" value="400" />
+ <variable name="mount_list_height" value="500" />
+ <variable name="mount_storage_row" value="500" />
+ <variable name="wipe_list_height" value="400" />
+ <variable name="wipe_button_y" value="190" />
</variables>
<templates>
@@ -507,51 +522,15 @@
</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>
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%button_full_center_x%" y="%zipstorage_text_y%" w="%button_fill_full_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=install</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="fileselector">
@@ -856,15 +835,6 @@
<page name="confirm_action">
<object type="template" name="header" />
- <object type="button">
- <highlight color="%highlight_color%" />
- <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" />
@@ -1263,6 +1233,38 @@
<object type="template" name="footer" />
</page>
+ <page name="selectstorage">
+ <object type="template" name="header" />
+
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <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%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Storage:</text>
+ <icon selected="radio_true" unselected="radio_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="font" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_storage_path" />
+ <listtype name="storage" />
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <actions>
+ <action function="page">%tw_back%</action>
+ </actions>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
<page name="mount">
<object type="template" name="header" />
@@ -1272,9 +1274,35 @@
<text>Mount Menu</text>
</object>
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%backup_list_x%" y="%backup_list_y%" w="%backup_list_width%" h="%mount_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Mount:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="font" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <listtype name="mount" />
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <conditions>
+ <condition var1="tw_is_encrypted" var2="1" />
+ <condition var1="tw_is_decrypted" var2="0" />
+ </conditions>
+ <placement x="%col3_x%" y="row1_y" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Decrypt Data</text>
+ <image resource="main_button" />
+ <action function="page">decrypt</action>
+ </object>
+
<object type="button">
<condition var1="tw_has_usb_storage" var2="1" />
- <placement x="%col1_x%" y="%row1_y%" />
+ <placement x="%col4_x%" y="%row1_y%" />
<font resource="font" color="%button_text_color%" />
<text>Mount USB Storage</text>
<image resource="main_button" />
@@ -1282,201 +1310,15 @@
</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">
<highlight color="%highlight_color%" />
- <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>
+ <fill color="%button_fill_color%" />
+ <placement x="%col3_x%" y="%backup_storage_y%" w="%button_fill_main_width%" h="%button_fill_half_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=mount</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="action">
@@ -1541,191 +1383,83 @@
<object type="text" color="%text_color%">
<font resource="font" />
<placement x="%center_x%" y="%row1_text_y%" placement="5" />
- <text>Wipe Menu</text>
+ <text>Factory Reset: Wipes Data, Cache, and Dalvik</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_data_media" var2="0" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>.android_secure</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_data_media" var2="1" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>(not including internal storage)</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_sdext_partition" var2="1" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>SD-EXT</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row4_text_y%" placement="5" />
+ <text>Most of the time this is the only wipe that you need.</text>
</object>
<object type="button">
<highlight color="%highlight_color%" />
- <placement x="%col1_x%" y="%row1_y%" />
+ <placement x="%col2_x%" y="%wipe_button_y%" />
<font resource="font" color="%button_text_color%" />
- <text>Cache</text>
+ <text>Advanced Wipe</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>
+ <action function="page">advancedwipe</action>
</object>
<object type="button">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
<conditions>
<condition var1="tw_has_internal" var2="1" />
<condition var1="tw_has_data_media" var2="1" />
</conditions>
- <placement x="%col3_x%" y="%row2_y%" />
+ <highlight color="%highlight_color%" />
+ <placement x="%col3_x%" y="%wipe_button_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>
+ <action function="page">formatdata</action>
</actions>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <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" />
+ <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" />
<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>
+ <action function="set">tw_action_param=data</action>
+ <action function="set">tw_action_text1=Factory Reset...</action>
+ <action function="set">tw_complete_text1=Factory Reset Complete</action>
+ <action function="page">action_page</action>
</actions>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <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 type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%slider_text_y%" placement="4" />
+ <text>Swipe to Factory Reset</text>
</object>
<object type="action">
@@ -1741,6 +1475,128 @@
<object type="template" name="footer" />
</page>
+ <page name="advancedwipe">
+ <object type="template" name="header" />
+
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row2_text_y%" w="%listbox_width%" h="%wipe_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Wipe:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="font" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_wipe_list" />
+ <listtype name="wipe" />
+ </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=advancedwipe</action>
+ <action function="set">tw_action=wipe</action>
+ <action function="set">tw_action_param=LIST</action>
+ <action function="set">tw_text1=Wipe Selected Partition(s)?</action>
+ <action function="set">tw_action_text1=Wiping Partition(s)...</action>
+ <action function="set">tw_complete_text1=Wipe 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 Wipe</text>
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <action function="page">wipe</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="formatdata">
+ <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>Format Data will wipe all of your apps, backups, pictures,</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>videos, media, and removes encryption on internal storage.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>This cannot be undone. Press back to cancel.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row4_text_y%" placement="5" />
+ <text>Type yes to continue.</text>
+ </object>
+
+ <object type="input">
+ <placement x="%input_x%" y="%row6_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_confirm_formatdata%</text>
+ <data name="tw_confirm_formatdata" />
+ <restrict minlen="3" maxlen="3" allow="yes" />
+ <action function="page">formatdata_confirm</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">wipe</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="formatdata_confirm">
+ <object type="action">
+ <condition var1="tw_confirm_formatdata" op="=" var2="yes" />
+ <actions>
+ <action function="set">tw_back=formatdata</action>
+ <action function="set">tw_action=wipe</action>
+ <action function="set">tw_action_param=DATAMEDIA</action>
+ <action function="set">tw_action_text1=Formatting Data...</action>
+ <action function="set">tw_complete_text1=Data Format Complete</action>
+ <action function="page">action_page</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <condition var1="tw_confirm_formatdata" op="!=" var2="yes" />
+ <action function="page">formatdata</function>
+ </object>
+ </page>
+
<page name="backup">
<object type="template" name="header" />
@@ -1750,10 +1606,18 @@
<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 type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%backup_list_x%" y="%backup_list_y%" w="%backup_list_width%" h="%backup_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Back Up:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="font" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_backup_list" />
+ <listtype name="backup" />
</object>
<object type="text" color="%text_color%">
@@ -1762,95 +1626,41 @@
<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 type="button">
+ <highlight color="%highlight_color%" />
+ <placement x="%col3_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">
+ <highlight color="%highlight_color%" />
+ <placement x="%col4_x%" y="%row1_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="button">
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col3_x%" y="%backup_storage_y%" w="%button_fill_main_width%" h="%button_fill_half_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=backup</action>
+ <action function="page">selectstorage</action>
+ </actions>
</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%" />
+ <placement x="%col3_x%" y="%nandcheck_row6%" />
<font resource="font" color="%text_color%" />
<text>Enable Compression (Requires more time)</text>
<data variable="tw_use_compression" />
@@ -1858,61 +1668,13 @@
</object>
<object type="checkbox">
- <placement x="%col3_x%" y="%nandcheck_row6%" />
+ <placement x="%col3_x%" y="%nandcheck_row7%" />
<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" />
@@ -1928,27 +1690,6 @@
<text>Swipe to Back Up</text>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <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>
@@ -2072,51 +1813,15 @@
<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>
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col2_x%" y="%zipstorage_text_y%" w="%fileselector_folderonly_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=restore</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="fileselector">
@@ -2146,19 +1851,6 @@
</actions>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <conditions>
- <condition var1="tw_is_encrypted" var2="1" />
- <condition var1="tw_is_decrypted" var2="0" />
- </conditions>
- <placement x="%col2_x%" y="row3_y" />
- <font resource="font" color="%button_text_color%" />
- <text>Decrypt Data</text>
- <image resource="main_button" />
- <action function="page">decrypt</action>
- </object>
-
<object type="action">
<touch key="home" />
<action function="page">main</action>
@@ -2187,89 +1879,22 @@
<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 type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%backup_list_x%" y="%restore_list_y%" w="%backup_list_width%" h="%restore_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Restore:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="font" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_restore_list" selectedlist="tw_restore_selected" />
+ <listtype name="restore" />
</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%" />
+ <placement x="%col3_x%" y="%nandcheck_row6%" />
<font resource="font" color="%text_color%" />
<text>Enable MD5 checking of backup files</text>
<data variable="tw_skip_md5_check" />
@@ -2291,7 +1916,7 @@
<object type="button">
<highlight color="%highlight_color%" />
- <placement x="%col4_x%" y="%backup_name_button_y%" />
+ <placement x="%col3_x%" y="%row1_y%" />
<font resource="font" color="%button_text_color%" />
<text>Delete Backup</text>
<image resource="main_button" />
diff --git a/gui/devices/1080x1920/res/fonts/Roboto-Condensed-40.dat b/gui/devices/1080x1920/res/fonts/Roboto-Condensed-40.dat
new file mode 100644
index 0000000..ff23add
--- /dev/null
+++ b/gui/devices/1080x1920/res/fonts/Roboto-Condensed-40.dat
Binary files differ
diff --git a/gui/devices/1080x1920/res/images/back-icon.png b/gui/devices/1080x1920/res/images/back-icon.png
new file mode 100644
index 0000000..85c6a5d
--- /dev/null
+++ b/gui/devices/1080x1920/res/images/back-icon.png
Binary files differ
diff --git a/gui/devices/1080x1920/res/images/checkbox_checked.png b/gui/devices/1080x1920/res/images/checkbox_checked.png
new file mode 100644
index 0000000..65d0b34
--- /dev/null
+++ b/gui/devices/1080x1920/res/images/checkbox_checked.png
Binary files differ
diff --git a/gui/devices/1080x1920/res/images/checkbox_empty.png b/gui/devices/1080x1920/res/images/checkbox_empty.png
new file mode 100644
index 0000000..89b4c96
--- /dev/null
+++ b/gui/devices/1080x1920/res/images/checkbox_empty.png
Binary files differ
diff --git a/gui/devices/1080x1920/res/images/curtain.jpg b/gui/devices/1080x1920/res/images/curtain.jpg
new file mode 100644
index 0000000..269941d
--- /dev/null
+++ b/gui/devices/1080x1920/res/images/curtain.jpg
Binary files differ
diff --git a/gui/devices/1080x1920/res/images/file.png b/gui/devices/1080x1920/res/images/file.png
new file mode 100644
index 0000000..a69b619
--- /dev/null
+++ b/gui/devices/1080x1920/res/images/file.png
Binary files differ
diff --git a/gui/devices/1080x1920/res/images/folder.png b/gui/devices/1080x1920/res/images/folder.png
new file mode 100644
index 0000000..fbea7a9
--- /dev/null
+++ b/gui/devices/1080x1920/res/images/folder.png
Binary files differ
diff --git a/gui/devices/1080x1920/res/images/home-icon.png b/gui/devices/1080x1920/res/images/home-icon.png
new file mode 100644
index 0000000..d6bc73d
--- /dev/null
+++ b/gui/devices/1080x1920/res/images/home-icon.png
Binary files differ
diff --git a/gui/devices/1080x1920/res/images/indeterminate001.png b/gui/devices/1080x1920/res/images/indeterminate001.png
new file mode 100644
index 0000000..a205e91
--- /dev/null
+++ b/gui/devices/1080x1920/res/images/indeterminate001.png
Binary files differ
diff --git a/gui/devices/1080x1920/res/images/indeterminate002.png b/gui/devices/1080x1920/res/images/indeterminate002.png
new file mode 100644
index 0000000..f777408
--- /dev/null
+++ b/gui/devices/1080x1920/res/images/indeterminate002.png
Binary files differ
diff --git a/gui/devices/1080x1920/res/images/indeterminate003.png b/gui/devices/1080x1920/res/images/indeterminate003.png
new file mode 100644
index 0000000..cbb5974
--- /dev/null
+++ b/gui/devices/1080x1920/res/images/indeterminate003.png
Binary files differ
diff --git a/gui/devices/1080x1920/res/images/indeterminate004.png b/gui/devices/1080x1920/res/images/indeterminate004.png
new file mode 100644
index 0000000..5ff7734
--- /dev/null
+++ b/gui/devices/1080x1920/res/images/indeterminate004.png
Binary files differ
diff --git a/gui/devices/1080x1920/res/images/indeterminate005.png b/gui/devices/1080x1920/res/images/indeterminate005.png
new file mode 100644
index 0000000..7cc9abb
--- /dev/null
+++ b/gui/devices/1080x1920/res/images/indeterminate005.png
Binary files differ
diff --git a/gui/devices/1080x1920/res/images/indeterminate006.png b/gui/devices/1080x1920/res/images/indeterminate006.png
new file mode 100644
index 0000000..9eed176
--- /dev/null
+++ b/gui/devices/1080x1920/res/images/indeterminate006.png
Binary files differ
diff --git a/gui/devices/1080x1920/res/images/keyboard1.png b/gui/devices/1080x1920/res/images/keyboard1.png
new file mode 100644
index 0000000..79a8b69
--- /dev/null
+++ b/gui/devices/1080x1920/res/images/keyboard1.png
Binary files differ
diff --git a/gui/devices/1080x1920/res/images/keyboard2.png b/gui/devices/1080x1920/res/images/keyboard2.png
new file mode 100644
index 0000000..63a5b6a
--- /dev/null
+++ b/gui/devices/1080x1920/res/images/keyboard2.png
Binary files differ
diff --git a/gui/devices/1080x1920/res/images/keyboard3.png b/gui/devices/1080x1920/res/images/keyboard3.png
new file mode 100644
index 0000000..a646c75
--- /dev/null
+++ b/gui/devices/1080x1920/res/images/keyboard3.png
Binary files differ
diff --git a/gui/devices/1080x1920/res/images/keyboard4.png b/gui/devices/1080x1920/res/images/keyboard4.png
new file mode 100644
index 0000000..3b2905a
--- /dev/null
+++ b/gui/devices/1080x1920/res/images/keyboard4.png
Binary files differ
diff --git a/gui/devices/1080x1920/res/images/medium-button.png b/gui/devices/1080x1920/res/images/medium-button.png
new file mode 100644
index 0000000..a3bf30d
--- /dev/null
+++ b/gui/devices/1080x1920/res/images/medium-button.png
Binary files differ
diff --git a/gui/devices/1080x1920/res/images/menu-button.png b/gui/devices/1080x1920/res/images/menu-button.png
new file mode 100644
index 0000000..36d3f01
--- /dev/null
+++ b/gui/devices/1080x1920/res/images/menu-button.png
Binary files differ
diff --git a/gui/devices/1080x1920/res/images/minus-button.png b/gui/devices/1080x1920/res/images/minus-button.png
new file mode 100644
index 0000000..e2edbe4
--- /dev/null
+++ b/gui/devices/1080x1920/res/images/minus-button.png
Binary files differ
diff --git a/gui/devices/1080x1920/res/images/plus-button.png b/gui/devices/1080x1920/res/images/plus-button.png
new file mode 100644
index 0000000..b67d9b9
--- /dev/null
+++ b/gui/devices/1080x1920/res/images/plus-button.png
Binary files differ
diff --git a/gui/devices/1080x1920/res/images/progress_empty.png b/gui/devices/1080x1920/res/images/progress_empty.png
new file mode 100644
index 0000000..d4ea0c2
--- /dev/null
+++ b/gui/devices/1080x1920/res/images/progress_empty.png
Binary files differ
diff --git a/gui/devices/1080x1920/res/images/progress_fill.png b/gui/devices/1080x1920/res/images/progress_fill.png
new file mode 100644
index 0000000..836e437
--- /dev/null
+++ b/gui/devices/1080x1920/res/images/progress_fill.png
Binary files differ
diff --git a/gui/devices/1080x1920/res/images/radio_empty.png b/gui/devices/1080x1920/res/images/radio_empty.png
new file mode 100644
index 0000000..9c2c66b
--- /dev/null
+++ b/gui/devices/1080x1920/res/images/radio_empty.png
Binary files differ
diff --git a/gui/devices/1080x1920/res/images/radio_selected.png b/gui/devices/1080x1920/res/images/radio_selected.png
new file mode 100644
index 0000000..8d05b9d
--- /dev/null
+++ b/gui/devices/1080x1920/res/images/radio_selected.png
Binary files differ
diff --git a/gui/devices/1080x1920/res/images/slideout.png b/gui/devices/1080x1920/res/images/slideout.png
new file mode 100644
index 0000000..56a9ac2
--- /dev/null
+++ b/gui/devices/1080x1920/res/images/slideout.png
Binary files differ
diff --git a/gui/devices/1080x1920/res/images/slider-touch.png b/gui/devices/1080x1920/res/images/slider-touch.png
new file mode 100644
index 0000000..b3365af
--- /dev/null
+++ b/gui/devices/1080x1920/res/images/slider-touch.png
Binary files differ
diff --git a/gui/devices/1080x1920/res/images/slider-used.png b/gui/devices/1080x1920/res/images/slider-used.png
new file mode 100644
index 0000000..229d910
--- /dev/null
+++ b/gui/devices/1080x1920/res/images/slider-used.png
Binary files differ
diff --git a/gui/devices/1080x1920/res/images/slider.png b/gui/devices/1080x1920/res/images/slider.png
new file mode 100644
index 0000000..1e034a6
--- /dev/null
+++ b/gui/devices/1080x1920/res/images/slider.png
Binary files differ
diff --git a/gui/devices/1080x1920/res/images/sort-button.png b/gui/devices/1080x1920/res/images/sort-button.png
new file mode 100644
index 0000000..c6783a1
--- /dev/null
+++ b/gui/devices/1080x1920/res/images/sort-button.png
Binary files differ
diff --git a/gui/devices/1080x1920/res/images/top-bar.jpg b/gui/devices/1080x1920/res/images/top-bar.jpg
new file mode 100644
index 0000000..5277f59
--- /dev/null
+++ b/gui/devices/1080x1920/res/images/top-bar.jpg
Binary files differ
diff --git a/gui/devices/1080x1920/res/images/unlock.png b/gui/devices/1080x1920/res/images/unlock.png
new file mode 100644
index 0000000..dc3894b
--- /dev/null
+++ b/gui/devices/1080x1920/res/images/unlock.png
Binary files differ
diff --git a/gui/devices/1080x1920/res/ui.xml b/gui/devices/1080x1920/res/ui.xml
new file mode 100644
index 0000000..93d539c
--- /dev/null
+++ b/gui/devices/1080x1920/res/ui.xml
@@ -0,0 +1,3626 @@
+<?xml version="1.0"?>
+
+<recovery>
+ <details>
+ <resolution width="1080" height="1920" />
+ <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-Condensed-40" />
+ <resource name="mediumfont" type="font" filename="Roboto-Condensed-40" />
+ <resource name="filelist" type="font" filename="Roboto-Condensed-40" />
+ <resource name="top_bar" type="image" filename="top-bar.jpg" />
+ <resource name="main_button" type="image" filename="menu-button" />
+ <resource name="file_icon" type="image" filename="file" />
+ <resource name="folder_icon" type="image" filename="folder" />
+ <resource name="slideout" type="image" filename="slideout" />
+ <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="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="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" />
+ </resources>
+
+ <variables>
+ <variable name="col1_x" value="10" />
+ <variable name="col2_x" value="565" />
+ <variable name="col_center_x" value="288" />
+ <variable name="col_center_medium_x" value="414" />
+ <variable name="center_x" value="540" />
+ <variable name="row1_y" value="255" />
+ <variable name="row2_y" value="615" />
+ <variable name="row3_y" value="975" />
+ <variable name="row4_y" value="1335" />
+ <variable name="col1_center_x" value="179" />
+ <variable name="col2_center_x" value="552" />
+ <variable name="row1_text2_y" value="310" />
+ <variable name="row2_text2_y" value="550" />
+ <variable name="row_queue_y" value="1140" />
+ <variable name="row1_header_y" value="180" />
+ <variable name="row1_text_y" value="255" />
+ <variable name="row2_text_y" value="330" />
+ <variable name="row3_text_y" value="405" />
+ <variable name="row4_text_y" value="480" />
+ <variable name="row5_text_y" value="555" />
+ <variable name="row6_text_y" value="630" />
+ <variable name="row7_text_y" value="705" />
+ <variable name="row8_text_y" value="780" />
+ <variable name="row9_text_y" value="855" />
+ <variable name="row10_text_y" value="930" />
+ <variable name="row11_text_y" value="1005" />
+ <variable name="row12_text_y" value="1080" />
+ <variable name="row13_text_y" value="1155" />
+ <variable name="row14_text_y" value="1230" />
+ <variable name="row15_text_y" value="1305" />
+ <variable name="row16_text_y" value="1380" />
+ <variable name="row17_text_y" value="1455" />
+ <variable name="row18_text_y" value="1530" />
+ <variable name="zip_status_y" value="922" />
+ <variable name="tz_selected_y" value="240" />
+ <variable name="tz_set_y" value="1500" />
+ <variable name="tz_current_y" value="1425" />
+ <variable name="col_progressbar_x" value="351" />
+ <variable name="row_progressbar_y" value="1650" />
+ <variable name="col1_medium_x" value="10" />
+ <variable name="col2_medium_x" value="282" />
+ <variable name="col3_medium_x" value="545" />
+ <variable name="col4_medium_x" value="817" />
+ <variable name="row1_medium_y" value="195" />
+ <variable name="row2_medium_y" value="345" />
+ <variable name="row3_medium_y" value="392" />
+ <variable name="row4_medium_y" value="645" />
+ <variable name="row5_medium_y" value="795" />
+ <variable name="row6_medium_y" value="1260" />
+ <variable name="row7_medium_y" value="730" />
+ <variable name="slider_x" value="101" />
+ <variable name="slider_y" value="1575" />
+ <variable name="slider_text_y" value="1676" />
+ <variable name="button_text_color" value="#AAAAAA" />
+ <variable name="text_color" value="#FFFFFF" />
+ <variable name="text_success_color" value="#33B5E5" />
+ <variable name="text_fail_color" value="#FF0101" />
+ <variable name="highlight_color" value="#90909080" />
+ <variable name="home_button_x" value="10" />
+ <variable name="home_button_y" value="1839" />
+ <variable name="back_button_x" value="944" />
+ <variable name="back_button_y" value="1839" />
+ <variable name="sort_text_x" value="10" />
+ <variable name="sort_asc_text_y" value="1635" />
+ <variable name="sort_asc_button_y" value="1620" />
+ <variable name="sort_desc_text_y" value="1725" />
+ <variable name="sort_desc_button_y" value="1710" />
+ <variable name="sort_col1_button_x" value="390" />
+ <variable name="sort_col2_button_x" value="540" />
+ <variable name="sort_col3_button_x" value="690" />
+ <variable name="input_width" value="1060" />
+ <variable name="input_height" value="75" />
+ <variable name="input_background_color" value="#303030" />
+ <variable name="input_cursor_color" value="#33B5E5" />
+ <variable name="input_cursor_width" value="4" />
+ <variable name="console_x" value="0" />
+ <variable name="console_width" value="1080" />
+ <variable name="console_foreground" value="#A0A0A0" />
+ <variable name="console_background" value="#303030" />
+ <variable name="console_scroll" value="#303030" />
+ <variable name="console_action_height" value="705" />
+ <variable name="console_install_height" value="900" />
+ <variable name="console_installdone_height" value="660" />
+ <variable name="fileselector_x" value="5" />
+ <variable name="fileselector_width" value="1070" />
+ <variable name="fileselector_install_height" value="1170" />
+ <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="4" />
+ <variable name="fileselector_separatorcolor" value="#505050" />
+ <variable name="fileselector_separatorheight" value="3" />
+ <variable name="fileselector_background" value="#303030" />
+ <variable name="fileselector_highlight_color" value="#505050" />
+ <variable name="fileselector_highlight_font_color" value="#33B5E5" />
+ <variable name="fileselector_spacing" value="48" />
+ <variable name="fastscroll_linecolor" value="#808080" />
+ <variable name="fastscroll_rectcolor" value="#808080" />
+ <variable name="fastscroll_w" value="90" />
+ <variable name="fastscroll_linew" value="3" />
+ <variable name="fastscroll_rectw" value="60" />
+ <variable name="fastscroll_recth" value="105" />
+ <variable name="listbox_x" value="5" />
+ <variable name="listbox_width" value="1070" />
+ <variable name="listbox_tz_height" value="885" />
+ <variable name="listbox_background" value="#303030" />
+ <variable name="listbox_spacing" value="24" />
+ <variable name="sd_plus_x" value="525" />
+ <variable name="sdext_text_x" value="165" />
+ <variable name="sdext_text_y" value="270" />
+ <variable name="sdswap_button_y" value="390" />
+ <variable name="sdswap_text_x" value="165" />
+ <variable name="sdswap_text_y" value="405" />
+ <variable name="sdfilesystem_text_y" value="510" />
+ <variable name="sdfilesystem_button_y" value="570" />
+ <variable name="lock_x" value="240" />
+ <variable name="lock_y" value="600" />
+ <variable name="filemanager_select_x" value="840" />
+ <variable name="filemanager_select_y" value="1620" />
+ <variable name="backup_name_y" value="825" />
+ <variable name="terminal_console_height" value="1050" />
+ <variable name="terminal_text_y" value="1095" />
+ <variable name="terminal_button_y" value="1050" />
+ <variable name="row_dst_text_y" value="1080" />
+ <variable name="row_offset_text_y" value="1155" />
+ <variable name="row_offset_medium_y" value="1260" />
+ <variable name="button_fill_color" value="#303030" />
+ <variable name="button_fill_full_width" value="1060" />
+ <variable name="button_fill_main_width" value="505" />
+ <variable name="button_fill_main_height" value="324" />
+ <variable name="button_fill_half_height" value="162" />
+ <variable name="button_fill_quarter_height" value="81" />
+ <variable name="backup_list_height" value="855" />
+ <variable name="backup_button_row1" value="1118" />
+ <variable name="backup_button_row2" value="1220" />
+ <variable name="mount_list_height" value="1035" />
+ <variable name="mount_storage_row" value="1240" />
+ <variable name="storage_list_height" value="1313" />
+ <variable name="wipe_list_height" value="1305" />
+ <variable name="wipe_button_y" value="975" />
+ </variables>
+
+ <templates>
+ <template name="header">
+ <background color="#000000FF" />
+
+ <object type="image">
+ <image resource="top_bar" />
+ <placement x="0" y="0" />
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="180" y="15" />
+ <text>Team Win Recovery Project v%tw_version%</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_simulate_actions" var2="1" />
+ <font resource="font" />
+ <placement x="180" y="60" />
+ <text>SIMULATING ACTIONS</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="180" y="114" />
+ <text>%tw_time%</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="405" y="114" />
+ <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: %tw_battery%</text>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <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">
+ <highlight color="%highlight_color%" />
+ <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="2" />
+ <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">
+ <highlight color="%highlight_color%" />
+ <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">
+ <highlight color="%highlight_color%" />
+ <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">
+ <highlight color="%highlight_color%" />
+ <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">
+ <highlight color="%highlight_color%" />
+ <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">
+ <highlight color="%highlight_color%" />
+ <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">
+ <highlight color="%highlight_color%" />
+ <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="action_page_console">
+ <object type="console">
+ <placement x="0" y="%row2_y%" w="1080" h="705" />
+ <color foreground="%console_foreground%" background="%console_background%" scroll="%console_scroll%" />
+ <font resource="fixed" />
+ </object>
+ </template>
+
+ <template name="footer">
+ <object type="console">
+ <slideout resource="slideout" x="500" y="1841" />
+ <placement x="%console_x%" y="0" w="%console_width%" h="1841" />
+ <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="1200" />
+ <layout resource1="keyboard1" resource2="keyboard2" resource3="keyboard3" resource4="keyboard4" />
+ <highlight color="%highlight_color%" />
+ <layout1>
+ <keysize height="161" width="108" />
+ <row1 key01="q" long01="1" key02="w" long02="2" key03="e" long03="3" key04="r" long04="4" key05="t" long05="5" key06="y" long06="6" key07="u" long07="7" key08="i" long08="8" key09="o" long09="9" key10="p" long10="0" />
+ <row2 key01="162:a" long01="@" key02="s" long02="#" key03="d" long03="$" key04="f" long04="%" key05="g" long05="&" key06="h" long06="*" key07="j" long07="-" key08="k" long08="+" key09="162:l" long09="_" />
+ <row3 key01="162:layout2" key02="z" long02="!" key03="x" key04="c" long04="'" key05="v" long05=":" key06="b" long06=";" key07="n" long07="/" key08="m" long08="?" key09="162:c:8" />
+ <row4 key01="162:layout3" key02="108:c:47" key03="108:" key04="432: " key05="." key06="162:action" />
+ </layout1>
+ <layout2>
+ <keysize height="161" width="108" />
+ <row1 key01="Q" long01="1" key02="W" long02="2" key03="E" long03="3" key04="R" long04="4" key05="T" long05="5" key06="Y" long06="6" key07="U" long07="7" key08="I" long08="8" key09="O" long09="9" key10="P" long10="0" />
+ <row2 key01="162:A" long01="@" key02="S" long02="#" key03="D" long03="$" key04="F" long04="%" key05="G" long05="&" key06="H" long06="*" key07="J" long07="-" key08="K" long08="+" key09="162:L" long09="_" />
+ <row3 key01="162:layout1" key02="Z" long02="!" key03="X" key04="C" long04="'" key05="V" long05=":" key06="B" long06=";" key07="N" long07="/" key08="M" long08="?" key09="162:c:8" />
+ <row4 key01="162:layout3" key02="/" key03="108:" key04="432: " key05="." key06="162:action" />
+ </layout2>
+ <layout3>
+ <keysize height="161" width="108" />
+ <row1 key01="1" key02="2" key03="3" key04="4" key05="5" key06="6" key07="7" key08="8" key09="9" key10="0" />
+ <row2 key01="@" key02="#" key03="$" key04="%" key05="&" key06="*" key07="-" key08="+" key09="(" key10=")" />
+ <row3 key01="162:layout4" key02="!" key03="108:c:34" key04="'" key05=":" key06=";" key07="/" key08="?" key09="162:c:8" />
+ <row4 key01="162:layout1" key02="," key03="108:" key04="432: " key05="." key06="162:action" />
+ </layout3>
+ <layout4>
+ <keysize height="161" width="108" />
+ <row1 key01="~" key02="`" key03="|" key04="108:" key05="108:" key06="108:" key07="%" key08="108:" key09="{" key10="}" />
+ <row2 key01="108:" key02="108:" key03="108:" key04="108:" key05="108:" key06="^" key07="_" key08="=" key09="[" key10="]" />
+ <row3 key01="162:layout3" key02="108:" key03="108:" key04="108:" key05="108:" key06="\" key07="<" key08=">" key09="162:c:8" />
+ <row4 key01="162:layout1" key02="108:c:34" key03="108:" key04="432: " key05="." key06="162:action" />
+ </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">
+ <highlight color="%highlight_color%" />
+ <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">
+ <highlight color="%highlight_color%" />
+ <placement x="%col2_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">
+ <highlight color="%highlight_color%" />
+ <placement x="%col1_x%" y="%row2_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Backup</text>
+ <image resource="main_button" />
+ <action function="page">backup</action>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <placement x="%col2_x%" y="%row2_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Restore</text>
+ <image resource="main_button" />
+ <action function="page">restore</action>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <placement x="%col1_x%" y="%row3_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Mount</text>
+ <image resource="main_button" />
+ <action function="page">mount</action>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <placement x="%col2_x%" y="%row3_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Settings</text>
+ <image resource="main_button" />
+ <action function="page">settings</action>
+ </object>
+
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <placement x="%col1_x%" y="%row4_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Advanced</text>
+ <image resource="main_button" />
+ <action function="page">advanced</action>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <placement x="%col2_x%" y="%row4_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_header_y%" placement="5" />
+ <text>Select Zip to Install</text>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%row1_text_y%" w="%button_fill_full_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=install</action>
+ <action function="page">selectstorage</action>
+ </actions>
+ </object>
+
+ <object type="fileselector">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%fileselector_x%" y="%row3_text_y%" w="%fileselector_width%" h="%fileselector_install_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <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="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <filter extn=".zip" folders="1" files="1" />
+ <path name="tw_zip_location" default="/sdcard" />
+ <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>This operation may install incompatible</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>software and render your device unusable.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>Folder:</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="mediumfont" />
+ <placement x="%center_x%" y="%row4_text_y%" placement="5" />
+ <text>%tw_zip_location%</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row5_text_y%" placement="5" />
+ <text>File to flash:</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="mediumfont" />
+ <placement x="%center_x%" y="%row6_text_y%" placement="5" />
+ <text>%tw_file%</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row7_text_y%" placement="5" />
+ <text>Press back to cancel adding this zip.</text>
+ </object>
+
+ <object type="checkbox">
+ <placement x="%col1_x%" y="%row8_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">
+ <condition var1="tw_has_injecttwrp" var2="1" />
+ <placement x="%col1_x%" y="%row10_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Inject TWRP after install.</text>
+ <data variable="tw_inject_after_zip" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row11_text_y%" placement="5" />
+ <text>File %tw_zip_queue_count% of max of 10</text>
+ </object>
+
+ <object type="slider">
+ <placement x="%slider_x%" y="%slider_y%" placement="5" />
+ <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="button">
+ <highlight color="%highlight_color%" />
+ <condition var1="tw_zip_queue_count" op="!=" var2="10"></condition>
+ <placement x="%col1_x%" y="%row_queue_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Add More Zips</text>
+ <image resource="main_button" />
+ <action function="page">install</action>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <placement x="%col2_x%" y="%row_queue_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Clear Zip Queue</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="queueclear"></action>
+ <action function="page">install</action>
+ </actions>
+ </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="console">
+ <placement x="%console_x%" y="%row1_y%" w="%console_width%" h="%console_install_height%" />
+ <color foreground="%console_foreground%" background="%console_background%" scroll="%console_scroll%" />
+ <font resource="fixed" />
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row17_text_y%" placement="5" />
+ <text>Flashing file %tw_zip_index% of %tw_zip_queue_count%</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="mediumfont" />
+ <placement x="%center_x%" y="%row18_text_y%" placement="5" />
+ <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="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_header_y%" placement="5" />
+ <text>Zip Install Complete</text>
+ </object>
+
+ <object type="console">
+ <placement x="%console_x%" y="%row1_y%" w="%console_width%" h="%console_installdone_height%" />
+ <color foreground="%console_foreground%" background="%console_background%" scroll="%console_scroll%" />
+ <font resource="fixed" />
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <placement x="%col1_x%" y="%row4_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">
+ <highlight color="%highlight_color%" />
+ <placement x="%col2_x%" y="%row4_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">
+ <highlight color="%highlight_color%" />
+ <placement x="%col_center_x%" y="%row3_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="text" color="%text_fail_color%">
+ <condition var1="tw_operation_status" op="!=" var2="0" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%zip_status_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="%zip_status_y%" placement="5" />
+ <text>Successful</text>
+ </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="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="%row15_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">
+ <highlight color="%highlight_color%" />
+ <condition var1="tw_has_cancel" var2="1" />
+ <placement x="%col_center_medium_x%" y="%row4_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Cancel</text>
+ <image resource="medium_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="singleaction_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="%row3_text_y%" placement="5" />
+ <text>%tw_action_text2%</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_page_done=1</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">
+ <highlight color="%highlight_color%" />
+ <condition var1="tw_show_reboot" var2="0" />
+ <placement x="%col_center_x%" y="%row4_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">
+ <highlight color="%highlight_color%" />
+ <condition var1="tw_show_reboot" var2="1" />
+ <placement x="%col_center_x%" y="%row4_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="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>Factory Reset</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>Wipes Data, Cache, and Dalvik</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_data_media" var2="0" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>.android_secure</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_data_media" var2="1" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>(not including internal storage)</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_sdext_partition" var2="1" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row4_text_y%" placement="5" />
+ <text>SD-EXT</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row5_text_y%" placement="5" />
+ <text>Most of the time this is</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row6_text_y%" placement="5" />
+ <text>the only wipe that you need.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row16_text_y%" placement="5" />
+ <text>Press back button to cancel.</text>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <placement x="%col1_x%" y="%wipe_button_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Advanced Wipe</text>
+ <image resource="main_button" />
+ <action function="page">advancedwipe</action>
+ </object>
+
+ <object type="button">
+ <conditions>
+ <condition var1="tw_has_internal" var2="1" />
+ <condition var1="tw_has_data_media" var2="1" />
+ </conditions>
+ <highlight color="%highlight_color%" />
+ <placement x="%col2_x%" y="%wipe_button_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Format Data</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="page">formatdata</action>
+ </actions>
+ </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=wipe</action>
+ <action function="set">tw_action=wipe</action>
+ <action function="set">tw_action_param=data</action>
+ <action function="set">tw_action_text1=Factory Reset...</action>
+ <action function="set">tw_complete_text1=Factory Reset 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 Factory Reset</text>
+ </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="advancedwipe">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_header_y%" placement="5" />
+ <text>Wipe Menu</text>
+ </object>
+
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row1_header_y%" w="%listbox_width%" h="%wipe_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Wipe:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_wipe_list" />
+ <listtype name="wipe" />
+ </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=advancedwipe</action>
+ <action function="set">tw_action=wipe</action>
+ <action function="set">tw_action_param=LIST</action>
+ <action function="set">tw_text1=Wipe Selected Partition(s)?</action>
+ <action function="set">tw_action_text1=Wiping Partition(s)...</action>
+ <action function="set">tw_complete_text1=Wipe 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 Wipe</text>
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <action function="page">wipe</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="formatdata">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_header_y%" placement="5" />
+ <text>Format Data will wipe all of your apps,</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>backups, pictures, videos, media, and</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>removes encryption on internal storage.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>This cannot be undone. Press back to cancel.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row4_text_y%" placement="5" />
+ <text>Type yes to continue.</text>
+ </object>
+
+ <object type="input">
+ <placement x="%col1_x%" y="%row6_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_confirm_formatdata%</text>
+ <data name="tw_confirm_formatdata" />
+ <restrict minlen="3" maxlen="3" allow="yes" />
+ <action function="page">formatdata_confirm</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">wipe</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="formatdata_confirm">
+ <object type="action">
+ <condition var1="tw_confirm_formatdata" op="=" var2="yes" />
+ <actions>
+ <action function="set">tw_back=formatdata</action>
+ <action function="set">tw_action=wipe</action>
+ <action function="set">tw_action_param=DATAMEDIA</action>
+ <action function="set">tw_action_text1=Formatting Data...</action>
+ <action function="set">tw_complete_text1=Data Format Complete</action>
+ <action function="page">action_page</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <condition var1="tw_confirm_formatdata" op="!=" var2="yes" />
+ <action function="page">formatdata</function>
+ </object>
+ </page>
+
+ <page name="backup">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_header_y%" placement="5" />
+ <text>Backup Name: %tw_backup_name%</text>
+ </object>
+
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row1_text_y%" w="%listbox_width%" h="%backup_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Back Up:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_backup_list" />
+ <listtype name="backup" />
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%backup_button_row1%" w="%button_fill_main_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Set Backup Name</text>
+ <actions>
+ <action function="set">tw_fileexists=0</action>
+ <action function="page">backupname1</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col2_x%" y="%backup_button_row1%" w="%button_fill_main_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Refresh Sizes</text>
+ <action function="refreshsizes"></action>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%backup_button_row2%" w="%button_fill_full_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=backup</action>
+ <action function="page">selectstorage</action>
+ </actions>
+ </object>
+
+ <object type="checkbox">
+ <placement x="%col1_x%" y="%row15_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Enable compression.</text>
+ <data variable="tw_use_compression" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="checkbox">
+ <placement x="%col1_x%" y="%row16_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Skip MD5 generation during backup.</text>
+ <data variable="tw_skip_md5_generate" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="slider">
+ <placement x="%slider_x%" y="slider_y" />
+ <resource base="slider" used="slider-used" touch="slider-touch" />
+ <action function="page">backup_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 Back Up</text>
+ </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_header_y%" placement="5" />
+ <font resource="font" />
+ <text>Please Enter a Backup Name</text>
+ </object>
+
+ <object type="input">
+ <placement x="%col1_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">
+ <highlight color="%highlight_color%" />
+ <placement x="%col_center_x%" y="%row2_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Cancel</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>
+ </page>
+
+ <page name="restore">
+ <object type="template" name="header" />
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%row1_header_y%" w="%button_fill_full_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=restore</action>
+ <action function="page">selectstorage</action>
+ </actions>
+ </object>
+
+ <object type="fileselector">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%fileselector_x%" y="%row2_text_y%" w="%fileselector_width%" h="%fileselector_install_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Package to Restore:</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%" highlightcolor="%fileselector_highlight_font_color%" />
+ <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="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row1_header_y%" w="%listbox_width%" h="%backup_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Restoring: %tw_restore_name%</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_restore_list" selectedlist="tw_restore_selected" />
+ <listtype name="restore" />
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%backup_button_row1%" w="%button_fill_main_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Rename Backup</text>
+ <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">
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col2_x%" y="%backup_button_row1%" w="%button_fill_main_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Delete Backup</text>
+ <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="checkbox">
+ <placement x="%col1_x%" y="%row15_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Enable MD5 verification of backup files.</text>
+ <data variable="tw_skip_md5_check" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row16_text_y%" placement="5" />
+ <text>Package Date: %tw_restore_file_date%</text>
+ </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_header_y%" placement="5" />
+ <font resource="font" />
+ <text>Please Enter a New Backup Name</text>
+ </object>
+
+ <object type="input">
+ <placement x="%col1_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">
+ <highlight color="%highlight_color%" />
+ <placement x="%col_center_x%" y="%row2_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="selectstorage">
+ <object type="template" name="header" />
+
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row1_header_y%" w="%listbox_width%" h="%storage_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Storage:</text>
+ <icon selected="radio_true" unselected="radio_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_storage_path" />
+ <listtype name="storage" />
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <actions>
+ <action function="page">%tw_back%</action>
+ </actions>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="mount">
+ <object type="template" name="header" />
+
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row1_header_y%" w="%listbox_width%" h="%mount_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Mount:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <listtype name="mount" />
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%mount_storage_row%" w="%button_fill_full_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=mount</action>
+ <action function="page">selectstorage</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <condition var1="tw_has_usb_storage" var2="1" />
+ <placement x="%col1_x%" y="row4_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">
+ <highlight color="%highlight_color%" />
+ <conditions>
+ <condition var1="tw_is_encrypted" var2="1" />
+ <condition var1="tw_is_decrypted" var2="0" />
+ </conditions>
+ <placement x="%col2_x%" y="row4_y" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Decrypt Data</text>
+ <image resource="main_button" />
+ <action function="page">decrypt</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%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_header_y%" placement="5" />
+ <text>USB Storage Mounted</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <placement x="%col1_x%" y="%row1_text_y%" />
+ <font resource="font" />
+ <text>Be sure to safely remove your device</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <placement x="%col1_x%" y="%row2_text_y%" />
+ <font resource="font" />
+ <text>from your computer before unmounting!</text>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <placement x="%col1_x%" y="%row3_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>
+ </page>
+
+ <page name="reboot">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_header_y%" placement="5" />
+ <text>Reboot Menu</text>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <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">
+ <highlight color="%highlight_color%" />
+ <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">
+ <highlight color="%highlight_color%" />
+ <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">
+ <highlight color="%highlight_color%" />
+ <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">
+ <highlight color="%highlight_color%" />
+ <condition var1="tw_download_mode" var2="1" />
+ <placement x="%col1_x%" y="%row3_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="settings">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_header_y%" placement="5" />
+ <text>Settings</text>
+ </object>
+
+ <object type="checkbox">
+ <placement x="%col1_x%" y="%row1_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="%row2_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="%row3_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Skip MD5 generation during backup.</text>
+ <data variable="tw_skip_md5_generate" />
+ <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>Enable MD5 verification 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="%row5_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Use Military Time.</text>
+ <data variable="tw_military_time" />
+ <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>Simulate 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="%row7_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">
+ <highlight color="%highlight_color%" />
+ <placement x="%col1_x%" y="%row3_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">
+ <highlight color="%highlight_color%" />
+ <placement x="%col2_x%" y="%row3_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Screen</text>
+ <image resource="main_button" />
+ <action function="page">screen</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col_center_x%" y="%row4_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="listbox">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row1_header_y%" w="%listbox_width%" h="%listbox_tz_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Time Zone:</text>
+ <icon selected="radio_true" unselected="radio_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="font" spacing="%listbox_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_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_x%" y="%row_dst_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="%row_offset_text_y%" placement="5" />
+ <text>Offset (usually 0): %tw_time_zone_guioffset%</text>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <placement x="%col1_medium_x%" y="%row_offset_medium_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>None</text>
+ <image resource="medium_button" />
+ <action function="set">tw_time_zone_guioffset=0</action>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <placement x="%col2_medium_x%" y="%row_offset_medium_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">
+ <highlight color="%highlight_color%" />
+ <placement x="%col3_medium_x%" y="%row_offset_medium_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">
+ <highlight color="%highlight_color%" />
+ <placement x="%col4_medium_x%" y="%row_offset_medium_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">
+ <highlight color="%highlight_color%" />
+ <placement x="%col_center_x%" y="%tz_set_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="%tz_current_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="screen">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_header_y%" placement="5" />
+ <text>Screen Settings</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>Screen Timeout: %tw_screen_timeout_secs% seconds</text>
+ </object>
+
+ <object type="button">
+ <placement x="%col1_medium_x%" y="%row2_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>None</text>
+ <image resource="medium_button" />
+ <action function="set">tw_screen_timeout_secs=0</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col2_medium_x%" y="%row2_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>60</text>
+ <image resource="medium_button" />
+ <action function="set">tw_screen_timeout_secs=60</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col3_medium_x%" y="%row2_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>120</text>
+ <image resource="medium_button" />
+ <action function="set">tw_screen_timeout_secs=120</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col4_medium_x%" y="%row2_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>180</text>
+ <image resource="medium_button" />
+ <action function="set">tw_screen_timeout_secs=180</action>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_brightnesss_file" var2="1" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row12_text_y%" placement="5" />
+ <text>Brightness: %tw_brightness_display%</text>
+ </object>
+
+ <object type="button">
+ <condition var1="tw_has_brightnesss_file" var2="1" />
+ <placement x="%col1_medium_x%" y="%row4_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>25%</text>
+ <image resource="medium_button" />
+ <actions>
+ <action function="cmd">echo %tw_brightness_25% > "%tw_brightness_file%"</action>
+ <action function="set">tw_brightness_display=25%</action>
+ <action function="set">tw_brightness=%tw_brightness_25%</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <condition var1="tw_has_brightnesss_file" var2="1" />
+ <placement x="%col2_medium_x%" y="%row4_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>50%</text>
+ <image resource="medium_button" />
+ <actions>
+ <action function="cmd">echo %tw_brightness_50% > "%tw_brightness_file%"</action>
+ <action function="set">tw_brightness_display=50%</action>
+ <action function="set">tw_brightness=%tw_brightness_50%</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <condition var1="tw_has_brightnesss_file" var2="1" />
+ <placement x="%col3_medium_x%" y="%row4_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>75%</text>
+ <image resource="medium_button" />
+ <actions>
+ <action function="cmd">echo %tw_brightness_75% > "%tw_brightness_file%"</action>
+ <action function="set">tw_brightness_display=75%</action>
+ <action function="set">tw_brightness=%tw_brightness_75%</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <condition var1="tw_has_brightnesss_file" var2="1" />
+ <placement x="%col4_medium_x%" y="%row4_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>100%</text>
+ <image resource="medium_button" />
+ <actions>
+ <action function="cmd">echo %tw_brightness_100% > "%tw_brightness_file%"</action>
+ <action function="set">tw_brightness_display=100%</action>
+ <action function="set">tw_brightness=%tw_brightness_100%</action>
+ </actions>
+ </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_header_y%" placement="5" />
+ <text>Advanced</text>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <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">
+ <highlight color="%highlight_color%" />
+ <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">
+ <highlight color="%highlight_color%" />
+ <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">
+ <highlight color="%highlight_color%" />
+ <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">
+ <highlight color="%highlight_color%" />
+ <placement x="%col1_x%" y="%row3_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">
+ <highlight color="%highlight_color%" />
+ <placement x="%col2_x%" y="%row3_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Reload Theme</text>
+ <image resource="main_button" />
+ <action function="reload"></action>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <placement x="%col1_x%" y="%row4_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>ADB Sideload</text>
+ <image resource="main_button" />
+ <action function="page">sideload</action>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <condition var1="tw_show_dumlock" var2="1" />
+ <placement x="%col2_x%" y="%row4_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>HTC Dumlock</text>
+ <image resource="main_button" />
+ <action function="page">htcdumlock</action>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <condition var1="tw_has_injecttwrp" var2="1" />
+ <placement x="%col2_x%" y="%row4_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Re-Inject TWRP</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_back=advanced</action>
+ <action function="set">tw_action=reinjecttwrp</action>
+ <action function="set">tw_text1=Re-Inject TWRP?</action>
+ <action function="set">tw_action_text1=Re-Injecting TWRP...</action>
+ <action function="set">tw_complete_text1=TWRP Injection 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">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_header_y%" placement="5" />
+ <text>Partition SD Card</text>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <placement x="%col1_x%" y="%row1_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">
+ <highlight color="%highlight_color%" />
+ <placement x="%sd_plus_x%" y="%row1_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="%sdext_text_x%" y="%sdext_text_y%" />
+ <text>EXT Size: %tw_sdext_size%</text>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <placement x="%col1_x%" y="%sdswap_button_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">
+ <highlight color="%highlight_color%" />
+ <placement x="%sd_plus_x%" y="%sdswap_button_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="%sdswap_text_x%" y="%sdswap_text_y%" />
+ <text>Swap Size: %tw_swap_size%</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%col1_x%" y="%sdfilesystem_text_y%" />
+ <text>File system: %tw_sdpart_file_system%</text>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <placement x="%col1_x%" y="%sdfilesystem_button_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>EXT3</text>
+ <image resource="main_button" />
+ <action function="set">tw_sdpart_file_system=ext3</action>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <condition var1="tw_sdext_disable_ext4" var2="0" />
+ <placement x="%col2_x%" y="%sdfilesystem_button_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>EXT4</text>
+ <image resource="main_button" />
+ <action function="set">tw_sdpart_file_system=ext4</action>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%col1_x%" y="%row12_text_y%" />
+ <text>You will lose all files on your SD card!</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%col1_x%" y="%row13_text_y%" />
+ <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" />
+ <action function="page">partsdcardaction</action>
+ <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 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_header_y%" placement="5" />
+ <text>HTC Dumlock</text>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <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">
+ <highlight color="%highlight_color%" />
+ <condition var1="tw_show_dumlock" var2="1" />
+ <placement x="%col2_x%" y="%row1_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Reflash Recovery</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">
+ <highlight color="%highlight_color%" />
+ <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_header_y%" placement="5" />
+ <text>File Manager: Select a File or Folder</text>
+ </object>
+
+ <object type="fileselector">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%fileselector_x%" y="%row1_y%" w="%fileselector_width%" h="%fileselector_install_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <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="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <folders="1" 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">
+ <highlight color="%highlight_color%" />
+ <placement x="%filemanager_select_x%" y="%filemanager_select_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Select</text>
+ <image resource="medium_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">
+ <highlight color="%highlight_color%" />
+ <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">
+ <highlight color="%highlight_color%" />
+ <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">
+ <highlight color="%highlight_color%" />
+ <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">
+ <highlight color="%highlight_color%" />
+ <placement x="%col1_x%" y="%row3_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">
+ <highlight color="%highlight_color%" />
+ <placement x="%col2_x%" y="%row3_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">
+ <highlight color="%highlight_color%" />
+ <placement x="%col1_x%" y="%row4_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">
+ <highlight color="%highlight_color%" />
+ <condition var1="tw_fm_isfolder" var2="0" />
+ <placement x="%col2_x%" y="%row4_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">
+ <highlight color="%highlight_color%" />
+ <condition var1="tw_fm_isfolder" var2="1" />
+ <placement x="%col2_x%" y="%row4_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_header_y%" placement="5"/>
+ <text>Browse to Destination Folder & Press Select</text>
+ </object>
+
+ <object type="fileselector">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%fileselector_x%" y="%row1_y%" w="%fileselector_width%" h="%fileselector_install_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>%tw_file_location2%</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%" highlightcolor="%fileselector_highlight_font_color%" />
+ <filter folders="1" files="0" />
+ <path name="tw_file_location2" default="/" />
+ <data name="tw_filename2" />
+ <selection name="tw_selection2" />
+ </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">
+ <highlight color="%highlight_color%" />
+ <placement x="%filemanager_select_x%" y="%filemanager_select_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Select</text>
+ <image resource="medium_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_header_y%" placement="5" />
+ <font resource="font" />
+ <text>Please Enter a New %tw_fm_type% Name</text>
+ </object>
+
+ <object type="input">
+ <placement x="%col1_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">
+ <highlight color="%highlight_color%" />
+ <placement x="%col_center_x%" y="%row2_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_header_y%" placement="5" />
+ <font resource="font" />
+ <text>Please Enter a New %tw_fm_type% Name</text>
+ </object>
+
+ <object type="input">
+ <placement x="%col1_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">
+ <highlight color="%highlight_color%" />
+ <placement x="%col_center_x%" y="%row2_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_header_y%" placement="5" />
+ <font resource="font" />
+ <text>Please Enter New Permissions</text>
+ </object>
+
+ <object type="input">
+ <placement x="%col1_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">
+ <highlight color="%highlight_color%" />
+ <placement x="%col_center_x%" y="%row2_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_header_y%" placement="5" />
+ <text>Please Enter Your Password</text>
+ </object>
+
+ <object type="input">
+ <placement x="%col1_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">
+ <highlight color="%highlight_color%" />
+ <placement x="%col_center_x%" y="%row2_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Cancel</text>
+ <image resource="main_button" />
+ <actions>
+ <action function="set">tw_page_done=1</action>
+ <action function="page">main</action>
+ </actions>
+ </object>
+
+ <object type="template" name="keyboardtemplate" />
+
+ <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>
+ <actions>
+ <action function="set">tw_page_done=1</action>
+ <action function="page">main</action>
+ </actions>
+ </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_header_y%" placement="5"/>
+ <text>Browse to Starting Folder</text>
+ </object>
+
+ <object type="fileselector">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%fileselector_x%" y="%row1_y%" w="%fileselector_width%" h="%fileselector_install_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <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%" highlightcolor="%fileselector_highlight_font_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">
+ <highlight color="%highlight_color%" />
+ <placement x="%filemanager_select_x%" y="%filemanager_select_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Select</text>
+ <image resource="medium_button" />
+ <actions>
+ <action function="page">terminalcommand</action>
+ </actions>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="terminalcommand">
+ <object type="template" name="header" />
+
+ <object type="console">
+ <placement x="%console_x%" y="0" 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="%col1_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="%col1_x%" y="%terminal_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_terminal_command%</text>
+ <data name="tw_terminal_command" />
+ <restrict minlen="1" />
+ <action function="terminalcommand">%tw_terminal_command%</action>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <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="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>
+
+ <page name="sideload">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_header_y%" placement="5"/>
+ <text>ADB Sideload</text>
+ </object>
+
+ <object type="checkbox">
+ <placement x="%col1_x%" y="%row2_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Wipe Dalvik Cache.</text>
+ <data variable="tw_wipe_dalvik" />
+ <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>Wipe Cache.</text>
+ <data variable="tw_wipe_cache" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </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=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_show_reboot=1</action>
+ <action function="set">tw_cancel_action=adbsideloadcancel</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 Start Sideload</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="installsu">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_header_y%" placement="5"/>
+ <text>Install SuperSU?</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5"/>
+ <text>Your device does not appear to be rooted.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5"/>
+ <text>Install SuperSU now?</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row4_text_y%" placement="5"/>
+ <text>This will root your device.</text>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <placement x="%col_center_x%" y="%row3_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Do Not Install</text>
+ <image resource="main_button" />
+ <action function="set">tw_page_done=1</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_action=installsu</action>
+ <action function="set">tw_action_text1=Installing SuperSU</action>
+ <action function="set">tw_action_text2=</action>
+ <action function="page">singleaction_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 Install</text>
+ </object>
+ </page>
+
+ <page name="fixsu">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_header_y%" placement="5"/>
+ <text>Fix Superuser Permissions?</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5"/>
+ <text>Root permissions appear to be lost.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5"/>
+ <text>Fix root permissions now?</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row4_text_y%" placement="5"/>
+ <text>(Fixes permissions on su binary & app)</text>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <placement x="%col_center_x%" y="%row3_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Do Not Fix</text>
+ <image resource="main_button" />
+ <action function="set">tw_page_done=1</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_action=fixsu</action>
+ <action function="set">tw_action_text1=Fixing Root Permissions</action>
+ <action function="set">tw_action_text2=</action>
+ <action function="page">singleaction_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 Fix Root</text>
+ </object>
+ </page>
+ </pages>
+</recovery>
diff --git a/gui/devices/1280x800/res/images/exclamation200.png b/gui/devices/1280x800/res/images/exclamation200.png
deleted file mode 100644
index 96258a1..0000000
--- a/gui/devices/1280x800/res/images/exclamation200.png
+++ /dev/null
Binary files differ
diff --git a/gui/devices/1280x800/res/ui.xml b/gui/devices/1280x800/res/ui.xml
index ef0b432..5ba4700 100644
--- a/gui/devices/1280x800/res/ui.xml
+++ b/gui/devices/1280x800/res/ui.xml
@@ -41,7 +41,6 @@
<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="exclamation200" />
</resources>
<variables>
@@ -141,7 +140,7 @@
<variable name="fileselector_folderonly_width" value="588" />
<variable name="fileselector_file_x" value="445" />
<variable name="fileselector_file_width" value="810" />
- <variable name="fileselector_install_y" value="120" />
+ <variable name="fileselector_install_y" value="130" />
<variable name="fileselector_install_height" value="510" />
<variable name="fileselector_header_background" value="#202020" />
<variable name="fileselector_header_textcolor" value="#AAAAAA" />
@@ -180,8 +179,24 @@
<variable name="terminal_text_y" value="368" />
<variable name="terminal_button_y" value="358" />
<variable name="terminal_input_width" value="1031" />
- <variable name="exclamation_x" value="540" />
- <variable name="exclamation_y" value="200" />
+ <variable name="button_fill_color" value="#303030" />
+ <variable name="button_fill_full_width" value="640" />
+ <variable name="button_fill_main_width" value="609" />
+ <variable name="button_fill_main_height" value="160" />
+ <variable name="button_fill_half_height" value="80" />
+ <variable name="button_fill_quarter_height" value="40" />
+ <variable name="button_full_center_x" value="320" />
+ <variable name="backup_list_x" value="28" />
+ <variable name="backup_list_y" value="105" />
+ <variable name="backup_list_width" value="609" />
+ <variable name="backup_list_height" value="440" />
+ <variable name="backup_storage_y" value="270" />
+ <variable name="restore_list_y" value="140" />
+ <variable name="restore_list_height" value="400" />
+ <variable name="mount_list_height" value="600" />
+ <variable name="mount_storage_row" value="550" />
+ <variable name="wipe_list_height" value="420" />
+ <variable name="wipe_button_y" value="250" />
</variables>
<templates>
@@ -507,51 +522,15 @@
</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>
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%button_full_center_x%" y="%zipstorage_text_y%" w="%button_fill_full_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=install</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="fileselector">
@@ -856,15 +835,6 @@
<page name="confirm_action">
<object type="template" name="header" />
- <object type="button">
- <highlight color="%highlight_color%" />
- <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" />
@@ -1263,6 +1233,38 @@
<object type="template" name="footer" />
</page>
+ <page name="selectstorage">
+ <object type="template" name="header" />
+
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <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%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Storage:</text>
+ <icon selected="radio_true" unselected="radio_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="font" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_storage_path" />
+ <listtype name="storage" />
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <actions>
+ <action function="page">%tw_back%</action>
+ </actions>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
<page name="mount">
<object type="template" name="header" />
@@ -1272,9 +1274,35 @@
<text>Mount Menu</text>
</object>
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%backup_list_x%" y="%backup_list_y%" w="%backup_list_width%" h="%mount_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Mount:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="font" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <listtype name="mount" />
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <conditions>
+ <condition var1="tw_is_encrypted" var2="1" />
+ <condition var1="tw_is_decrypted" var2="0" />
+ </conditions>
+ <placement x="%col3_x%" y="row1_y" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Decrypt Data</text>
+ <image resource="main_button" />
+ <action function="page">decrypt</action>
+ </object>
+
<object type="button">
<condition var1="tw_has_usb_storage" var2="1" />
- <placement x="%col1_x%" y="%row1_y%" />
+ <placement x="%col4_x%" y="%row1_y%" />
<font resource="font" color="%button_text_color%" />
<text>Mount USB Storage</text>
<image resource="main_button" />
@@ -1282,201 +1310,15 @@
</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">
<highlight color="%highlight_color%" />
- <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>
+ <fill color="%button_fill_color%" />
+ <placement x="%col3_x%" y="%backup_storage_y%" w="%button_fill_main_width%" h="%button_fill_half_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=mount</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="action">
@@ -1541,191 +1383,83 @@
<object type="text" color="%text_color%">
<font resource="font" />
<placement x="%center_x%" y="%row1_text_y%" placement="5" />
- <text>Wipe Menu</text>
+ <text>Factory Reset: Wipes Data, Cache, and Dalvik</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_data_media" var2="0" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>.android_secure</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_data_media" var2="1" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>(not including internal storage)</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_sdext_partition" var2="1" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>SD-EXT</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row4_text_y%" placement="5" />
+ <text>Most of the time this is the only wipe that you need.</text>
</object>
<object type="button">
<highlight color="%highlight_color%" />
- <placement x="%col1_x%" y="%row1_y%" />
+ <placement x="%col2_x%" y="%wipe_button_y%" />
<font resource="font" color="%button_text_color%" />
- <text>Cache</text>
+ <text>Advanced Wipe</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>
+ <action function="page">advancedwipe</action>
</object>
<object type="button">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
<conditions>
<condition var1="tw_has_internal" var2="1" />
<condition var1="tw_has_data_media" var2="1" />
</conditions>
- <placement x="%col3_x%" y="%row2_y%" />
+ <highlight color="%highlight_color%" />
+ <placement x="%col3_x%" y="%wipe_button_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>
+ <action function="page">formatdata</action>
</actions>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <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" />
+ <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" />
<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>
+ <action function="set">tw_action_param=data</action>
+ <action function="set">tw_action_text1=Factory Reset...</action>
+ <action function="set">tw_complete_text1=Factory Reset Complete</action>
+ <action function="page">action_page</action>
</actions>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <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 type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%slider_text_y%" placement="4" />
+ <text>Swipe to Factory Reset</text>
</object>
<object type="action">
@@ -1741,6 +1475,128 @@
<object type="template" name="footer" />
</page>
+ <page name="advancedwipe">
+ <object type="template" name="header" />
+
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row2_text_y%" w="%listbox_width%" h="%wipe_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Wipe:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="font" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_wipe_list" />
+ <listtype name="wipe" />
+ </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=advancedwipe</action>
+ <action function="set">tw_action=wipe</action>
+ <action function="set">tw_action_param=LIST</action>
+ <action function="set">tw_text1=Wipe Selected Partition(s)?</action>
+ <action function="set">tw_action_text1=Wiping Partition(s)...</action>
+ <action function="set">tw_complete_text1=Wipe 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 Wipe</text>
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <action function="page">wipe</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="formatdata">
+ <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>Format Data will wipe all of your apps, backups, pictures,</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>videos, media, and removes encryption on internal storage.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>This cannot be undone. Press back to cancel.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row4_text_y%" placement="5" />
+ <text>Type yes to continue.</text>
+ </object>
+
+ <object type="input">
+ <placement x="%input_x%" y="%row6_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_confirm_formatdata%</text>
+ <data name="tw_confirm_formatdata" />
+ <restrict minlen="3" maxlen="3" allow="yes" />
+ <action function="page">formatdata_confirm</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">wipe</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="formatdata_confirm">
+ <object type="action">
+ <condition var1="tw_confirm_formatdata" op="=" var2="yes" />
+ <actions>
+ <action function="set">tw_back=formatdata</action>
+ <action function="set">tw_action=wipe</action>
+ <action function="set">tw_action_param=DATAMEDIA</action>
+ <action function="set">tw_action_text1=Formatting Data...</action>
+ <action function="set">tw_complete_text1=Data Format Complete</action>
+ <action function="page">action_page</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <condition var1="tw_confirm_formatdata" op="!=" var2="yes" />
+ <action function="page">formatdata</function>
+ </object>
+ </page>
+
<page name="backup">
<object type="template" name="header" />
@@ -1750,10 +1606,18 @@
<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 type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%backup_list_x%" y="%backup_list_y%" w="%backup_list_width%" h="%backup_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Back Up:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="font" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_backup_list" />
+ <listtype name="backup" />
</object>
<object type="text" color="%text_color%">
@@ -1762,95 +1626,41 @@
<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 type="button">
+ <highlight color="%highlight_color%" />
+ <placement x="%col3_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">
+ <highlight color="%highlight_color%" />
+ <placement x="%col4_x%" y="%row1_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="button">
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col3_x%" y="%backup_storage_y%" w="%button_fill_main_width%" h="%button_fill_half_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=backup</action>
+ <action function="page">selectstorage</action>
+ </actions>
</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%" />
+ <placement x="%col3_x%" y="%nandcheck_row6%" />
<font resource="font" color="%text_color%" />
<text>Enable Compression (Requires more time)</text>
<data variable="tw_use_compression" />
@@ -1858,61 +1668,13 @@
</object>
<object type="checkbox">
- <placement x="%col3_x%" y="%nandcheck_row6%" />
+ <placement x="%col3_x%" y="%nandcheck_row7%" />
<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" />
@@ -1928,27 +1690,6 @@
<text>Swipe to Back Up</text>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <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>
@@ -2072,51 +1813,15 @@
<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>
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col2_x%" y="%zipstorage_text_y%" w="%fileselector_folderonly_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=restore</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="fileselector">
@@ -2146,19 +1851,6 @@
</actions>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <conditions>
- <condition var1="tw_is_encrypted" var2="1" />
- <condition var1="tw_is_decrypted" var2="0" />
- </conditions>
- <placement x="%col2_x%" y="row3_y" />
- <font resource="font" color="%button_text_color%" />
- <text>Decrypt Data</text>
- <image resource="main_button" />
- <action function="page">decrypt</action>
- </object>
-
<object type="action">
<touch key="home" />
<action function="page">main</action>
@@ -2187,89 +1879,22 @@
<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 type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%backup_list_x%" y="%restore_list_y%" w="%backup_list_width%" h="%restore_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Restore:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="font" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_restore_list" selectedlist="tw_restore_selected" />
+ <listtype name="restore" />
</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%" />
+ <placement x="%col3_x%" y="%nandcheck_row6%" />
<font resource="font" color="%text_color%" />
<text>Enable MD5 checking of backup files</text>
<data variable="tw_skip_md5_check" />
@@ -2291,7 +1916,7 @@
<object type="button">
<highlight color="%highlight_color%" />
- <placement x="%col4_x%" y="%backup_name_button_y%" />
+ <placement x="%col3_x%" y="%row1_y%" />
<font resource="font" color="%button_text_color%" />
<text>Delete Backup</text>
<image resource="main_button" />
diff --git a/gui/devices/1920x1200/res/images/exclamation400.png b/gui/devices/1920x1200/res/images/exclamation400.png
deleted file mode 100644
index f3a8aab..0000000
--- a/gui/devices/1920x1200/res/images/exclamation400.png
+++ /dev/null
Binary files differ
diff --git a/gui/devices/1920x1200/res/ui.xml b/gui/devices/1920x1200/res/ui.xml
index af438d7..935080a 100644
--- a/gui/devices/1920x1200/res/ui.xml
+++ b/gui/devices/1920x1200/res/ui.xml
@@ -41,7 +41,6 @@
<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>
@@ -141,7 +140,7 @@
<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_y" value="205" />
<variable name="fileselector_install_height" value="800" />
<variable name="fileselector_header_background" value="#202020" />
<variable name="fileselector_header_textcolor" value="#AAAAAA" />
@@ -180,8 +179,24 @@
<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" />
+ <variable name="button_fill_color" value="#303030" />
+ <variable name="button_fill_full_width" value="960" />
+ <variable name="button_fill_main_width" value="900" />
+ <variable name="button_fill_main_height" value="240" />
+ <variable name="button_fill_half_height" value="120" />
+ <variable name="button_fill_quarter_height" value="60" />
+ <variable name="button_full_center_x" value="480" />
+ <variable name="backup_list_x" value="50" />
+ <variable name="backup_list_y" value="160" />
+ <variable name="backup_list_width" value="900" />
+ <variable name="backup_list_height" value="660" />
+ <variable name="backup_storage_y" value="405" />
+ <variable name="restore_list_y" value="190" />
+ <variable name="restore_list_height" value="600" />
+ <variable name="mount_list_height" value="900" />
+ <variable name="mount_storage_row" value="850" />
+ <variable name="wipe_list_height" value="850" />
+ <variable name="wipe_button_y" value="375" />
</variables>
<templates>
@@ -507,51 +522,15 @@
</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>
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%button_full_center_x%" y="%zipstorage_text_y%" w="%button_fill_full_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=install</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="fileselector">
@@ -856,15 +835,6 @@
<page name="confirm_action">
<object type="template" name="header" />
- <object type="button">
- <highlight color="%highlight_color%" />
- <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" />
@@ -1263,6 +1233,38 @@
<object type="template" name="footer" />
</page>
+ <page name="selectstorage">
+ <object type="template" name="header" />
+
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <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%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Storage:</text>
+ <icon selected="radio_true" unselected="radio_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="font" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_storage_path" />
+ <listtype name="storage" />
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <actions>
+ <action function="page">%tw_back%</action>
+ </actions>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
<page name="mount">
<object type="template" name="header" />
@@ -1272,9 +1274,35 @@
<text>Mount Menu</text>
</object>
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%backup_list_x%" y="%backup_list_y%" w="%backup_list_width%" h="%mount_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Mount:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="font" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <listtype name="mount" />
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <conditions>
+ <condition var1="tw_is_encrypted" var2="1" />
+ <condition var1="tw_is_decrypted" var2="0" />
+ </conditions>
+ <placement x="%col3_x%" y="row1_y" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Decrypt Data</text>
+ <image resource="main_button" />
+ <action function="page">decrypt</action>
+ </object>
+
<object type="button">
<condition var1="tw_has_usb_storage" var2="1" />
- <placement x="%col1_x%" y="%row1_y%" />
+ <placement x="%col4_x%" y="%row1_y%" />
<font resource="font" color="%button_text_color%" />
<text>Mount USB Storage</text>
<image resource="main_button" />
@@ -1282,201 +1310,15 @@
</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">
<highlight color="%highlight_color%" />
- <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>
+ <fill color="%button_fill_color%" />
+ <placement x="%col3_x%" y="%backup_storage_y%" w="%button_fill_main_width%" h="%button_fill_half_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=mount</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="action">
@@ -1541,191 +1383,83 @@
<object type="text" color="%text_color%">
<font resource="font" />
<placement x="%center_x%" y="%row1_text_y%" placement="5" />
- <text>Wipe Menu</text>
+ <text>Factory Reset: Wipes Data, Cache, and Dalvik</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_data_media" var2="0" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>.android_secure</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_data_media" var2="1" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>(not including internal storage)</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_sdext_partition" var2="1" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>SD-EXT</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row4_text_y%" placement="5" />
+ <text>Most of the time this is the only wipe that you need.</text>
</object>
<object type="button">
<highlight color="%highlight_color%" />
- <placement x="%col1_x%" y="%row1_y%" />
+ <placement x="%col2_x%" y="%wipe_button_y%" />
<font resource="font" color="%button_text_color%" />
- <text>Cache</text>
+ <text>Advanced Wipe</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>
+ <action function="page">advancedwipe</action>
</object>
<object type="button">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
<conditions>
<condition var1="tw_has_internal" var2="1" />
<condition var1="tw_has_data_media" var2="1" />
</conditions>
- <placement x="%col3_x%" y="%row2_y%" />
+ <highlight color="%highlight_color%" />
+ <placement x="%col3_x%" y="%wipe_button_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>
+ <action function="page">formatdata</action>
</actions>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <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" />
+ <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" />
<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>
+ <action function="set">tw_action_param=data</action>
+ <action function="set">tw_action_text1=Factory Reset...</action>
+ <action function="set">tw_complete_text1=Factory Reset Complete</action>
+ <action function="page">action_page</action>
</actions>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <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 type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%slider_text_y%" placement="4" />
+ <text>Swipe to Factory Reset</text>
</object>
<object type="action">
@@ -1741,6 +1475,128 @@
<object type="template" name="footer" />
</page>
+ <page name="advancedwipe">
+ <object type="template" name="header" />
+
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row2_text_y%" w="%listbox_width%" h="%wipe_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Wipe:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="font" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_wipe_list" />
+ <listtype name="wipe" />
+ </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=advancedwipe</action>
+ <action function="set">tw_action=wipe</action>
+ <action function="set">tw_action_param=LIST</action>
+ <action function="set">tw_text1=Wipe Selected Partition(s)?</action>
+ <action function="set">tw_action_text1=Wiping Partition(s)...</action>
+ <action function="set">tw_complete_text1=Wipe 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 Wipe</text>
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <action function="page">wipe</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="formatdata">
+ <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>Format Data will wipe all of your apps, backups, pictures,</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>videos, media, and removes encryption on internal storage.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>This cannot be undone. Press back to cancel.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row4_text_y%" placement="5" />
+ <text>Type yes to continue.</text>
+ </object>
+
+ <object type="input">
+ <placement x="%input_x%" y="%row6_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_confirm_formatdata%</text>
+ <data name="tw_confirm_formatdata" />
+ <restrict minlen="3" maxlen="3" allow="yes" />
+ <action function="page">formatdata_confirm</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">wipe</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="formatdata_confirm">
+ <object type="action">
+ <condition var1="tw_confirm_formatdata" op="=" var2="yes" />
+ <actions>
+ <action function="set">tw_back=formatdata</action>
+ <action function="set">tw_action=wipe</action>
+ <action function="set">tw_action_param=DATAMEDIA</action>
+ <action function="set">tw_action_text1=Formatting Data...</action>
+ <action function="set">tw_complete_text1=Data Format Complete</action>
+ <action function="page">action_page</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <condition var1="tw_confirm_formatdata" op="!=" var2="yes" />
+ <action function="page">formatdata</function>
+ </object>
+ </page>
+
<page name="backup">
<object type="template" name="header" />
@@ -1750,10 +1606,18 @@
<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 type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%backup_list_x%" y="%backup_list_y%" w="%backup_list_width%" h="%backup_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Back Up:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="font" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_backup_list" />
+ <listtype name="backup" />
</object>
<object type="text" color="%text_color%">
@@ -1762,95 +1626,41 @@
<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 type="button">
+ <highlight color="%highlight_color%" />
+ <placement x="%col3_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">
+ <highlight color="%highlight_color%" />
+ <placement x="%col4_x%" y="%row1_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="button">
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col3_x%" y="%backup_storage_y%" w="%button_fill_main_width%" h="%button_fill_half_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=backup</action>
+ <action function="page">selectstorage</action>
+ </actions>
</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%" />
+ <placement x="%col3_x%" y="%nandcheck_row6%" />
<font resource="font" color="%text_color%" />
<text>Enable Compression (Requires more time)</text>
<data variable="tw_use_compression" />
@@ -1858,61 +1668,13 @@
</object>
<object type="checkbox">
- <placement x="%col3_x%" y="%nandcheck_row6%" />
+ <placement x="%col3_x%" y="%nandcheck_row7%" />
<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" />
@@ -1928,27 +1690,6 @@
<text>Swipe to Back Up</text>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <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>
@@ -2072,51 +1813,15 @@
<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>
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col2_x%" y="%zipstorage_text_y%" w="%fileselector_folderonly_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=restore</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="fileselector">
@@ -2146,19 +1851,6 @@
</actions>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <conditions>
- <condition var1="tw_is_encrypted" var2="1" />
- <condition var1="tw_is_decrypted" var2="0" />
- </conditions>
- <placement x="%col2_x%" y="row3_y" />
- <font resource="font" color="%button_text_color%" />
- <text>Decrypt Data</text>
- <image resource="main_button" />
- <action function="page">decrypt</action>
- </object>
-
<object type="action">
<touch key="home" />
<action function="page">main</action>
@@ -2187,89 +1879,22 @@
<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 type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%backup_list_x%" y="%restore_list_y%" w="%backup_list_width%" h="%restore_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Restore:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="font" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_restore_list" selectedlist="tw_restore_selected" />
+ <listtype name="restore" />
</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%" />
+ <placement x="%col3_x%" y="%nandcheck_row6%" />
<font resource="font" color="%text_color%" />
<text>Enable MD5 checking of backup files</text>
<data variable="tw_skip_md5_check" />
@@ -2291,7 +1916,7 @@
<object type="button">
<highlight color="%highlight_color%" />
- <placement x="%col4_x%" y="%backup_name_button_y%" />
+ <placement x="%col3_x%" y="%row1_y%" />
<font resource="font" color="%button_text_color%" />
<text>Delete Backup</text>
<image resource="main_button" />
diff --git a/gui/devices/2560x1600/res/images/exclamation400.png b/gui/devices/2560x1600/res/images/exclamation400.png
deleted file mode 100644
index 4081932..0000000
--- a/gui/devices/2560x1600/res/images/exclamation400.png
+++ /dev/null
Binary files differ
diff --git a/gui/devices/2560x1600/res/ui.xml b/gui/devices/2560x1600/res/ui.xml
index 96170b5..7c46a99 100644
--- a/gui/devices/2560x1600/res/ui.xml
+++ b/gui/devices/2560x1600/res/ui.xml
@@ -41,7 +41,6 @@
<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>
@@ -141,7 +140,7 @@
<variable name="fileselector_folderonly_width" value="1200" />
<variable name="fileselector_file_x" value="1000" />
<variable name="fileselector_file_width" value="1500" />
- <variable name="fileselector_install_y" value="260" />
+ <variable name="fileselector_install_y" value="290" />
<variable name="fileselector_install_height" value="1100" />
<variable name="fileselector_header_background" value="#202020" />
<variable name="fileselector_header_textcolor" value="#AAAAAA" />
@@ -180,8 +179,24 @@
<variable name="terminal_text_y" value="837" />
<variable name="terminal_button_y" value="815" />
<variable name="terminal_input_width" value="2100" />
- <variable name="exclamation_x" value="1014" />
- <variable name="exclamation_y" value="320" />
+ <variable name="button_fill_color" value="#303030" />
+ <variable name="button_fill_full_width" value="1280" />
+ <variable name="button_fill_main_width" value="1200" />
+ <variable name="button_fill_main_height" value="320" />
+ <variable name="button_fill_half_height" value="160" />
+ <variable name="button_fill_quarter_height" value="80" />
+ <variable name="button_full_center_x" value="640" />
+ <variable name="backup_list_x" value="50" />
+ <variable name="backup_list_y" value="210" />
+ <variable name="backup_list_width" value="1200" />
+ <variable name="backup_list_height" value="880" />
+ <variable name="backup_storage_y" value="540" />
+ <variable name="restore_list_y" value="280" />
+ <variable name="restore_list_height" value="800" />
+ <variable name="mount_list_height" value="1200" />
+ <variable name="mount_storage_row" value="1100" />
+ <variable name="wipe_list_height" value="1100" />
+ <variable name="wipe_button_y" value="500" />
</variables>
<templates>
@@ -507,51 +522,15 @@
</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>
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%button_full_center_x%" y="%zipstorage_text_y%" w="%button_fill_full_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=install</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="fileselector">
@@ -856,15 +835,6 @@
<page name="confirm_action">
<object type="template" name="header" />
- <object type="button">
- <highlight color="%highlight_color%" />
- <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" />
@@ -1263,6 +1233,38 @@
<object type="template" name="footer" />
</page>
+ <page name="selectstorage">
+ <object type="template" name="header" />
+
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <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%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Storage:</text>
+ <icon selected="radio_true" unselected="radio_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="font" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_storage_path" />
+ <listtype name="storage" />
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <actions>
+ <action function="page">%tw_back%</action>
+ </actions>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
<page name="mount">
<object type="template" name="header" />
@@ -1272,9 +1274,35 @@
<text>Mount Menu</text>
</object>
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%backup_list_x%" y="%backup_list_y%" w="%backup_list_width%" h="%mount_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Mount:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="font" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <listtype name="mount" />
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <conditions>
+ <condition var1="tw_is_encrypted" var2="1" />
+ <condition var1="tw_is_decrypted" var2="0" />
+ </conditions>
+ <placement x="%col3_x%" y="row1_y" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Decrypt Data</text>
+ <image resource="main_button" />
+ <action function="page">decrypt</action>
+ </object>
+
<object type="button">
<condition var1="tw_has_usb_storage" var2="1" />
- <placement x="%col1_x%" y="%row1_y%" />
+ <placement x="%col4_x%" y="%row1_y%" />
<font resource="font" color="%button_text_color%" />
<text>Mount USB Storage</text>
<image resource="main_button" />
@@ -1282,201 +1310,15 @@
</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">
<highlight color="%highlight_color%" />
- <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>
+ <fill color="%button_fill_color%" />
+ <placement x="%col3_x%" y="%backup_storage_y%" w="%button_fill_main_width%" h="%button_fill_half_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=mount</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="action">
@@ -1541,191 +1383,83 @@
<object type="text" color="%text_color%">
<font resource="font" />
<placement x="%center_x%" y="%row1_text_y%" placement="5" />
- <text>Wipe Menu</text>
+ <text>Factory Reset: Wipes Data, Cache, and Dalvik</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_data_media" var2="0" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>.android_secure</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_data_media" var2="1" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>(not including internal storage)</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_sdext_partition" var2="1" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>SD-EXT</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row4_text_y%" placement="5" />
+ <text>Most of the time this is the only wipe that you need.</text>
</object>
<object type="button">
<highlight color="%highlight_color%" />
- <placement x="%col1_x%" y="%row1_y%" />
+ <placement x="%col2_x%" y="%wipe_button_y%" />
<font resource="font" color="%button_text_color%" />
- <text>Cache</text>
+ <text>Advanced Wipe</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>
+ <action function="page">advancedwipe</action>
</object>
<object type="button">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
<conditions>
<condition var1="tw_has_internal" var2="1" />
<condition var1="tw_has_data_media" var2="1" />
</conditions>
- <placement x="%col3_x%" y="%row2_y%" />
+ <highlight color="%highlight_color%" />
+ <placement x="%col3_x%" y="%wipe_button_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>
+ <action function="page">formatdata</action>
</actions>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <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" />
+ <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" />
<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>
+ <action function="set">tw_action_param=data</action>
+ <action function="set">tw_action_text1=Factory Reset...</action>
+ <action function="set">tw_complete_text1=Factory Reset Complete</action>
+ <action function="page">action_page</action>
</actions>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <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 type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%slider_text_y%" placement="4" />
+ <text>Swipe to Factory Reset</text>
</object>
<object type="action">
@@ -1741,6 +1475,128 @@
<object type="template" name="footer" />
</page>
+ <page name="advancedwipe">
+ <object type="template" name="header" />
+
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row2_text_y%" w="%listbox_width%" h="%wipe_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Wipe:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="font" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_wipe_list" />
+ <listtype name="wipe" />
+ </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=advancedwipe</action>
+ <action function="set">tw_action=wipe</action>
+ <action function="set">tw_action_param=LIST</action>
+ <action function="set">tw_text1=Wipe Selected Partition(s)?</action>
+ <action function="set">tw_action_text1=Wiping Partition(s)...</action>
+ <action function="set">tw_complete_text1=Wipe 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 Wipe</text>
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <action function="page">wipe</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="formatdata">
+ <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>Format Data will wipe all of your apps, backups, pictures,</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>videos, media, and removes encryption on internal storage.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>This cannot be undone. Press back to cancel.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row4_text_y%" placement="5" />
+ <text>Type yes to continue.</text>
+ </object>
+
+ <object type="input">
+ <placement x="%input_x%" y="%row6_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_confirm_formatdata%</text>
+ <data name="tw_confirm_formatdata" />
+ <restrict minlen="3" maxlen="3" allow="yes" />
+ <action function="page">formatdata_confirm</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">wipe</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="formatdata_confirm">
+ <object type="action">
+ <condition var1="tw_confirm_formatdata" op="=" var2="yes" />
+ <actions>
+ <action function="set">tw_back=formatdata</action>
+ <action function="set">tw_action=wipe</action>
+ <action function="set">tw_action_param=DATAMEDIA</action>
+ <action function="set">tw_action_text1=Formatting Data...</action>
+ <action function="set">tw_complete_text1=Data Format Complete</action>
+ <action function="page">action_page</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <condition var1="tw_confirm_formatdata" op="!=" var2="yes" />
+ <action function="page">formatdata</function>
+ </object>
+ </page>
+
<page name="backup">
<object type="template" name="header" />
@@ -1750,10 +1606,18 @@
<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 type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%backup_list_x%" y="%backup_list_y%" w="%backup_list_width%" h="%backup_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Back Up:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="font" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_backup_list" />
+ <listtype name="backup" />
</object>
<object type="text" color="%text_color%">
@@ -1762,95 +1626,41 @@
<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 type="button">
+ <highlight color="%highlight_color%" />
+ <placement x="%col3_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">
+ <highlight color="%highlight_color%" />
+ <placement x="%col4_x%" y="%row1_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="button">
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col3_x%" y="%backup_storage_y%" w="%button_fill_main_width%" h="%button_fill_half_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=backup</action>
+ <action function="page">selectstorage</action>
+ </actions>
</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%" />
+ <placement x="%col3_x%" y="%nandcheck_row6%" />
<font resource="font" color="%text_color%" />
<text>Enable Compression (Requires more time)</text>
<data variable="tw_use_compression" />
@@ -1858,61 +1668,13 @@
</object>
<object type="checkbox">
- <placement x="%col3_x%" y="%nandcheck_row6%" />
+ <placement x="%col3_x%" y="%nandcheck_row7%" />
<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" />
@@ -1928,27 +1690,6 @@
<text>Swipe to Back Up</text>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <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>
@@ -2072,51 +1813,15 @@
<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>
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col2_x%" y="%zipstorage_text_y%" w="%fileselector_folderonly_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=restore</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="fileselector">
@@ -2146,19 +1851,6 @@
</actions>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <conditions>
- <condition var1="tw_is_encrypted" var2="1" />
- <condition var1="tw_is_decrypted" var2="0" />
- </conditions>
- <placement x="%col2_x%" y="row3_y" />
- <font resource="font" color="%button_text_color%" />
- <text>Decrypt Data</text>
- <image resource="main_button" />
- <action function="page">decrypt</action>
- </object>
-
<object type="action">
<touch key="home" />
<action function="page">main</action>
@@ -2187,89 +1879,22 @@
<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 type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%backup_list_x%" y="%restore_list_y%" w="%backup_list_width%" h="%restore_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Restore:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="font" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_restore_list" selectedlist="tw_restore_selected" />
+ <listtype name="restore" />
</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%" />
+ <placement x="%col3_x%" y="%nandcheck_row6%" />
<font resource="font" color="%text_color%" />
<text>Enable MD5 checking of backup files</text>
<data variable="tw_skip_md5_check" />
@@ -2291,7 +1916,7 @@
<object type="button">
<highlight color="%highlight_color%" />
- <placement x="%col4_x%" y="%backup_name_button_y%" />
+ <placement x="%col3_x%" y="%row1_y%" />
<font resource="font" color="%button_text_color%" />
<text>Delete Backup</text>
<image resource="main_button" />
diff --git a/gui/devices/320x480/res/images/exclamation150.png b/gui/devices/320x480/res/images/exclamation150.png
deleted file mode 100644
index 6e05987..0000000
--- a/gui/devices/320x480/res/images/exclamation150.png
+++ /dev/null
Binary files differ
diff --git a/gui/devices/320x480/res/ui.xml b/gui/devices/320x480/res/ui.xml
index 887505c..c85db3a 100644
--- a/gui/devices/320x480/res/ui.xml
+++ b/gui/devices/320x480/res/ui.xml
@@ -39,7 +39,6 @@
<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="exclamation150" />
</resources>
<variables>
@@ -124,7 +123,7 @@
<variable name="console_installdone_height" value="180" />
<variable name="fileselector_x" value="3" />
<variable name="fileselector_width" value="313" />
- <variable name="fileselector_install_height" value="306" />
+ <variable name="fileselector_install_height" value="284" />
<variable name="fileselector_header_background" value="#202020" />
<variable name="fileselector_header_textcolor" value="#AAAAAA" />
<variable name="fileselector_header_separatorcolor" value="#33B5E5" />
@@ -158,15 +157,26 @@
<variable name="lock_y" value="120" />
<variable name="filemanager_select_x" value="243" />
<variable name="filemanager_select_y" value="414" />
- <variable name="backup_name_y" value="218" />
<variable name="terminal_console_height" value="220" />
<variable name="terminal_text_y" value="225" />
<variable name="terminal_button_y" value="220" />
<variable name="row_dst_text_y" value="256" />
<variable name="row_offset_text_y" value="275" />
<variable name="row_offset_medium_y" value="303" />
- <variable name="exclamation_x" value="85" />
- <variable name="exclamation_y" value="165" />
+ <variable name="button_fill_color" value="#303030" />
+ <variable name="button_fill_full_width" value="304" />
+ <variable name="button_fill_main_width" value="150" />
+ <variable name="button_fill_main_height" value="81" />
+ <variable name="button_fill_half_height" value="40" />
+ <variable name="button_fill_quarter_height" value="24" />
+ <variable name="backup_list_height" value="212" />
+ <variable name="backup_button_row1" value="300" />
+ <variable name="backup_button_row2" value="326" />
+ <variable name="mount_list_height" value="270" />
+ <variable name="mount_storage_row" value="340" />
+ <variable name="storage_list_height" value="340" />
+ <variable name="wipe_list_height" value="330" />
+ <variable name="wipe_button_y" value="270" />
</variables>
<templates>
@@ -465,56 +475,20 @@
</object>
<object type="button">
- <placement x="%col1_x%" y="%row1_text_y%" />
- <font resource="mediumfont" color="%text_color%" />
- <conditions>
- <condition var1="tw_has_dual_storage" var2="1" />
- <condition var1="tw_use_external_storage" var2="1" />
- </conditions>
- <text>Use external SD</text>
- <image resource="radio_true" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row1_text_y%" />
- <font resource="mediumfont" color="%text_color%" />
- <conditions>
- <condition var1="tw_has_dual_storage" var2="1" />
- <condition var1="tw_use_external_storage" var2="0" />
- </conditions>
- <text>Use external SD</text>
- <image resource="radio_false" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row1_text_y%" />
- <font resource="mediumfont" color="%text_color%" />
- <conditions>
- <condition var1="tw_has_dual_storage" var2="1" />
- <condition var1="tw_use_external_storage" var2="1" />
- </conditions>
- <text>Use internal storage</text>
- <image resource="radio_false" />
- <action function="togglestorage">internal</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row1_text_y%" />
- <font resource="mediumfont" color="%text_color%" />
- <conditions>
- <condition var1="tw_has_dual_storage" var2="1" />
- <condition var1="tw_use_external_storage" var2="0" />
- </conditions>
- <text>Use internal storage</text>
- <image resource="radio_true" />
- <action function="togglestorage">internal</action>
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%row1_text_y%" w="%button_fill_full_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=install</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="fileselector">
<highlight color="%fileselector_highlight_color%" />
- <placement x="%fileselector_x%" y="%row2_text_y%" w="%fileselector_width%" h="%fileselector_install_height%" />
+ <placement x="%fileselector_x%" y="%row3_text_y%" w="%fileselector_width%" h="%fileselector_install_height%" />
<header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
<fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
<text>%tw_zip_location%</text>
@@ -826,15 +800,6 @@
<page name="confirm_action">
<object type="template" name="header" />
- <object type="button">
- <highlight color="%highlight_color%" />
- <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" />
@@ -1111,194 +1076,154 @@
<object type="text" color="%text_color%">
<font resource="font" />
- <placement x="%center_x%" y="%row1_header_y%" placement="5" />
- <text>Wipe Menu</text>
- </object>
-
- <object type="button">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <placement x="%col1_x%" y="%row2_y%" />
- <font resource="font" color="%button_text_color%" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
<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="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>Wipes Data, Cache, and Dalvik</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_data_media" var2="0" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>.android_secure</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_data_media" var2="1" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>(not including internal storage)</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_sdext_partition" var2="1" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row4_text_y%" placement="5" />
+ <text>SD-EXT</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row5_text_y%" placement="5" />
+ <text>Most of the time this is</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row6_text_y%" placement="5" />
+ <text>the only wipe that you need.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row16_text_y%" placement="5" />
+ <text>Press back button to cancel.</text>
</object>
<object type="button">
<highlight color="%highlight_color%" />
- <placement x="%col2_x%" y="%row2_y%" />
+ <placement x="%col1_x%" y="%wipe_button_y%" />
<font resource="font" color="%button_text_color%" />
- <text>System</text>
+ <text>Advanced Wipe</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>
+ <action function="page">advancedwipe</action>
</object>
<object type="button">
- <highlight color="%highlight_color%" />
- <condition var1="tw_has_external" var2="1" />
- <placement x="%col1_x%" y="%row3_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">
- <highlight color="%highlight_color%" />
- <condition var1="tw_has_internal" var2="1" />
- <placement x="%col2_x%" y="%row3_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">
- <highlight color="%highlight_color%" />
<conditions>
<condition var1="tw_has_internal" var2="1" />
<condition var1="tw_has_data_media" var2="1" />
</conditions>
- <placement x="%col1_x%" y="%row4_y%" />
+ <highlight color="%highlight_color%" />
+ <placement x="%col2_x%" y="%wipe_button_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 internal storage</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>
+ <action function="page">formatdata</action>
</actions>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <condition var1="tw_has_data_media" var2="0" />
- <placement x="%col1_x%" y="%row4_y%" />
- <font resource="font" color="%button_text_color%" />
- <text>Android Secure</text>
- <image resource="main_button" />
+ <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=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>
+ <action function="set">tw_action_param=data</action>
+ <action function="set">tw_action_text1=Factory Reset...</action>
+ <action function="set">tw_complete_text1=Factory Reset Complete</action>
+ <action function="page">action_page</action>
</actions>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <condition var1="tw_has_sdext_partition" var2="1" />
- <placement x="%col2_x%" y="%row4_y%" />
- <font resource="font" color="%button_text_color%" />
- <text>SD Ext</text>
- <image resource="main_button" />
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%slider_text_y%" placement="4" />
+ <text>Swipe to Factory Reset</text>
+ </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="advancedwipe">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_header_y%" placement="5" />
+ <text>Wipe Menu</text>
+ </object>
+
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row1_header_y%" w="%listbox_width%" h="%wipe_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Wipe:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_wipe_list" />
+ <listtype name="wipe" />
+ </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=wipe</action>
+ <action function="set">tw_back=advancedwipe</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>
+ <action function="set">tw_action_param=LIST</action>
+ <action function="set">tw_text1=Wipe Selected Partition(s)?</action>
+ <action function="set">tw_action_text1=Wiping Partition(s)...</action>
+ <action function="set">tw_complete_text1=Wipe 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 Wipe</text>
+ </object>
+
<object type="action">
<touch key="home" />
<action function="page">main</action>
@@ -1306,12 +1231,90 @@
<object type="action">
<touch key="back" />
- <action function="page">main</action>
+ <action function="page">wipe</action>
</object>
<object type="template" name="footer" />
</page>
+ <page name="formatdata">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_header_y%" placement="5" />
+ <text>Format Data will wipe all of your apps,</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>backups, pictures, videos, media, and</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>removes encryption on internal storage.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>This cannot be undone. Press back to cancel.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row4_text_y%" placement="5" />
+ <text>Type yes to continue.</text>
+ </object>
+
+ <object type="input">
+ <placement x="%col1_x%" y="%row6_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_confirm_formatdata%</text>
+ <data name="tw_confirm_formatdata" />
+ <restrict minlen="3" maxlen="3" allow="yes" />
+ <action function="page">formatdata_confirm</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">wipe</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="formatdata_confirm">
+ <object type="action">
+ <condition var1="tw_confirm_formatdata" op="=" var2="yes" />
+ <actions>
+ <action function="set">tw_back=formatdata</action>
+ <action function="set">tw_action=wipe</action>
+ <action function="set">tw_action_param=DATAMEDIA</action>
+ <action function="set">tw_action_text1=Formatting Data...</action>
+ <action function="set">tw_complete_text1=Data Format Complete</action>
+ <action function="page">action_page</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <condition var1="tw_confirm_formatdata" op="!=" var2="yes" />
+ <action function="page">formatdata</function>
+ </object>
+ </page>
+
<page name="backup">
<object type="template" name="header" />
@@ -1321,10 +1324,67 @@
<text>Backup Name: %tw_backup_name%</text>
</object>
- <object type="text" color="%text_color%">
- <placement x="%col1_x%" y="%row1_text_y%" />
- <font resource="font" />
- <text>Backup Device</text>
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row1_text_y%" w="%listbox_width%" h="%backup_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Back Up:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_backup_list" />
+ <listtype name="backup" />
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%backup_button_row1%" w="%button_fill_main_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Set Backup Name</text>
+ <actions>
+ <action function="set">tw_fileexists=0</action>
+ <action function="page">backupname1</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col2_x%" y="%backup_button_row1%" w="%button_fill_main_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Refresh Sizes</text>
+ <action function="refreshsizes"></action>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%backup_button_row2%" w="%button_fill_full_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=backup</action>
+ <action function="page">selectstorage</action>
+ </actions>
+ </object>
+
+ <object type="checkbox">
+ <placement x="%col1_x%" y="%row15_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Enable compression.</text>
+ <data variable="tw_use_compression" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="checkbox">
+ <placement x="%col1_x%" y="%row16_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Skip MD5 generation during backup.</text>
+ <data variable="tw_skip_md5_generate" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
</object>
<object type="slider">
@@ -1339,186 +1399,6 @@
<text>Swipe to Back Up</text>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <placement x="%col2_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">
- <highlight color="%highlight_color%" />
- <placement x="%col2_x%" y="%backup_name_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="checkbox">
- <placement x="%col1_x%" y="%row2_text_y%" />
- <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="%col1_x%" y="%row3_text_y%" />
- <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="%col1_x%" y="%row4_text_y%" />
- <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="%col1_x%" y="%row5_text_y%" />
- <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="%col1_x%" y="%row6_text_y%" />
- <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="%col1_x%" y="%row7_text_y%" />
- <font resource="font" color="%text_color%" />
- <text>.android_secure (%tw_backup_andsec_size% MB)</text>
- <condition var1="fileexists" var2="/sdcard/.android_secure" />
- <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="%col1_x%" y="%row8_text_y%" />
- <font resource="font" color="%text_color%" />
- <text>sd-ext (%tw_backup_sdext_size% MB)</text>
- <condition var1="fileexists" var2="/sd-ext" />
- <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="%col1_x%" y="%row9_text_y%" />
- <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="%col1_x%" y="%row10_text_y%" />
- <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="%col1_x%" y="%row11_text_y%" />
- <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="text" color="%text_color%">
- <font resource="font" />
- <placement x="%col1_x%" y="%row13_text_y%" />
- <text>Free Space: %tw_storage_free_size% MB</text>
- </object>
-
- <object type="checkbox">
- <placement x="%col1_x%" y="%row14_text_y%" />
- <font resource="font" color="%text_color%" />
- <text>Enable compression.</text>
- <data variable="tw_use_compression" />
- <image checked="checkbox_true" unchecked="checkbox_false" />
- </object>
-
- <object type="checkbox">
- <placement x="%col1_x%" y="%row15_text_y%" />
- <font resource="font" color="%text_color%" />
- <text>Skip MD5 generation during backup.</text>
- <data variable="tw_skip_md5_generate" />
- <image checked="checkbox_true" unchecked="checkbox_false" />
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row16_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>Use external SD</text>
- <image resource="radio_true" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row16_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>Use external SD</text>
- <image resource="radio_false" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row16_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>Use internal storage</text>
- <image resource="radio_false" />
- <action function="togglestorage">internal</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row16_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>Use internal storage</text>
- <image resource="radio_true" />
- <action function="togglestorage">internal</action>
- </object>
-
<object type="action">
<touch key="home" />
<action function="page">main</action>
@@ -1640,56 +1520,20 @@
<object type="template" name="header" />
<object type="button">
- <placement x="%col1_x%" y="%row1_header_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>Use external SD</text>
- <image resource="radio_true" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row1_header_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>Use external SD</text>
- <image resource="radio_false" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row1_header_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>Use internal storage</text>
- <image resource="radio_false" />
- <action function="togglestorage">internal</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row1_header_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>Use internal storage</text>
- <image resource="radio_true" />
- <action function="togglestorage">internal</action>
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%row1_header_y%" w="%button_fill_full_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=restore</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="fileselector">
<highlight color="%fileselector_highlight_color%" />
- <placement x="%fileselector_x%" y="%row1_y%" w="%fileselector_width%" h="%fileselector_install_height%" />
+ <placement x="%fileselector_x%" y="%row2_text_y%" w="%fileselector_width%" h="%fileselector_install_height%" />
<header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
<fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
<text>Select Package to Restore:</text>
@@ -1730,18 +1574,26 @@
<page name="restore_select">
<object type="template" name="header" />
- <object type="text">
- <placement x="%center_x%" y="%row1_header_y%" placement="5" />
- <font resource="font" color="%text_color%" />
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row1_header_y%" w="%listbox_width%" h="%backup_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
<text>Restoring: %tw_restore_name%</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_restore_list" selectedlist="tw_restore_selected" />
+ <listtype name="restore" />
</object>
<object type="button">
<highlight color="%highlight_color%" />
- <placement x="%col2_x%" y="%row1_y%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%backup_button_row1%" w="%button_fill_main_width%" h="%button_fill_quarter_height%" />
<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>
@@ -1751,10 +1603,10 @@
<object type="button">
<highlight color="%highlight_color%" />
- <placement x="%col2_x%" y="%row2_y%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col2_x%" y="%backup_button_row1%" w="%button_fill_main_width%" h="%button_fill_quarter_height%" />
<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>
@@ -1768,6 +1620,20 @@
</actions>
</object>
+ <object type="checkbox">
+ <placement x="%col1_x%" y="%row15_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Enable MD5 verification of backup files.</text>
+ <data variable="tw_skip_md5_check" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row16_text_y%" placement="5" />
+ <text>Package Date: %tw_restore_file_date%</text>
+ </object>
+
<object type="slider">
<placement x="%slider_x%" y="%slider_y%" />
<resource base="slider" used="slider-used" touch="slider-touch" />
@@ -1780,101 +1646,6 @@
<text>Swipe to Restore</text>
</object>
- <object type="checkbox">
- <placement x="%col1_x%" y="%row2_text_y%" />
- <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="%col1_x%" y="%row3_text_y%" />
- <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="%col1_x%" y="%row4_text_y%" />
- <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="%col1_x%" y="%row6_text_y%" />
- <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="%col1_x%" y="%row7_text_y%" />
- <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="%col1_x%" y="%row8_text_y%" />
- <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="%col1_x%" y="%row10_text_y%" />
- <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="%col1_x%" y="%row11_text_y%" />
- <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="%col1_x%" y="%row12_text_y%" />
- <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="%row14_text_y%" />
- <font resource="font" color="%text_color%" />
- <text>Enable MD5 verification of backup files.</text>
- <data variable="tw_skip_md5_check" />
- <image checked="checkbox_true" unchecked="checkbox_false" />
- </object>
-
- <object type="text" color="%text_color%">
- <font resource="font" />
- <placement x="%center_x%" y="%row15_text_y%" placement="5" />
- <text>Package Date: %tw_restore_file_date%</text>
- </object>
-
<object type="action">
<touch key="home" />
<action function="page">main</action>
@@ -1980,216 +1751,70 @@
</object>
</page>
+ <page name="selectstorage">
+ <object type="template" name="header" />
+
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row1_header_y%" w="%listbox_width%" h="%storage_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Storage:</text>
+ <icon selected="radio_true" unselected="radio_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_storage_path" />
+ <listtype name="storage" />
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <actions>
+ <action function="page">%tw_back%</action>
+ </actions>
+ </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_header_y%" placement="5" />
- <text>Mount Menu</text>
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row1_header_y%" w="%listbox_width%" h="%mount_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Mount:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <listtype name="mount" />
</object>
<object type="button">
- <placement x="%col1_x%" y="%row1_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="%row1_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="%row2_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="%row2_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="%row3_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="%row3_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="%row4_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 SD Card</text>
- <image resource="checkbox_false" />
- <action function="mount">EXTERNAL</action>
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row4_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 SD Card</text>
- <image resource="checkbox_true" />
- <action function="umount">EXTERNAL</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row4_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</text>
- <image resource="checkbox_false" />
- <action function="mount">INTERNAL</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row4_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</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="%row5_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="%row5_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="%row6_text_y%" />
- <font resource="font" color="#A0A0A0" />
- <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="%row6_text_y%" />
- <font resource="font" color="#A0A0A0" />
- <text>Unmount Boot</text>
- <image resource="checkbox_true" />
- <action function="umount">/boot</action>
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row8_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>Use external SD</text>
- <image resource="radio_true" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row8_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>Use external SD</text>
- <image resource="radio_false" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row8_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>Use internal storage</text>
- <image resource="radio_false" />
- <action function="togglestorage">internal</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row8_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>Use internal storage</text>
- <image resource="radio_true" />
- <action function="togglestorage">internal</action>
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%mount_storage_row%" w="%button_fill_full_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=mount</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="button">
<highlight color="%highlight_color%" />
<condition var1="tw_has_usb_storage" var2="1" />
- <placement x="%col1_x%" y="row3_y" />
+ <placement x="%col1_x%" y="row4_y" />
<font resource="font" color="%button_text_color%" />
<text>Mount USB Storage</text>
<image resource="main_button" />
@@ -2202,7 +1827,7 @@
<condition var1="tw_is_encrypted" var2="1" />
<condition var1="tw_is_decrypted" var2="0" />
</conditions>
- <placement x="%col2_x%" y="row3_y" />
+ <placement x="%col2_x%" y="row4_y" />
<font resource="font" color="%button_text_color%" />
<text>Decrypt Data</text>
<image resource="main_button" />
diff --git a/gui/devices/480x800/res/images/exclamation200.png b/gui/devices/480x800/res/images/exclamation200.png
deleted file mode 100644
index 96258a1..0000000
--- a/gui/devices/480x800/res/images/exclamation200.png
+++ /dev/null
Binary files differ
diff --git a/gui/devices/480x800/res/ui.xml b/gui/devices/480x800/res/ui.xml
index ab4be70..6efca35 100644
--- a/gui/devices/480x800/res/ui.xml
+++ b/gui/devices/480x800/res/ui.xml
@@ -39,7 +39,6 @@
<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="exclamation200" />
</resources>
<variables>
@@ -123,7 +122,7 @@
<variable name="console_installdone_height" value="300" />
<variable name="fileselector_x" value="5" />
<variable name="fileselector_width" value="470" />
- <variable name="fileselector_install_height" value="510" />
+ <variable name="fileselector_install_height" value="480" />
<variable name="fileselector_header_background" value="#202020" />
<variable name="fileselector_header_textcolor" value="#AAAAAA" />
<variable name="fileselector_header_separatorcolor" value="#33B5E5" />
@@ -164,8 +163,20 @@
<variable name="row_dst_text_y" value="440" />
<variable name="row_offset_text_y" value="480" />
<variable name="row_offset_medium_y" value="505" />
- <variable name="exclamation_x" value="140" />
- <variable name="exclamation_y" value="300" />
+ <variable name="button_fill_color" value="#303030" />
+ <variable name="button_fill_full_width" value="455" />
+ <variable name="button_fill_main_width" value="225" />
+ <variable name="button_fill_main_height" value="135" />
+ <variable name="button_fill_half_height" value="67" />
+ <variable name="button_fill_quarter_height" value="34" />
+ <variable name="backup_list_height" value="325" />
+ <variable name="backup_button_row1" value="480" />
+ <variable name="backup_button_row2" value="520" />
+ <variable name="mount_list_height" value="380" />
+ <variable name="mount_storage_row" value="500" />
+ <variable name="storage_list_height" value="400" />
+ <variable name="wipe_list_height" value="550" />
+ <variable name="wipe_button_y" value="400" />
</variables>
<templates>
@@ -464,56 +475,20 @@
</object>
<object type="button">
- <placement x="%col1_x%" y="%row1_text_y%" />
- <font resource="mediumfont" color="%text_color%" />
- <conditions>
- <condition var1="tw_has_dual_storage" var2="1" />
- <condition var1="tw_use_external_storage" var2="1" />
- </conditions>
- <text>Use external SD</text>
- <image resource="radio_true" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row1_text_y%" />
- <font resource="mediumfont" color="%text_color%" />
- <conditions>
- <condition var1="tw_has_dual_storage" var2="1" />
- <condition var1="tw_use_external_storage" var2="0" />
- </conditions>
- <text>Use external SD</text>
- <image resource="radio_false" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row1_text_y%" />
- <font resource="mediumfont" color="%text_color%" />
- <conditions>
- <condition var1="tw_has_dual_storage" var2="1" />
- <condition var1="tw_use_external_storage" var2="1" />
- </conditions>
- <text>Use internal storage</text>
- <image resource="radio_false" />
- <action function="togglestorage">internal</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row1_text_y%" />
- <font resource="mediumfont" color="%text_color%" />
- <conditions>
- <condition var1="tw_has_dual_storage" var2="1" />
- <condition var1="tw_use_external_storage" var2="0" />
- </conditions>
- <text>Use internal storage</text>
- <image resource="radio_true" />
- <action function="togglestorage">internal</action>
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%row1_text_y%" w="%button_fill_full_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=install</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="fileselector">
<highlight color="%fileselector_highlight_color%" />
- <placement x="%fileselector_x%" y="%row2_text_y%" w="%fileselector_width%" h="%fileselector_install_height%" />
+ <placement x="%fileselector_x%" y="%row3_text_y%" w="%fileselector_width%" h="%fileselector_install_height%" />
<header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
<fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
<text>%tw_zip_location%</text>
@@ -825,15 +800,6 @@
<page name="confirm_action">
<object type="template" name="header" />
- <object type="button">
- <highlight color="%highlight_color%" />
- <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" />
@@ -1110,194 +1076,154 @@
<object type="text" color="%text_color%">
<font resource="font" />
- <placement x="%center_x%" y="%row1_header_y%" placement="5" />
- <text>Wipe Menu</text>
- </object>
-
- <object type="button">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <placement x="%col1_x%" y="%row2_y%" />
- <font resource="font" color="%button_text_color%" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
<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="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>Wipes Data, Cache, and Dalvik</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_data_media" var2="0" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>.android_secure</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_data_media" var2="1" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>(not including internal storage)</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_sdext_partition" var2="1" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row4_text_y%" placement="5" />
+ <text>SD-EXT</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row5_text_y%" placement="5" />
+ <text>Most of the time this is</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row6_text_y%" placement="5" />
+ <text>the only wipe that you need.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row16_text_y%" placement="5" />
+ <text>Press back button to cancel.</text>
</object>
<object type="button">
<highlight color="%highlight_color%" />
- <placement x="%col2_x%" y="%row2_y%" />
+ <placement x="%col1_x%" y="%wipe_button_y%" />
<font resource="font" color="%button_text_color%" />
- <text>System</text>
+ <text>Advanced Wipe</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>
+ <action function="page">advancedwipe</action>
</object>
<object type="button">
- <highlight color="%highlight_color%" />
- <condition var1="tw_has_external" var2="1" />
- <placement x="%col1_x%" y="%row3_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">
- <highlight color="%highlight_color%" />
- <condition var1="tw_has_internal" var2="1" />
- <placement x="%col2_x%" y="%row3_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">
- <highlight color="%highlight_color%" />
<conditions>
<condition var1="tw_has_internal" var2="1" />
<condition var1="tw_has_data_media" var2="1" />
</conditions>
- <placement x="%col1_x%" y="%row4_y%" />
+ <highlight color="%highlight_color%" />
+ <placement x="%col2_x%" y="%wipe_button_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 internal storage</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>
+ <action function="page">formatdata</action>
</actions>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <condition var1="tw_has_data_media" var2="0" />
- <placement x="%col1_x%" y="%row4_y%" />
- <font resource="font" color="%button_text_color%" />
- <text>Android Secure</text>
- <image resource="main_button" />
+ <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=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>
+ <action function="set">tw_action_param=data</action>
+ <action function="set">tw_action_text1=Factory Reset...</action>
+ <action function="set">tw_complete_text1=Factory Reset Complete</action>
+ <action function="page">action_page</action>
</actions>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <condition var1="tw_has_sdext_partition" var2="1" />
- <placement x="%col2_x%" y="%row4_y%" />
- <font resource="font" color="%button_text_color%" />
- <text>SD Ext</text>
- <image resource="main_button" />
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%slider_text_y%" placement="4" />
+ <text>Swipe to Factory Reset</text>
+ </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="advancedwipe">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_header_y%" placement="5" />
+ <text>Wipe Menu</text>
+ </object>
+
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row1_header_y%" w="%listbox_width%" h="%wipe_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Wipe:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_wipe_list" />
+ <listtype name="wipe" />
+ </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=wipe</action>
+ <action function="set">tw_back=advancedwipe</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>
+ <action function="set">tw_action_param=LIST</action>
+ <action function="set">tw_text1=Wipe Selected Partition(s)?</action>
+ <action function="set">tw_action_text1=Wiping Partition(s)...</action>
+ <action function="set">tw_complete_text1=Wipe 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 Wipe</text>
+ </object>
+
<object type="action">
<touch key="home" />
<action function="page">main</action>
@@ -1305,12 +1231,90 @@
<object type="action">
<touch key="back" />
- <action function="page">main</action>
+ <action function="page">wipe</action>
</object>
<object type="template" name="footer" />
</page>
+ <page name="formatdata">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_header_y%" placement="5" />
+ <text>Format Data will wipe all of your apps,</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>backups, pictures, videos, media, and</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>removes encryption on internal storage.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>This cannot be undone. Press back to cancel.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row4_text_y%" placement="5" />
+ <text>Type yes to continue.</text>
+ </object>
+
+ <object type="input">
+ <placement x="%col1_x%" y="%row6_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_confirm_formatdata%</text>
+ <data name="tw_confirm_formatdata" />
+ <restrict minlen="3" maxlen="3" allow="yes" />
+ <action function="page">formatdata_confirm</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">wipe</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="formatdata_confirm">
+ <object type="action">
+ <condition var1="tw_confirm_formatdata" op="=" var2="yes" />
+ <actions>
+ <action function="set">tw_back=formatdata</action>
+ <action function="set">tw_action=wipe</action>
+ <action function="set">tw_action_param=DATAMEDIA</action>
+ <action function="set">tw_action_text1=Formatting Data...</action>
+ <action function="set">tw_complete_text1=Data Format Complete</action>
+ <action function="page">action_page</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <condition var1="tw_confirm_formatdata" op="!=" var2="yes" />
+ <action function="page">formatdata</function>
+ </object>
+ </page>
+
<page name="backup">
<object type="template" name="header" />
@@ -1320,10 +1324,67 @@
<text>Backup Name: %tw_backup_name%</text>
</object>
- <object type="text" color="%text_color%">
- <placement x="%col1_x%" y="%row1_text_y%" />
- <font resource="font" />
- <text>Backup Device</text>
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row1_text_y%" w="%listbox_width%" h="%backup_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Back Up:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_backup_list" />
+ <listtype name="backup" />
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%backup_button_row1%" w="%button_fill_main_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Set Backup Name</text>
+ <actions>
+ <action function="set">tw_fileexists=0</action>
+ <action function="page">backupname1</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col2_x%" y="%backup_button_row1%" w="%button_fill_main_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Refresh Sizes</text>
+ <action function="refreshsizes"></action>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%backup_button_row2%" w="%button_fill_full_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=backup</action>
+ <action function="page">selectstorage</action>
+ </actions>
+ </object>
+
+ <object type="checkbox">
+ <placement x="%col1_x%" y="%row15_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Enable compression.</text>
+ <data variable="tw_use_compression" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="checkbox">
+ <placement x="%col1_x%" y="%row16_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Skip MD5 generation during backup.</text>
+ <data variable="tw_skip_md5_generate" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
</object>
<object type="slider">
@@ -1338,186 +1399,6 @@
<text>Swipe to Back Up</text>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <placement x="%col2_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">
- <highlight color="%highlight_color%" />
- <placement x="%col2_x%" y="%backup_name_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="checkbox">
- <placement x="%col1_x%" y="%row2_text_y%" />
- <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="%col1_x%" y="%row3_text_y%" />
- <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="%col1_x%" y="%row4_text_y%" />
- <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="%col1_x%" y="%row5_text_y%" />
- <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="%col1_x%" y="%row6_text_y%" />
- <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="%col1_x%" y="%row7_text_y%" />
- <font resource="font" color="%text_color%" />
- <text>.android_secure (%tw_backup_andsec_size% MB)</text>
- <condition var1="fileexists" var2="/sdcard/.android_secure" />
- <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="%col1_x%" y="%row8_text_y%" />
- <font resource="font" color="%text_color%" />
- <text>sd-ext (%tw_backup_sdext_size% MB)</text>
- <condition var1="fileexists" var2="/sd-ext" />
- <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="%col1_x%" y="%row9_text_y%" />
- <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="%col1_x%" y="%row10_text_y%" />
- <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="%col1_x%" y="%row11_text_y%" />
- <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="text" color="%text_color%">
- <font resource="font" />
- <placement x="%col1_x%" y="%row13_text_y%" />
- <text>Free Space: %tw_storage_free_size% MB</text>
- </object>
-
- <object type="checkbox">
- <placement x="%col1_x%" y="%row14_text_y%" />
- <font resource="font" color="%text_color%" />
- <text>Enable compression.</text>
- <data variable="tw_use_compression" />
- <image checked="checkbox_true" unchecked="checkbox_false" />
- </object>
-
- <object type="checkbox">
- <placement x="%col1_x%" y="%row15_text_y%" />
- <font resource="font" color="%text_color%" />
- <text>Skip MD5 generation during backup.</text>
- <data variable="tw_skip_md5_generate" />
- <image checked="checkbox_true" unchecked="checkbox_false" />
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row16_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>Use external SD</text>
- <image resource="radio_true" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row16_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>Use external SD</text>
- <image resource="radio_false" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row16_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>Use internal storage</text>
- <image resource="radio_false" />
- <action function="togglestorage">internal</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row16_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>Use internal storage</text>
- <image resource="radio_true" />
- <action function="togglestorage">internal</action>
- </object>
-
<object type="action">
<touch key="home" />
<action function="page">main</action>
@@ -1639,56 +1520,20 @@
<object type="template" name="header" />
<object type="button">
- <placement x="%col1_x%" y="%row1_header_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>Use external SD</text>
- <image resource="radio_true" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row1_header_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>Use external SD</text>
- <image resource="radio_false" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row1_header_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>Use internal storage</text>
- <image resource="radio_false" />
- <action function="togglestorage">internal</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row1_header_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>Use internal storage</text>
- <image resource="radio_true" />
- <action function="togglestorage">internal</action>
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%row1_header_y%" w="%button_fill_full_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=restore</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="fileselector">
<highlight color="%fileselector_highlight_color%" />
- <placement x="%fileselector_x%" y="%row1_y%" w="%fileselector_width%" h="%fileselector_install_height%" />
+ <placement x="%fileselector_x%" y="%row2_text_y%" w="%fileselector_width%" h="%fileselector_install_height%" />
<header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
<fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
<text>Select Package to Restore:</text>
@@ -1729,18 +1574,26 @@
<page name="restore_select">
<object type="template" name="header" />
- <object type="text">
- <placement x="%center_x%" y="%row1_header_y%" placement="5" />
- <font resource="font" color="%text_color%" />
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row1_header_y%" w="%listbox_width%" h="%backup_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
<text>Restoring: %tw_restore_name%</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_restore_list" selectedlist="tw_restore_selected" />
+ <listtype name="restore" />
</object>
<object type="button">
<highlight color="%highlight_color%" />
- <placement x="%col2_x%" y="%row1_y%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%backup_button_row1%" w="%button_fill_main_width%" h="%button_fill_quarter_height%" />
<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>
@@ -1750,10 +1603,10 @@
<object type="button">
<highlight color="%highlight_color%" />
- <placement x="%col2_x%" y="%row2_y%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col2_x%" y="%backup_button_row1%" w="%button_fill_main_width%" h="%button_fill_quarter_height%" />
<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>
@@ -1767,6 +1620,20 @@
</actions>
</object>
+ <object type="checkbox">
+ <placement x="%col1_x%" y="%row15_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Enable MD5 verification of backup files.</text>
+ <data variable="tw_skip_md5_check" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row16_text_y%" placement="5" />
+ <text>Package Date: %tw_restore_file_date%</text>
+ </object>
+
<object type="slider">
<placement x="%slider_x%" y="%slider_y%" />
<resource base="slider" used="slider-used" touch="slider-touch" />
@@ -1779,101 +1646,6 @@
<text>Swipe to Restore</text>
</object>
- <object type="checkbox">
- <placement x="%col1_x%" y="%row2_text_y%" />
- <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="%col1_x%" y="%row3_text_y%" />
- <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="%col1_x%" y="%row4_text_y%" />
- <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="%col1_x%" y="%row6_text_y%" />
- <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="%col1_x%" y="%row7_text_y%" />
- <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="%col1_x%" y="%row8_text_y%" />
- <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="%col1_x%" y="%row10_text_y%" />
- <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="%col1_x%" y="%row11_text_y%" />
- <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="%col1_x%" y="%row12_text_y%" />
- <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="%row14_text_y%" />
- <font resource="font" color="%text_color%" />
- <text>Enable MD5 verification of backup files.</text>
- <data variable="tw_skip_md5_check" />
- <image checked="checkbox_true" unchecked="checkbox_false" />
- </object>
-
- <object type="text" color="%text_color%">
- <font resource="font" />
- <placement x="%center_x%" y="%row15_text_y%" placement="5" />
- <text>Package Date: %tw_restore_file_date%</text>
- </object>
-
<object type="action">
<touch key="home" />
<action function="page">main</action>
@@ -1979,216 +1751,70 @@
</object>
</page>
+ <page name="selectstorage">
+ <object type="template" name="header" />
+
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row1_header_y%" w="%listbox_width%" h="%storage_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Storage:</text>
+ <icon selected="radio_true" unselected="radio_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_storage_path" />
+ <listtype name="storage" />
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <actions>
+ <action function="page">%tw_back%</action>
+ </actions>
+ </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_header_y%" placement="5" />
- <text>Mount Menu</text>
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row1_header_y%" w="%listbox_width%" h="%mount_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Mount:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <listtype name="mount" />
</object>
<object type="button">
- <placement x="%col1_x%" y="%row1_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="%row1_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="%row2_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="%row2_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="%row3_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="%row3_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="%row4_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 SD Card</text>
- <image resource="checkbox_false" />
- <action function="mount">EXTERNAL</action>
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row4_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 SD Card</text>
- <image resource="checkbox_true" />
- <action function="umount">EXTERNAL</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row4_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</text>
- <image resource="checkbox_false" />
- <action function="mount">INTERNAL</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row4_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</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="%row5_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="%row5_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="%row6_text_y%" />
- <font resource="font" color="#A0A0A0" />
- <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="%row6_text_y%" />
- <font resource="font" color="#A0A0A0" />
- <text>Unmount Boot</text>
- <image resource="checkbox_true" />
- <action function="umount">/boot</action>
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row8_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>Use external SD</text>
- <image resource="radio_true" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row8_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>Use external SD</text>
- <image resource="radio_false" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row8_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>Use internal storage</text>
- <image resource="radio_false" />
- <action function="togglestorage">internal</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row8_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>Use internal storage</text>
- <image resource="radio_true" />
- <action function="togglestorage">internal</action>
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%mount_storage_row%" w="%button_fill_full_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=mount</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="button">
<highlight color="%highlight_color%" />
<condition var1="tw_has_usb_storage" var2="1" />
- <placement x="%col1_x%" y="row3_y" />
+ <placement x="%col1_x%" y="row4_y" />
<font resource="font" color="%button_text_color%" />
<text>Mount USB Storage</text>
<image resource="main_button" />
@@ -2201,7 +1827,7 @@
<condition var1="tw_is_encrypted" var2="1" />
<condition var1="tw_is_decrypted" var2="0" />
</conditions>
- <placement x="%col2_x%" y="row3_y" />
+ <placement x="%col2_x%" y="row4_y" />
<font resource="font" color="%button_text_color%" />
<text>Decrypt Data</text>
<image resource="main_button" />
diff --git a/gui/devices/480x854/res/images/exclamation200.png b/gui/devices/480x854/res/images/exclamation200.png
deleted file mode 100644
index 96258a1..0000000
--- a/gui/devices/480x854/res/images/exclamation200.png
+++ /dev/null
Binary files differ
diff --git a/gui/devices/480x854/res/ui.xml b/gui/devices/480x854/res/ui.xml
index 1147b77..de4d159 100644
--- a/gui/devices/480x854/res/ui.xml
+++ b/gui/devices/480x854/res/ui.xml
@@ -39,7 +39,6 @@
<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="exclamation200" />
</resources>
<variables>
@@ -122,7 +121,7 @@
<variable name="console_installdone_height" value="300" />
<variable name="fileselector_x" value="5" />
<variable name="fileselector_width" value="470" />
- <variable name="fileselector_install_height" value="564" />
+ <variable name="fileselector_install_height" value="534" />
<variable name="fileselector_header_background" value="#202020" />
<variable name="fileselector_header_textcolor" value="#AAAAAA" />
<variable name="fileselector_header_separatorcolor" value="#33B5E5" />
@@ -163,8 +162,20 @@
<variable name="row_dst_text_y" value="440" />
<variable name="row_offset_text_y" value="480" />
<variable name="row_offset_medium_y" value="505" />
- <variable name="exclamation_x" value="140" />
- <variable name="exclamation_y" value="300" />
+ <variable name="button_fill_color" value="#303030" />
+ <variable name="button_fill_full_width" value="455" />
+ <variable name="button_fill_main_width" value="225" />
+ <variable name="button_fill_main_height" value="135" />
+ <variable name="button_fill_half_height" value="67" />
+ <variable name="button_fill_quarter_height" value="34" />
+ <variable name="backup_list_height" value="325" />
+ <variable name="backup_button_row1" value="480" />
+ <variable name="backup_button_row2" value="520" />
+ <variable name="mount_list_height" value="380" />
+ <variable name="mount_storage_row" value="500" />
+ <variable name="storage_list_height" value="400" />
+ <variable name="wipe_list_height" value="550" />
+ <variable name="wipe_button_y" value="400" />
</variables>
<templates>
@@ -463,56 +474,20 @@
</object>
<object type="button">
- <placement x="%col1_x%" y="%row1_text_y%" />
- <font resource="mediumfont" color="%text_color%" />
- <conditions>
- <condition var1="tw_has_dual_storage" var2="1" />
- <condition var1="tw_use_external_storage" var2="1" />
- </conditions>
- <text>Use external SD</text>
- <image resource="radio_true" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row1_text_y%" />
- <font resource="mediumfont" color="%text_color%" />
- <conditions>
- <condition var1="tw_has_dual_storage" var2="1" />
- <condition var1="tw_use_external_storage" var2="0" />
- </conditions>
- <text>Use external SD</text>
- <image resource="radio_false" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row1_text_y%" />
- <font resource="mediumfont" color="%text_color%" />
- <conditions>
- <condition var1="tw_has_dual_storage" var2="1" />
- <condition var1="tw_use_external_storage" var2="1" />
- </conditions>
- <text>Use internal storage</text>
- <image resource="radio_false" />
- <action function="togglestorage">internal</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row1_text_y%" />
- <font resource="mediumfont" color="%text_color%" />
- <conditions>
- <condition var1="tw_has_dual_storage" var2="1" />
- <condition var1="tw_use_external_storage" var2="0" />
- </conditions>
- <text>Use internal storage</text>
- <image resource="radio_true" />
- <action function="togglestorage">internal</action>
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%row1_text_y%" w="%button_fill_full_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=install</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="fileselector">
<highlight color="%fileselector_highlight_color%" />
- <placement x="%fileselector_x%" y="%row2_text_y%" w="%fileselector_width%" h="%fileselector_install_height%" />
+ <placement x="%fileselector_x%" y="%row3_text_y%" w="%fileselector_width%" h="%fileselector_install_height%" />
<header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
<fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
<text>%tw_zip_location%</text>
@@ -824,15 +799,6 @@
<page name="confirm_action">
<object type="template" name="header" />
- <object type="button">
- <highlight color="%highlight_color%" />
- <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" />
@@ -1109,194 +1075,154 @@
<object type="text" color="%text_color%">
<font resource="font" />
- <placement x="%center_x%" y="%row1_header_y%" placement="5" />
- <text>Wipe Menu</text>
- </object>
-
- <object type="button">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <placement x="%col1_x%" y="%row2_y%" />
- <font resource="font" color="%button_text_color%" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
<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="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>Wipes Data, Cache, and Dalvik</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_data_media" var2="0" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>.android_secure</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_data_media" var2="1" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>(not including internal storage)</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_sdext_partition" var2="1" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row4_text_y%" placement="5" />
+ <text>SD-EXT</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row5_text_y%" placement="5" />
+ <text>Most of the time this is</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row6_text_y%" placement="5" />
+ <text>the only wipe that you need.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row16_text_y%" placement="5" />
+ <text>Press back button to cancel.</text>
</object>
<object type="button">
<highlight color="%highlight_color%" />
- <placement x="%col2_x%" y="%row2_y%" />
+ <placement x="%col1_x%" y="%wipe_button_y%" />
<font resource="font" color="%button_text_color%" />
- <text>System</text>
+ <text>Advanced Wipe</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>
+ <action function="page">advancedwipe</action>
</object>
<object type="button">
- <highlight color="%highlight_color%" />
- <condition var1="tw_has_external" var2="1" />
- <placement x="%col1_x%" y="%row3_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">
- <highlight color="%highlight_color%" />
- <condition var1="tw_has_internal" var2="1" />
- <placement x="%col2_x%" y="%row3_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">
- <highlight color="%highlight_color%" />
<conditions>
<condition var1="tw_has_internal" var2="1" />
<condition var1="tw_has_data_media" var2="1" />
</conditions>
- <placement x="%col1_x%" y="%row4_y%" />
+ <highlight color="%highlight_color%" />
+ <placement x="%col2_x%" y="%wipe_button_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 internal storage</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>
+ <action function="page">formatdata</action>
</actions>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <condition var1="tw_has_data_media" var2="0" />
- <placement x="%col1_x%" y="%row4_y%" />
- <font resource="font" color="%button_text_color%" />
- <text>Android Secure</text>
- <image resource="main_button" />
+ <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=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>
+ <action function="set">tw_action_param=data</action>
+ <action function="set">tw_action_text1=Factory Reset...</action>
+ <action function="set">tw_complete_text1=Factory Reset Complete</action>
+ <action function="page">action_page</action>
</actions>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <condition var1="tw_has_sdext_partition" var2="1" />
- <placement x="%col2_x%" y="%row4_y%" />
- <font resource="font" color="%button_text_color%" />
- <text>SD Ext</text>
- <image resource="main_button" />
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%slider_text_y%" placement="4" />
+ <text>Swipe to Factory Reset</text>
+ </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="advancedwipe">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_header_y%" placement="5" />
+ <text>Wipe Menu</text>
+ </object>
+
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row1_header_y%" w="%listbox_width%" h="%wipe_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Wipe:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_wipe_list" />
+ <listtype name="wipe" />
+ </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=wipe</action>
+ <action function="set">tw_back=advancedwipe</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>
+ <action function="set">tw_action_param=LIST</action>
+ <action function="set">tw_text1=Wipe Selected Partition(s)?</action>
+ <action function="set">tw_action_text1=Wiping Partition(s)...</action>
+ <action function="set">tw_complete_text1=Wipe 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 Wipe</text>
+ </object>
+
<object type="action">
<touch key="home" />
<action function="page">main</action>
@@ -1304,12 +1230,90 @@
<object type="action">
<touch key="back" />
- <action function="page">main</action>
+ <action function="page">wipe</action>
</object>
<object type="template" name="footer" />
</page>
+ <page name="formatdata">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_header_y%" placement="5" />
+ <text>Format Data will wipe all of your apps,</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>backups, pictures, videos, media, and</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>removes encryption on internal storage.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>This cannot be undone. Press back to cancel.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row4_text_y%" placement="5" />
+ <text>Type yes to continue.</text>
+ </object>
+
+ <object type="input">
+ <placement x="%col1_x%" y="%row6_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_confirm_formatdata%</text>
+ <data name="tw_confirm_formatdata" />
+ <restrict minlen="3" maxlen="3" allow="yes" />
+ <action function="page">formatdata_confirm</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">wipe</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="formatdata_confirm">
+ <object type="action">
+ <condition var1="tw_confirm_formatdata" op="=" var2="yes" />
+ <actions>
+ <action function="set">tw_back=formatdata</action>
+ <action function="set">tw_action=wipe</action>
+ <action function="set">tw_action_param=DATAMEDIA</action>
+ <action function="set">tw_action_text1=Formatting Data...</action>
+ <action function="set">tw_complete_text1=Data Format Complete</action>
+ <action function="page">action_page</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <condition var1="tw_confirm_formatdata" op="!=" var2="yes" />
+ <action function="page">formatdata</function>
+ </object>
+ </page>
+
<page name="backup">
<object type="template" name="header" />
@@ -1319,10 +1323,67 @@
<text>Backup Name: %tw_backup_name%</text>
</object>
- <object type="text" color="%text_color%">
- <placement x="%col1_x%" y="%row1_text_y%" />
- <font resource="font" />
- <text>Backup Device</text>
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row1_text_y%" w="%listbox_width%" h="%backup_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Back Up:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_backup_list" />
+ <listtype name="backup" />
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%backup_button_row1%" w="%button_fill_main_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Set Backup Name</text>
+ <actions>
+ <action function="set">tw_fileexists=0</action>
+ <action function="page">backupname1</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col2_x%" y="%backup_button_row1%" w="%button_fill_main_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Refresh Sizes</text>
+ <action function="refreshsizes"></action>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%backup_button_row2%" w="%button_fill_full_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=backup</action>
+ <action function="page">selectstorage</action>
+ </actions>
+ </object>
+
+ <object type="checkbox">
+ <placement x="%col1_x%" y="%row15_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Enable compression.</text>
+ <data variable="tw_use_compression" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="checkbox">
+ <placement x="%col1_x%" y="%row16_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Skip MD5 generation during backup.</text>
+ <data variable="tw_skip_md5_generate" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
</object>
<object type="slider">
@@ -1337,186 +1398,6 @@
<text>Swipe to Back Up</text>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <placement x="%col2_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">
- <highlight color="%highlight_color%" />
- <placement x="%col2_x%" y="%backup_name_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="checkbox">
- <placement x="%col1_x%" y="%row2_text_y%" />
- <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="%col1_x%" y="%row3_text_y%" />
- <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="%col1_x%" y="%row4_text_y%" />
- <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="%col1_x%" y="%row5_text_y%" />
- <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="%col1_x%" y="%row6_text_y%" />
- <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="%col1_x%" y="%row7_text_y%" />
- <font resource="font" color="%text_color%" />
- <text>.android_secure (%tw_backup_andsec_size% MB)</text>
- <condition var1="fileexists" var2="/sdcard/.android_secure" />
- <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="%col1_x%" y="%row8_text_y%" />
- <font resource="font" color="%text_color%" />
- <text>sd-ext (%tw_backup_sdext_size% MB)</text>
- <condition var1="fileexists" var2="/sd-ext" />
- <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="%col1_x%" y="%row9_text_y%" />
- <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="%col1_x%" y="%row10_text_y%" />
- <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="%col1_x%" y="%row11_text_y%" />
- <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="text" color="%text_color%">
- <font resource="font" />
- <placement x="%col1_x%" y="%row13_text_y%" />
- <text>Free Space: %tw_storage_free_size% MB</text>
- </object>
-
- <object type="checkbox">
- <placement x="%col1_x%" y="%row14_text_y%" />
- <font resource="font" color="%text_color%" />
- <text>Enable compression.</text>
- <data variable="tw_use_compression" />
- <image checked="checkbox_true" unchecked="checkbox_false" />
- </object>
-
- <object type="checkbox">
- <placement x="%col1_x%" y="%row15_text_y%" />
- <font resource="font" color="%text_color%" />
- <text>Skip MD5 generation during backup.</text>
- <data variable="tw_skip_md5_generate" />
- <image checked="checkbox_true" unchecked="checkbox_false" />
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row16_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>Use external SD</text>
- <image resource="radio_true" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row16_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>Use external SD</text>
- <image resource="radio_false" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row16_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>Use internal storage</text>
- <image resource="radio_false" />
- <action function="togglestorage">internal</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row16_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>Use internal storage</text>
- <image resource="radio_true" />
- <action function="togglestorage">internal</action>
- </object>
-
<object type="action">
<touch key="home" />
<action function="page">main</action>
@@ -1638,56 +1519,20 @@
<object type="template" name="header" />
<object type="button">
- <placement x="%col1_x%" y="%row1_header_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>Use external SD</text>
- <image resource="radio_true" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row1_header_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>Use external SD</text>
- <image resource="radio_false" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row1_header_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>Use internal storage</text>
- <image resource="radio_false" />
- <action function="togglestorage">internal</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row1_header_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>Use internal storage</text>
- <image resource="radio_true" />
- <action function="togglestorage">internal</action>
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%row1_header_y%" w="%button_fill_full_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=restore</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="fileselector">
<highlight color="%fileselector_highlight_color%" />
- <placement x="%fileselector_x%" y="%row1_y%" w="%fileselector_width%" h="%fileselector_install_height%" />
+ <placement x="%fileselector_x%" y="%row2_text_y%" w="%fileselector_width%" h="%fileselector_install_height%" />
<header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
<fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
<text>Select Package to Restore:</text>
@@ -1728,18 +1573,26 @@
<page name="restore_select">
<object type="template" name="header" />
- <object type="text">
- <placement x="%center_x%" y="%row1_header_y%" placement="5" />
- <font resource="font" color="%text_color%" />
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row1_header_y%" w="%listbox_width%" h="%backup_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
<text>Restoring: %tw_restore_name%</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_restore_list" selectedlist="tw_restore_selected" />
+ <listtype name="restore" />
</object>
<object type="button">
<highlight color="%highlight_color%" />
- <placement x="%col2_x%" y="%row1_y%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%backup_button_row1%" w="%button_fill_main_width%" h="%button_fill_quarter_height%" />
<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>
@@ -1749,10 +1602,10 @@
<object type="button">
<highlight color="%highlight_color%" />
- <placement x="%col2_x%" y="%row2_y%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col2_x%" y="%backup_button_row1%" w="%button_fill_main_width%" h="%button_fill_quarter_height%" />
<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>
@@ -1766,6 +1619,20 @@
</actions>
</object>
+ <object type="checkbox">
+ <placement x="%col1_x%" y="%row15_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Enable MD5 verification of backup files.</text>
+ <data variable="tw_skip_md5_check" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row16_text_y%" placement="5" />
+ <text>Package Date: %tw_restore_file_date%</text>
+ </object>
+
<object type="slider">
<placement x="%slider_x%" y="%slider_y%" />
<resource base="slider" used="slider-used" touch="slider-touch" />
@@ -1778,101 +1645,6 @@
<text>Swipe to Restore</text>
</object>
- <object type="checkbox">
- <placement x="%col1_x%" y="%row2_text_y%" />
- <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="%col1_x%" y="%row3_text_y%" />
- <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="%col1_x%" y="%row4_text_y%" />
- <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="%col1_x%" y="%row6_text_y%" />
- <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="%col1_x%" y="%row7_text_y%" />
- <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="%col1_x%" y="%row8_text_y%" />
- <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="%col1_x%" y="%row10_text_y%" />
- <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="%col1_x%" y="%row11_text_y%" />
- <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="%col1_x%" y="%row12_text_y%" />
- <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="%row14_text_y%" />
- <font resource="font" color="%text_color%" />
- <text>Enable MD5 verification of backup files.</text>
- <data variable="tw_skip_md5_check" />
- <image checked="checkbox_true" unchecked="checkbox_false" />
- </object>
-
- <object type="text" color="%text_color%">
- <font resource="font" />
- <placement x="%center_x%" y="%row15_text_y%" placement="5" />
- <text>Package Date: %tw_restore_file_date%</text>
- </object>
-
<object type="action">
<touch key="home" />
<action function="page">main</action>
@@ -1978,216 +1750,70 @@
</object>
</page>
+ <page name="selectstorage">
+ <object type="template" name="header" />
+
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row1_header_y%" w="%listbox_width%" h="%storage_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Storage:</text>
+ <icon selected="radio_true" unselected="radio_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_storage_path" />
+ <listtype name="storage" />
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <actions>
+ <action function="page">%tw_back%</action>
+ </actions>
+ </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_header_y%" placement="5" />
- <text>Mount Menu</text>
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row1_header_y%" w="%listbox_width%" h="%mount_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Mount:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <listtype name="mount" />
</object>
<object type="button">
- <placement x="%col1_x%" y="%row1_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="%row1_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="%row2_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="%row2_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="%row3_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="%row3_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="%row4_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 SD Card</text>
- <image resource="checkbox_false" />
- <action function="mount">EXTERNAL</action>
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row4_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 SD Card</text>
- <image resource="checkbox_true" />
- <action function="umount">EXTERNAL</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row4_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</text>
- <image resource="checkbox_false" />
- <action function="mount">INTERNAL</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row4_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</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="%row5_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="%row5_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="%row6_text_y%" />
- <font resource="font" color="#A0A0A0" />
- <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="%row6_text_y%" />
- <font resource="font" color="#A0A0A0" />
- <text>Unmount Boot</text>
- <image resource="checkbox_true" />
- <action function="umount">/boot</action>
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row8_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>Use external SD</text>
- <image resource="radio_true" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row8_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>Use external SD</text>
- <image resource="radio_false" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row8_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>Use internal storage</text>
- <image resource="radio_false" />
- <action function="togglestorage">internal</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row8_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>Use internal storage</text>
- <image resource="radio_true" />
- <action function="togglestorage">internal</action>
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%mount_storage_row%" w="%button_fill_full_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=mount</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="button">
<highlight color="%highlight_color%" />
<condition var1="tw_has_usb_storage" var2="1" />
- <placement x="%col1_x%" y="row3_y" />
+ <placement x="%col1_x%" y="row4_y" />
<font resource="font" color="%button_text_color%" />
<text>Mount USB Storage</text>
<image resource="main_button" />
@@ -2200,7 +1826,7 @@
<condition var1="tw_is_encrypted" var2="1" />
<condition var1="tw_is_decrypted" var2="0" />
</conditions>
- <placement x="%col2_x%" y="row3_y" />
+ <placement x="%col2_x%" y="row4_y" />
<font resource="font" color="%button_text_color%" />
<text>Decrypt Data</text>
<image resource="main_button" />
diff --git a/gui/devices/540x960/res/images/exclamation300.png b/gui/devices/540x960/res/images/exclamation300.png
deleted file mode 100644
index 1ac400d..0000000
--- a/gui/devices/540x960/res/images/exclamation300.png
+++ /dev/null
Binary files differ
diff --git a/gui/devices/540x960/res/ui.xml b/gui/devices/540x960/res/ui.xml
index 7c4967e..febc3db 100644
--- a/gui/devices/540x960/res/ui.xml
+++ b/gui/devices/540x960/res/ui.xml
@@ -39,7 +39,6 @@
<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="exclamation300" />
</resources>
<variables>
@@ -123,7 +122,7 @@
<variable name="console_installdone_height" value="380" />
<variable name="fileselector_x" value="5" />
<variable name="fileselector_width" value="530" />
- <variable name="fileselector_install_height" value="630" />
+ <variable name="fileselector_install_height" value="590" />
<variable name="fileselector_header_background" value="#202020" />
<variable name="fileselector_header_textcolor" value="#AAAAAA" />
<variable name="fileselector_header_separatorcolor" value="#33B5E5" />
@@ -164,8 +163,20 @@
<variable name="row_dst_text_y" value="540" />
<variable name="row_offset_text_y" value="580" />
<variable name="row_offset_medium_y" value="630" />
- <variable name="exclamation_x" value="120" />
- <variable name="exclamation_y" value="300" />
+ <variable name="button_fill_color" value="#303030" />
+ <variable name="button_fill_full_width" value="520" />
+ <variable name="button_fill_main_width" value="253" />
+ <variable name="button_fill_main_height" value="162" />
+ <variable name="button_fill_half_height" value="81" />
+ <variable name="button_fill_quarter_height" value="40" />
+ <variable name="backup_list_height" value="445" />
+ <variable name="backup_button_row1" value="600" />
+ <variable name="backup_button_row2" value="645" />
+ <variable name="mount_list_height" value="500" />
+ <variable name="mount_storage_row" value="630" />
+ <variable name="storage_list_height" value="675" />
+ <variable name="wipe_list_height" value="670" />
+ <variable name="wipe_button_y" value="475" />
</variables>
<templates>
@@ -464,56 +475,20 @@
</object>
<object type="button">
- <placement x="%col1_x%" y="%row1_text_y%" />
- <font resource="mediumfont" color="%text_color%" />
- <conditions>
- <condition var1="tw_has_dual_storage" var2="1" />
- <condition var1="tw_use_external_storage" var2="1" />
- </conditions>
- <text>Use external SD</text>
- <image resource="radio_true" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row1_text_y%" />
- <font resource="mediumfont" color="%text_color%" />
- <conditions>
- <condition var1="tw_has_dual_storage" var2="1" />
- <condition var1="tw_use_external_storage" var2="0" />
- </conditions>
- <text>Use external SD</text>
- <image resource="radio_false" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row1_text_y%" />
- <font resource="mediumfont" color="%text_color%" />
- <conditions>
- <condition var1="tw_has_dual_storage" var2="1" />
- <condition var1="tw_use_external_storage" var2="1" />
- </conditions>
- <text>Use internal storage</text>
- <image resource="radio_false" />
- <action function="togglestorage">internal</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row1_text_y%" />
- <font resource="mediumfont" color="%text_color%" />
- <conditions>
- <condition var1="tw_has_dual_storage" var2="1" />
- <condition var1="tw_use_external_storage" var2="0" />
- </conditions>
- <text>Use internal storage</text>
- <image resource="radio_true" />
- <action function="togglestorage">internal</action>
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%row1_text_y%" w="%button_fill_full_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=install</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="fileselector">
<highlight color="%fileselector_highlight_color%" />
- <placement x="%fileselector_x%" y="%row2_text_y%" w="%fileselector_width%" h="%fileselector_install_height%" />
+ <placement x="%fileselector_x%" y="%row3_text_y%" w="%fileselector_width%" h="%fileselector_install_height%" />
<header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
<fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
<text>%tw_zip_location%</text>
@@ -825,15 +800,6 @@
<page name="confirm_action">
<object type="template" name="header" />
- <object type="button">
- <highlight color="%highlight_color%" />
- <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" />
@@ -1110,194 +1076,154 @@
<object type="text" color="%text_color%">
<font resource="font" />
- <placement x="%center_x%" y="%row1_header_y%" placement="5" />
- <text>Wipe Menu</text>
- </object>
-
- <object type="button">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <placement x="%col1_x%" y="%row2_y%" />
- <font resource="font" color="%button_text_color%" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
<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="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>Wipes Data, Cache, and Dalvik</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_data_media" var2="0" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>.android_secure</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_data_media" var2="1" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>(not including internal storage)</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_sdext_partition" var2="1" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row4_text_y%" placement="5" />
+ <text>SD-EXT</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row5_text_y%" placement="5" />
+ <text>Most of the time this is</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row6_text_y%" placement="5" />
+ <text>the only wipe that you need.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row16_text_y%" placement="5" />
+ <text>Press back button to cancel.</text>
</object>
<object type="button">
<highlight color="%highlight_color%" />
- <placement x="%col2_x%" y="%row2_y%" />
+ <placement x="%col1_x%" y="%wipe_button_y%" />
<font resource="font" color="%button_text_color%" />
- <text>System</text>
+ <text>Advanced Wipe</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>
+ <action function="page">advancedwipe</action>
</object>
<object type="button">
- <highlight color="%highlight_color%" />
- <condition var1="tw_has_external" var2="1" />
- <placement x="%col1_x%" y="%row3_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">
- <highlight color="%highlight_color%" />
- <condition var1="tw_has_internal" var2="1" />
- <placement x="%col2_x%" y="%row3_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">
- <highlight color="%highlight_color%" />
<conditions>
<condition var1="tw_has_internal" var2="1" />
<condition var1="tw_has_data_media" var2="1" />
</conditions>
- <placement x="%col1_x%" y="%row4_y%" />
+ <highlight color="%highlight_color%" />
+ <placement x="%col2_x%" y="%wipe_button_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 internal storage</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>
+ <action function="page">formatdata</action>
</actions>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <condition var1="tw_has_data_media" var2="0" />
- <placement x="%col1_x%" y="%row4_y%" />
- <font resource="font" color="%button_text_color%" />
- <text>Android Secure</text>
- <image resource="main_button" />
+ <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=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>
+ <action function="set">tw_action_param=data</action>
+ <action function="set">tw_action_text1=Factory Reset...</action>
+ <action function="set">tw_complete_text1=Factory Reset Complete</action>
+ <action function="page">action_page</action>
</actions>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <condition var1="tw_has_sdext_partition" var2="1" />
- <placement x="%col2_x%" y="%row4_y%" />
- <font resource="font" color="%button_text_color%" />
- <text>SD Ext</text>
- <image resource="main_button" />
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%slider_text_y%" placement="4" />
+ <text>Swipe to Factory Reset</text>
+ </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="advancedwipe">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_header_y%" placement="5" />
+ <text>Wipe Menu</text>
+ </object>
+
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row1_header_y%" w="%listbox_width%" h="%wipe_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Wipe:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_wipe_list" />
+ <listtype name="wipe" />
+ </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=wipe</action>
+ <action function="set">tw_back=advancedwipe</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>
+ <action function="set">tw_action_param=LIST</action>
+ <action function="set">tw_text1=Wipe Selected Partition(s)?</action>
+ <action function="set">tw_action_text1=Wiping Partition(s)...</action>
+ <action function="set">tw_complete_text1=Wipe 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 Wipe</text>
+ </object>
+
<object type="action">
<touch key="home" />
<action function="page">main</action>
@@ -1305,12 +1231,90 @@
<object type="action">
<touch key="back" />
- <action function="page">main</action>
+ <action function="page">wipe</action>
</object>
<object type="template" name="footer" />
</page>
+ <page name="formatdata">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_header_y%" placement="5" />
+ <text>Format Data will wipe all of your apps,</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>backups, pictures, videos, media, and</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>removes encryption on internal storage.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>This cannot be undone. Press back to cancel.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row4_text_y%" placement="5" />
+ <text>Type yes to continue.</text>
+ </object>
+
+ <object type="input">
+ <placement x="%col1_x%" y="%row6_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_confirm_formatdata%</text>
+ <data name="tw_confirm_formatdata" />
+ <restrict minlen="3" maxlen="3" allow="yes" />
+ <action function="page">formatdata_confirm</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">wipe</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="formatdata_confirm">
+ <object type="action">
+ <condition var1="tw_confirm_formatdata" op="=" var2="yes" />
+ <actions>
+ <action function="set">tw_back=formatdata</action>
+ <action function="set">tw_action=wipe</action>
+ <action function="set">tw_action_param=DATAMEDIA</action>
+ <action function="set">tw_action_text1=Formatting Data...</action>
+ <action function="set">tw_complete_text1=Data Format Complete</action>
+ <action function="page">action_page</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <condition var1="tw_confirm_formatdata" op="!=" var2="yes" />
+ <action function="page">formatdata</function>
+ </object>
+ </page>
+
<page name="backup">
<object type="template" name="header" />
@@ -1320,10 +1324,67 @@
<text>Backup Name: %tw_backup_name%</text>
</object>
- <object type="text" color="%text_color%">
- <placement x="%col1_x%" y="%row1_text_y%" />
- <font resource="font" />
- <text>Backup Device</text>
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row1_text_y%" w="%listbox_width%" h="%backup_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Back Up:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_backup_list" />
+ <listtype name="backup" />
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%backup_button_row1%" w="%button_fill_main_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Set Backup Name</text>
+ <actions>
+ <action function="set">tw_fileexists=0</action>
+ <action function="page">backupname1</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col2_x%" y="%backup_button_row1%" w="%button_fill_main_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Refresh Sizes</text>
+ <action function="refreshsizes"></action>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%backup_button_row2%" w="%button_fill_full_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=backup</action>
+ <action function="page">selectstorage</action>
+ </actions>
+ </object>
+
+ <object type="checkbox">
+ <placement x="%col1_x%" y="%row15_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Enable compression.</text>
+ <data variable="tw_use_compression" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="checkbox">
+ <placement x="%col1_x%" y="%row16_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Skip MD5 generation during backup.</text>
+ <data variable="tw_skip_md5_generate" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
</object>
<object type="slider">
@@ -1338,186 +1399,6 @@
<text>Swipe to Back Up</text>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <placement x="%col2_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">
- <highlight color="%highlight_color%" />
- <placement x="%col2_x%" y="%backup_name_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="checkbox">
- <placement x="%col1_x%" y="%row2_text_y%" />
- <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="%col1_x%" y="%row3_text_y%" />
- <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="%col1_x%" y="%row4_text_y%" />
- <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="%col1_x%" y="%row5_text_y%" />
- <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="%col1_x%" y="%row6_text_y%" />
- <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="%col1_x%" y="%row7_text_y%" />
- <font resource="font" color="%text_color%" />
- <text>.android_secure (%tw_backup_andsec_size% MB)</text>
- <condition var1="fileexists" var2="/sdcard/.android_secure" />
- <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="%col1_x%" y="%row8_text_y%" />
- <font resource="font" color="%text_color%" />
- <text>sd-ext (%tw_backup_sdext_size% MB)</text>
- <condition var1="fileexists" var2="/sd-ext" />
- <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="%col1_x%" y="%row9_text_y%" />
- <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="%col1_x%" y="%row10_text_y%" />
- <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="%col1_x%" y="%row11_text_y%" />
- <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="text" color="%text_color%">
- <font resource="font" />
- <placement x="%col1_x%" y="%row13_text_y%" />
- <text>Free Space: %tw_storage_free_size% MB</text>
- </object>
-
- <object type="checkbox">
- <placement x="%col1_x%" y="%row14_text_y%" />
- <font resource="font" color="%text_color%" />
- <text>Enable compression.</text>
- <data variable="tw_use_compression" />
- <image checked="checkbox_true" unchecked="checkbox_false" />
- </object>
-
- <object type="checkbox">
- <placement x="%col1_x%" y="%row15_text_y%" />
- <font resource="font" color="%text_color%" />
- <text>Skip MD5 generation during backup.</text>
- <data variable="tw_skip_md5_generate" />
- <image checked="checkbox_true" unchecked="checkbox_false" />
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row16_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>Use external SD</text>
- <image resource="radio_true" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row16_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>Use external SD</text>
- <image resource="radio_false" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row16_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>Use internal storage</text>
- <image resource="radio_false" />
- <action function="togglestorage">internal</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row16_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>Use internal storage</text>
- <image resource="radio_true" />
- <action function="togglestorage">internal</action>
- </object>
-
<object type="action">
<touch key="home" />
<action function="page">main</action>
@@ -1639,56 +1520,20 @@
<object type="template" name="header" />
<object type="button">
- <placement x="%col1_x%" y="%row1_header_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>Use external SD</text>
- <image resource="radio_true" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row1_header_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>Use external SD</text>
- <image resource="radio_false" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row1_header_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>Use internal storage</text>
- <image resource="radio_false" />
- <action function="togglestorage">internal</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row1_header_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>Use internal storage</text>
- <image resource="radio_true" />
- <action function="togglestorage">internal</action>
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%row1_header_y%" w="%button_fill_full_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=restore</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="fileselector">
<highlight color="%fileselector_highlight_color%" />
- <placement x="%fileselector_x%" y="%row1_y%" w="%fileselector_width%" h="%fileselector_install_height%" />
+ <placement x="%fileselector_x%" y="%row2_text_y%" w="%fileselector_width%" h="%fileselector_install_height%" />
<header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
<fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
<text>Select Package to Restore:</text>
@@ -1729,18 +1574,26 @@
<page name="restore_select">
<object type="template" name="header" />
- <object type="text">
- <placement x="%center_x%" y="%row1_header_y%" placement="5" />
- <font resource="font" color="%text_color%" />
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row1_header_y%" w="%listbox_width%" h="%backup_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
<text>Restoring: %tw_restore_name%</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_restore_list" selectedlist="tw_restore_selected" />
+ <listtype name="restore" />
</object>
<object type="button">
<highlight color="%highlight_color%" />
- <placement x="%col2_x%" y="%row1_y%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%backup_button_row1%" w="%button_fill_main_width%" h="%button_fill_quarter_height%" />
<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>
@@ -1750,10 +1603,10 @@
<object type="button">
<highlight color="%highlight_color%" />
- <placement x="%col2_x%" y="%row2_y%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col2_x%" y="%backup_button_row1%" w="%button_fill_main_width%" h="%button_fill_quarter_height%" />
<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>
@@ -1767,6 +1620,20 @@
</actions>
</object>
+ <object type="checkbox">
+ <placement x="%col1_x%" y="%row15_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Enable MD5 verification of backup files.</text>
+ <data variable="tw_skip_md5_check" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row16_text_y%" placement="5" />
+ <text>Package Date: %tw_restore_file_date%</text>
+ </object>
+
<object type="slider">
<placement x="%slider_x%" y="%slider_y%" />
<resource base="slider" used="slider-used" touch="slider-touch" />
@@ -1779,101 +1646,6 @@
<text>Swipe to Restore</text>
</object>
- <object type="checkbox">
- <placement x="%col1_x%" y="%row2_text_y%" />
- <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="%col1_x%" y="%row3_text_y%" />
- <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="%col1_x%" y="%row4_text_y%" />
- <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="%col1_x%" y="%row6_text_y%" />
- <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="%col1_x%" y="%row7_text_y%" />
- <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="%col1_x%" y="%row8_text_y%" />
- <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="%col1_x%" y="%row10_text_y%" />
- <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="%col1_x%" y="%row11_text_y%" />
- <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="%col1_x%" y="%row12_text_y%" />
- <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="%row14_text_y%" />
- <font resource="font" color="%text_color%" />
- <text>Enable MD5 verification of backup files.</text>
- <data variable="tw_skip_md5_check" />
- <image checked="checkbox_true" unchecked="checkbox_false" />
- </object>
-
- <object type="text" color="%text_color%">
- <font resource="font" />
- <placement x="%center_x%" y="%row15_text_y%" placement="5" />
- <text>Package Date: %tw_restore_file_date%</text>
- </object>
-
<object type="action">
<touch key="home" />
<action function="page">main</action>
@@ -1979,216 +1751,70 @@
</object>
</page>
+ <page name="selectstorage">
+ <object type="template" name="header" />
+
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row1_header_y%" w="%listbox_width%" h="%storage_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Storage:</text>
+ <icon selected="radio_true" unselected="radio_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_storage_path" />
+ <listtype name="storage" />
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <actions>
+ <action function="page">%tw_back%</action>
+ </actions>
+ </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_header_y%" placement="5" />
- <text>Mount Menu</text>
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row1_header_y%" w="%listbox_width%" h="%mount_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Mount:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <listtype name="mount" />
</object>
<object type="button">
- <placement x="%col1_x%" y="%row1_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="%row1_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="%row2_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="%row2_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="%row3_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="%row3_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="%row4_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 SD Card</text>
- <image resource="checkbox_false" />
- <action function="mount">EXTERNAL</action>
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row4_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 SD Card</text>
- <image resource="checkbox_true" />
- <action function="umount">EXTERNAL</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row4_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</text>
- <image resource="checkbox_false" />
- <action function="mount">INTERNAL</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row4_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</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="%row5_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="%row5_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="%row6_text_y%" />
- <font resource="font" color="#A0A0A0" />
- <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="%row6_text_y%" />
- <font resource="font" color="#A0A0A0" />
- <text>Unmount Boot</text>
- <image resource="checkbox_true" />
- <action function="umount">/boot</action>
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row8_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>Use external SD</text>
- <image resource="radio_true" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row8_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>Use external SD</text>
- <image resource="radio_false" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row8_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>Use internal storage</text>
- <image resource="radio_false" />
- <action function="togglestorage">internal</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row8_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>Use internal storage</text>
- <image resource="radio_true" />
- <action function="togglestorage">internal</action>
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%mount_storage_row%" w="%button_fill_full_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=mount</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="button">
<highlight color="%highlight_color%" />
<condition var1="tw_has_usb_storage" var2="1" />
- <placement x="%col1_x%" y="row3_y" />
+ <placement x="%col1_x%" y="row4_y" />
<font resource="font" color="%button_text_color%" />
<text>Mount USB Storage</text>
<image resource="main_button" />
@@ -2201,7 +1827,7 @@
<condition var1="tw_is_encrypted" var2="1" />
<condition var1="tw_is_decrypted" var2="0" />
</conditions>
- <placement x="%col2_x%" y="row3_y" />
+ <placement x="%col2_x%" y="row4_y" />
<font resource="font" color="%button_text_color%" />
<text>Decrypt Data</text>
<image resource="main_button" />
diff --git a/gui/devices/720x1280/res/images/exclamation400.png b/gui/devices/720x1280/res/images/exclamation400.png
deleted file mode 100644
index f3a8aab..0000000
--- a/gui/devices/720x1280/res/images/exclamation400.png
+++ /dev/null
Binary files differ
diff --git a/gui/devices/720x1280/res/ui.xml b/gui/devices/720x1280/res/ui.xml
index 5d94483..e2a02b1 100644
--- a/gui/devices/720x1280/res/ui.xml
+++ b/gui/devices/720x1280/res/ui.xml
@@ -39,12 +39,11 @@
<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="10" />
- <variable name="col2_x" value="383" />
+ <variable name="col2_x" value="373" />
<variable name="col_center_x" value="191" />
<variable name="col_center_medium_x" value="275" />
<variable name="center_x" value="360" />
@@ -128,7 +127,7 @@
<variable name="console_installdone_height" value="440" />
<variable name="fileselector_x" value="5" />
<variable name="fileselector_width" value="710" />
- <variable name="fileselector_install_height" value="840" />
+ <variable name="fileselector_install_height" value="780" />
<variable name="fileselector_header_background" value="#202020" />
<variable name="fileselector_header_textcolor" value="#AAAAAA" />
<variable name="fileselector_header_separatorcolor" value="#33B5E5" />
@@ -169,8 +168,20 @@
<variable name="row_dst_text_y" value="720" />
<variable name="row_offset_text_y" value="770" />
<variable name="row_offset_medium_y" value="840" />
- <variable name="exclamation_x" value="160" />
- <variable name="exclamation_y" value="400" />
+ <variable name="button_fill_color" value="#303030" />
+ <variable name="button_fill_full_width" value="700" />
+ <variable name="button_fill_main_width" value="337" />
+ <variable name="button_fill_main_height" value="216" />
+ <variable name="button_fill_half_height" value="108" />
+ <variable name="button_fill_quarter_height" value="54" />
+ <variable name="backup_list_height" value="570" />
+ <variable name="backup_button_row1" value="745" />
+ <variable name="backup_button_row2" value="810" />
+ <variable name="mount_list_height" value="690" />
+ <variable name="mount_storage_row" value="820" />
+ <variable name="storage_list_height" value="875" />
+ <variable name="wipe_list_height" value="870" />
+ <variable name="wipe_button_y" value="650" />
</variables>
<templates>
@@ -477,56 +488,20 @@
</object>
<object type="button">
- <placement x="%col1_x%" y="%row1_text_y%" />
- <font resource="mediumfont" color="%text_color%" />
- <conditions>
- <condition var1="tw_has_dual_storage" var2="1" />
- <condition var1="tw_use_external_storage" var2="1" />
- </conditions>
- <text>Use external SD</text>
- <image resource="radio_true" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row1_text_y%" />
- <font resource="mediumfont" color="%text_color%" />
- <conditions>
- <condition var1="tw_has_dual_storage" var2="1" />
- <condition var1="tw_use_external_storage" var2="0" />
- </conditions>
- <text>Use external SD</text>
- <image resource="radio_false" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row1_text_y%" />
- <font resource="mediumfont" color="%text_color%" />
- <conditions>
- <condition var1="tw_has_dual_storage" var2="1" />
- <condition var1="tw_use_external_storage" var2="1" />
- </conditions>
- <text>Use internal storage</text>
- <image resource="radio_false" />
- <action function="togglestorage">internal</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row1_text_y%" />
- <font resource="mediumfont" color="%text_color%" />
- <conditions>
- <condition var1="tw_has_dual_storage" var2="1" />
- <condition var1="tw_use_external_storage" var2="0" />
- </conditions>
- <text>Use internal storage</text>
- <image resource="radio_true" />
- <action function="togglestorage">internal</action>
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%row1_text_y%" w="%button_fill_full_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=install</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="fileselector">
<highlight color="%fileselector_highlight_color%" />
- <placement x="%fileselector_x%" y="%row2_text_y%" w="%fileselector_width%" h="%fileselector_install_height%" />
+ <placement x="%fileselector_x%" y="%row3_text_y%" w="%fileselector_width%" h="%fileselector_install_height%" />
<header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
<fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
<text>%tw_zip_location%</text>
@@ -838,15 +813,6 @@
<page name="confirm_action">
<object type="template" name="header" />
- <object type="button">
- <highlight color="%highlight_color%" />
- <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" />
@@ -1123,194 +1089,154 @@
<object type="text" color="%text_color%">
<font resource="font" />
- <placement x="%center_x%" y="%row1_header_y%" placement="5" />
- <text>Wipe Menu</text>
- </object>
-
- <object type="button">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <placement x="%col1_x%" y="%row2_y%" />
- <font resource="font" color="%button_text_color%" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
<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="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>Wipes Data, Cache, and Dalvik</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_data_media" var2="0" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>.android_secure</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_data_media" var2="1" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>(not including internal storage)</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_sdext_partition" var2="1" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row4_text_y%" placement="5" />
+ <text>SD-EXT</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row5_text_y%" placement="5" />
+ <text>Most of the time this is</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row6_text_y%" placement="5" />
+ <text>the only wipe that you need.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row16_text_y%" placement="5" />
+ <text>Press back button to cancel.</text>
</object>
<object type="button">
<highlight color="%highlight_color%" />
- <placement x="%col2_x%" y="%row2_y%" />
+ <placement x="%col1_x%" y="%wipe_button_y%" />
<font resource="font" color="%button_text_color%" />
- <text>System</text>
+ <text>Advanced Wipe</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>
+ <action function="page">advancedwipe</action>
</object>
<object type="button">
- <highlight color="%highlight_color%" />
- <condition var1="tw_has_external" var2="1" />
- <placement x="%col1_x%" y="%row3_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">
- <highlight color="%highlight_color%" />
- <condition var1="tw_has_internal" var2="1" />
- <placement x="%col2_x%" y="%row3_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">
- <highlight color="%highlight_color%" />
<conditions>
<condition var1="tw_has_internal" var2="1" />
<condition var1="tw_has_data_media" var2="1" />
</conditions>
- <placement x="%col1_x%" y="%row4_y%" />
+ <highlight color="%highlight_color%" />
+ <placement x="%col2_x%" y="%wipe_button_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 internal storage</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>
+ <action function="page">formatdata</action>
</actions>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <condition var1="tw_has_data_media" var2="0" />
- <placement x="%col1_x%" y="%row4_y%" />
- <font resource="font" color="%button_text_color%" />
- <text>Android Secure</text>
- <image resource="main_button" />
+ <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=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>
+ <action function="set">tw_action_param=data</action>
+ <action function="set">tw_action_text1=Factory Reset...</action>
+ <action function="set">tw_complete_text1=Factory Reset Complete</action>
+ <action function="page">action_page</action>
</actions>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <condition var1="tw_has_sdext_partition" var2="1" />
- <placement x="%col2_x%" y="%row4_y%" />
- <font resource="font" color="%button_text_color%" />
- <text>SD Ext</text>
- <image resource="main_button" />
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%slider_text_y%" placement="4" />
+ <text>Swipe to Factory Reset</text>
+ </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="advancedwipe">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_header_y%" placement="5" />
+ <text>Wipe Menu</text>
+ </object>
+
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row1_header_y%" w="%listbox_width%" h="%wipe_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Wipe:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_wipe_list" />
+ <listtype name="wipe" />
+ </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=wipe</action>
+ <action function="set">tw_back=advancedwipe</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>
+ <action function="set">tw_action_param=LIST</action>
+ <action function="set">tw_text1=Wipe Selected Partition(s)?</action>
+ <action function="set">tw_action_text1=Wiping Partition(s)...</action>
+ <action function="set">tw_complete_text1=Wipe 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 Wipe</text>
+ </object>
+
<object type="action">
<touch key="home" />
<action function="page">main</action>
@@ -1318,12 +1244,90 @@
<object type="action">
<touch key="back" />
- <action function="page">main</action>
+ <action function="page">wipe</action>
</object>
<object type="template" name="footer" />
</page>
+ <page name="formatdata">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_header_y%" placement="5" />
+ <text>Format Data will wipe all of your apps,</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>backups, pictures, videos, media, and</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>removes encryption on internal storage.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>This cannot be undone. Press back to cancel.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row4_text_y%" placement="5" />
+ <text>Type yes to continue.</text>
+ </object>
+
+ <object type="input">
+ <placement x="%col1_x%" y="%row6_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_confirm_formatdata%</text>
+ <data name="tw_confirm_formatdata" />
+ <restrict minlen="3" maxlen="3" allow="yes" />
+ <action function="page">formatdata_confirm</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">wipe</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="formatdata_confirm">
+ <object type="action">
+ <condition var1="tw_confirm_formatdata" op="=" var2="yes" />
+ <actions>
+ <action function="set">tw_back=formatdata</action>
+ <action function="set">tw_action=wipe</action>
+ <action function="set">tw_action_param=DATAMEDIA</action>
+ <action function="set">tw_action_text1=Formatting Data...</action>
+ <action function="set">tw_complete_text1=Data Format Complete</action>
+ <action function="page">action_page</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <condition var1="tw_confirm_formatdata" op="!=" var2="yes" />
+ <action function="page">formatdata</function>
+ </object>
+ </page>
+
<page name="backup">
<object type="template" name="header" />
@@ -1333,10 +1337,67 @@
<text>Backup Name: %tw_backup_name%</text>
</object>
- <object type="text" color="%text_color%">
- <placement x="%col1_x%" y="%row1_text_y%" />
- <font resource="font" />
- <text>Backup Device</text>
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row1_text_y%" w="%listbox_width%" h="%backup_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Back Up:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_backup_list" />
+ <listtype name="backup" />
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%backup_button_row1%" w="%button_fill_main_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Set Backup Name</text>
+ <actions>
+ <action function="set">tw_fileexists=0</action>
+ <action function="page">backupname1</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col2_x%" y="%backup_button_row1%" w="%button_fill_main_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Refresh Sizes</text>
+ <action function="refreshsizes"></action>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%backup_button_row2%" w="%button_fill_full_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=backup</action>
+ <action function="page">selectstorage</action>
+ </actions>
+ </object>
+
+ <object type="checkbox">
+ <placement x="%col1_x%" y="%row15_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Enable compression.</text>
+ <data variable="tw_use_compression" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="checkbox">
+ <placement x="%col1_x%" y="%row16_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Skip MD5 generation during backup.</text>
+ <data variable="tw_skip_md5_generate" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
</object>
<object type="slider">
@@ -1351,186 +1412,6 @@
<text>Swipe to Back Up</text>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <placement x="%col2_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">
- <highlight color="%highlight_color%" />
- <placement x="%col2_x%" y="%backup_name_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="checkbox">
- <placement x="%col1_x%" y="%row2_text_y%" />
- <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="%col1_x%" y="%row3_text_y%" />
- <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="%col1_x%" y="%row4_text_y%" />
- <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="%col1_x%" y="%row5_text_y%" />
- <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="%col1_x%" y="%row6_text_y%" />
- <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="%col1_x%" y="%row7_text_y%" />
- <font resource="font" color="%text_color%" />
- <text>.android_secure (%tw_backup_andsec_size% MB)</text>
- <condition var1="fileexists" var2="/sdcard/.android_secure" />
- <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="%col1_x%" y="%row8_text_y%" />
- <font resource="font" color="%text_color%" />
- <text>sd-ext (%tw_backup_sdext_size% MB)</text>
- <condition var1="fileexists" var2="/sd-ext" />
- <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="%col1_x%" y="%row9_text_y%" />
- <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="%col1_x%" y="%row10_text_y%" />
- <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="%col1_x%" y="%row11_text_y%" />
- <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="text" color="%text_color%">
- <font resource="font" />
- <placement x="%col1_x%" y="%row13_text_y%" />
- <text>Free Space: %tw_storage_free_size% MB</text>
- </object>
-
- <object type="checkbox">
- <placement x="%col1_x%" y="%row14_text_y%" />
- <font resource="font" color="%text_color%" />
- <text>Enable compression.</text>
- <data variable="tw_use_compression" />
- <image checked="checkbox_true" unchecked="checkbox_false" />
- </object>
-
- <object type="checkbox">
- <placement x="%col1_x%" y="%row15_text_y%" />
- <font resource="font" color="%text_color%" />
- <text>Skip MD5 generation during backup.</text>
- <data variable="tw_skip_md5_generate" />
- <image checked="checkbox_true" unchecked="checkbox_false" />
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row16_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>Use external SD</text>
- <image resource="radio_true" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row16_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>Use external SD</text>
- <image resource="radio_false" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row16_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>Use internal storage</text>
- <image resource="radio_false" />
- <action function="togglestorage">internal</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row16_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>Use internal storage</text>
- <image resource="radio_true" />
- <action function="togglestorage">internal</action>
- </object>
-
<object type="action">
<touch key="home" />
<action function="page">main</action>
@@ -1652,56 +1533,20 @@
<object type="template" name="header" />
<object type="button">
- <placement x="%col1_x%" y="%row1_header_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>Use external SD</text>
- <image resource="radio_true" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row1_header_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>Use external SD</text>
- <image resource="radio_false" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row1_header_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>Use internal storage</text>
- <image resource="radio_false" />
- <action function="togglestorage">internal</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row1_header_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>Use internal storage</text>
- <image resource="radio_true" />
- <action function="togglestorage">internal</action>
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%row1_header_y%" w="%button_fill_full_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=restore</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="fileselector">
<highlight color="%fileselector_highlight_color%" />
- <placement x="%fileselector_x%" y="%row1_y%" w="%fileselector_width%" h="%fileselector_install_height%" />
+ <placement x="%fileselector_x%" y="%row2_text_y%" w="%fileselector_width%" h="%fileselector_install_height%" />
<header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
<fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
<text>Select Package to Restore:</text>
@@ -1742,18 +1587,26 @@
<page name="restore_select">
<object type="template" name="header" />
- <object type="text">
- <placement x="%center_x%" y="%row1_header_y%" placement="5" />
- <font resource="font" color="%text_color%" />
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row1_header_y%" w="%listbox_width%" h="%backup_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
<text>Restoring: %tw_restore_name%</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_restore_list" selectedlist="tw_restore_selected" />
+ <listtype name="restore" />
</object>
<object type="button">
<highlight color="%highlight_color%" />
- <placement x="%col2_x%" y="%row1_y%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%backup_button_row1%" w="%button_fill_main_width%" h="%button_fill_quarter_height%" />
<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>
@@ -1763,10 +1616,10 @@
<object type="button">
<highlight color="%highlight_color%" />
- <placement x="%col2_x%" y="%row2_y%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col2_x%" y="%backup_button_row1%" w="%button_fill_main_width%" h="%button_fill_quarter_height%" />
<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>
@@ -1780,6 +1633,20 @@
</actions>
</object>
+ <object type="checkbox">
+ <placement x="%col1_x%" y="%row15_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Enable MD5 verification of backup files.</text>
+ <data variable="tw_skip_md5_check" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row16_text_y%" placement="5" />
+ <text>Package Date: %tw_restore_file_date%</text>
+ </object>
+
<object type="slider">
<placement x="%slider_x%" y="%slider_y%" />
<resource base="slider" used="slider-used" touch="slider-touch" />
@@ -1792,101 +1659,6 @@
<text>Swipe to Restore</text>
</object>
- <object type="checkbox">
- <placement x="%col1_x%" y="%row2_text_y%" />
- <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="%col1_x%" y="%row3_text_y%" />
- <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="%col1_x%" y="%row4_text_y%" />
- <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="%col1_x%" y="%row6_text_y%" />
- <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="%col1_x%" y="%row7_text_y%" />
- <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="%col1_x%" y="%row8_text_y%" />
- <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="%col1_x%" y="%row10_text_y%" />
- <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="%col1_x%" y="%row11_text_y%" />
- <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="%col1_x%" y="%row12_text_y%" />
- <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="%row14_text_y%" />
- <font resource="font" color="%text_color%" />
- <text>Enable MD5 verification of backup files.</text>
- <data variable="tw_skip_md5_check" />
- <image checked="checkbox_true" unchecked="checkbox_false" />
- </object>
-
- <object type="text" color="%text_color%">
- <font resource="font" />
- <placement x="%center_x%" y="%row15_text_y%" placement="5" />
- <text>Package Date: %tw_restore_file_date%</text>
- </object>
-
<object type="action">
<touch key="home" />
<action function="page">main</action>
@@ -1992,216 +1764,70 @@
</object>
</page>
+ <page name="selectstorage">
+ <object type="template" name="header" />
+
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row1_header_y%" w="%listbox_width%" h="%storage_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Storage:</text>
+ <icon selected="radio_true" unselected="radio_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_storage_path" />
+ <listtype name="storage" />
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <actions>
+ <action function="page">%tw_back%</action>
+ </actions>
+ </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_header_y%" placement="5" />
- <text>Mount Menu</text>
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row1_header_y%" w="%listbox_width%" h="%mount_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Mount:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <listtype name="mount" />
</object>
<object type="button">
- <placement x="%col1_x%" y="%row1_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="%row1_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="%row2_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="%row2_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="%row3_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="%row3_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="%row4_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 SD Card</text>
- <image resource="checkbox_false" />
- <action function="mount">EXTERNAL</action>
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row4_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 SD Card</text>
- <image resource="checkbox_true" />
- <action function="umount">EXTERNAL</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row4_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</text>
- <image resource="checkbox_false" />
- <action function="mount">INTERNAL</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row4_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</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="%row5_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="%row5_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="%row6_text_y%" />
- <font resource="font" color="#A0A0A0" />
- <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="%row6_text_y%" />
- <font resource="font" color="#A0A0A0" />
- <text>Unmount Boot</text>
- <image resource="checkbox_true" />
- <action function="umount">/boot</action>
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row8_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>Use external SD</text>
- <image resource="radio_true" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row8_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>Use external SD</text>
- <image resource="radio_false" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row8_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>Use internal storage</text>
- <image resource="radio_false" />
- <action function="togglestorage">internal</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row8_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>Use internal storage</text>
- <image resource="radio_true" />
- <action function="togglestorage">internal</action>
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%mount_storage_row%" w="%button_fill_full_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=mount</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="button">
<highlight color="%highlight_color%" />
<condition var1="tw_has_usb_storage" var2="1" />
- <placement x="%col1_x%" y="row3_y" />
+ <placement x="%col1_x%" y="row4_y" />
<font resource="font" color="%button_text_color%" />
<text>Mount USB Storage</text>
<image resource="main_button" />
@@ -2214,7 +1840,7 @@
<condition var1="tw_is_encrypted" var2="1" />
<condition var1="tw_is_decrypted" var2="0" />
</conditions>
- <placement x="%col2_x%" y="row3_y" />
+ <placement x="%col2_x%" y="row4_y" />
<font resource="font" color="%button_text_color%" />
<text>Decrypt Data</text>
<image resource="main_button" />
diff --git a/gui/devices/800x1280/res/images/exclamation400.png b/gui/devices/800x1280/res/images/exclamation400.png
deleted file mode 100644
index f3a8aab..0000000
--- a/gui/devices/800x1280/res/images/exclamation400.png
+++ /dev/null
Binary files differ
diff --git a/gui/devices/800x1280/res/ui.xml b/gui/devices/800x1280/res/ui.xml
index 9e2e2b8..7282c92 100755
--- a/gui/devices/800x1280/res/ui.xml
+++ b/gui/devices/800x1280/res/ui.xml
@@ -39,12 +39,11 @@
<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="25" />
- <variable name="col2_x" value="425" />
+ <variable name="col1_x" value="10" />
+ <variable name="col2_x" value="415" />
<variable name="col_center_x" value="213" />
<variable name="col_center_medium_x" value="306" />
<variable name="center_x" value="400" />
@@ -123,7 +122,7 @@
<variable name="console_install_height" value="600" />
<variable name="console_installdone_height" value="440" />
<variable name="fileselector_x" value="5" />
- <variable name="fileselector_width" value="800" />
+ <variable name="fileselector_width" value="790" />
<variable name="fileselector_install_height" value="750" />
<variable name="fileselector_header_background" value="#202020" />
<variable name="fileselector_header_textcolor" value="#AAAAAA" />
@@ -142,7 +141,7 @@
<variable name="fastscroll_rectw" value="40" />
<variable name="fastscroll_recth" value="70" />
<variable name="listbox_x" value="5" />
- <variable name="listbox_width" value="710" />
+ <variable name="listbox_width" value="790" />
<variable name="listbox_tz_height" value="580" />
<variable name="listbox_background" value="#303030" />
<variable name="listbox_spacing" value="16" />
@@ -165,8 +164,20 @@
<variable name="row_dst_text_y" value="720" />
<variable name="row_offset_text_y" value="800" />
<variable name="row_offset_medium_y" value="840" />
- <variable name="exclamation_x" value="200" />
- <variable name="exclamation_y" value="400" />
+ <variable name="button_fill_color" value="#303030" />
+ <variable name="button_fill_full_width" value="780" />
+ <variable name="button_fill_main_width" value="375" />
+ <variable name="button_fill_main_height" value="240" />
+ <variable name="button_fill_half_height" value="120" />
+ <variable name="button_fill_quarter_height" value="54" />
+ <variable name="backup_list_height" value="570" />
+ <variable name="backup_button_row1" value="745" />
+ <variable name="backup_button_row2" value="810" />
+ <variable name="mount_list_height" value="690" />
+ <variable name="mount_storage_row" value="830" />
+ <variable name="storage_list_height" value="875" />
+ <variable name="wipe_list_height" value="870" />
+ <variable name="wipe_button_y" value="650" />
</variables>
<templates>
@@ -465,56 +476,20 @@
</object>
<object type="button">
- <placement x="%col1_x%" y="%row1_text_y%" />
- <font resource="mediumfont" color="%text_color%" />
- <conditions>
- <condition var1="tw_has_dual_storage" var2="1" />
- <condition var1="tw_use_external_storage" var2="1" />
- </conditions>
- <text>Use external SD</text>
- <image resource="radio_true" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row1_text_y%" />
- <font resource="mediumfont" color="%text_color%" />
- <conditions>
- <condition var1="tw_has_dual_storage" var2="1" />
- <condition var1="tw_use_external_storage" var2="0" />
- </conditions>
- <text>Use external SD</text>
- <image resource="radio_false" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row1_text_y%" />
- <font resource="mediumfont" color="%text_color%" />
- <conditions>
- <condition var1="tw_has_dual_storage" var2="1" />
- <condition var1="tw_use_external_storage" var2="1" />
- </conditions>
- <text>Use internal storage</text>
- <image resource="radio_false" />
- <action function="togglestorage">internal</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row1_text_y%" />
- <font resource="mediumfont" color="%text_color%" />
- <conditions>
- <condition var1="tw_has_dual_storage" var2="1" />
- <condition var1="tw_use_external_storage" var2="0" />
- </conditions>
- <text>Use internal storage</text>
- <image resource="radio_true" />
- <action function="togglestorage">internal</action>
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%row1_text_y%" w="%button_fill_full_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=install</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="fileselector">
<highlight color="%fileselector_highlight_color%" />
- <placement x="%fileselector_x%" y="%row2_text_y%" w="%fileselector_width%" h="%fileselector_install_height%" />
+ <placement x="%fileselector_x%" y="%row3_text_y%" w="%fileselector_width%" h="%fileselector_install_height%" />
<header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
<fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
<text>%tw_zip_location%</text>
@@ -826,15 +801,6 @@
<page name="confirm_action">
<object type="template" name="header" />
- <object type="button">
- <highlight color="%highlight_color%" />
- <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" />
@@ -1111,194 +1077,154 @@
<object type="text" color="%text_color%">
<font resource="font" />
- <placement x="%center_x%" y="%row1_header_y%" placement="5" />
- <text>Wipe Menu</text>
- </object>
-
- <object type="button">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <placement x="%col1_x%" y="%row2_y%" />
- <font resource="font" color="%button_text_color%" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
<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="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>Wipes Data, Cache, and Dalvik</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_data_media" var2="0" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>.android_secure</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_data_media" var2="1" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>(not including internal storage)</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_sdext_partition" var2="1" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row4_text_y%" placement="5" />
+ <text>SD-EXT</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row5_text_y%" placement="5" />
+ <text>Most of the time this is</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row6_text_y%" placement="5" />
+ <text>the only wipe that you need.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row16_text_y%" placement="5" />
+ <text>Press back button to cancel.</text>
</object>
<object type="button">
<highlight color="%highlight_color%" />
- <placement x="%col2_x%" y="%row2_y%" />
+ <placement x="%col1_x%" y="%wipe_button_y%" />
<font resource="font" color="%button_text_color%" />
- <text>System</text>
+ <text>Advanced Wipe</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>
+ <action function="page">advancedwipe</action>
</object>
<object type="button">
- <highlight color="%highlight_color%" />
- <condition var1="tw_has_external" var2="1" />
- <placement x="%col1_x%" y="%row3_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">
- <highlight color="%highlight_color%" />
- <condition var1="tw_has_internal" var2="1" />
- <placement x="%col2_x%" y="%row3_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">
- <highlight color="%highlight_color%" />
<conditions>
<condition var1="tw_has_internal" var2="1" />
<condition var1="tw_has_data_media" var2="1" />
</conditions>
- <placement x="%col1_x%" y="%row4_y%" />
+ <highlight color="%highlight_color%" />
+ <placement x="%col2_x%" y="%wipe_button_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 internal storage</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>
+ <action function="page">formatdata</action>
</actions>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <condition var1="tw_has_data_media" var2="0" />
- <placement x="%col1_x%" y="%row4_y%" />
- <font resource="font" color="%button_text_color%" />
- <text>Android Secure</text>
- <image resource="main_button" />
+ <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=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>
+ <action function="set">tw_action_param=data</action>
+ <action function="set">tw_action_text1=Factory Reset...</action>
+ <action function="set">tw_complete_text1=Factory Reset Complete</action>
+ <action function="page">action_page</action>
</actions>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <condition var1="tw_has_sdext_partition" var2="1" />
- <placement x="%col2_x%" y="%row4_y%" />
- <font resource="font" color="%button_text_color%" />
- <text>SD Ext</text>
- <image resource="main_button" />
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%slider_text_y%" placement="4" />
+ <text>Swipe to Factory Reset</text>
+ </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="advancedwipe">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_header_y%" placement="5" />
+ <text>Wipe Menu</text>
+ </object>
+
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row1_header_y%" w="%listbox_width%" h="%wipe_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Wipe:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_wipe_list" />
+ <listtype name="wipe" />
+ </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=wipe</action>
+ <action function="set">tw_back=advancedwipe</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>
+ <action function="set">tw_action_param=LIST</action>
+ <action function="set">tw_text1=Wipe Selected Partition(s)?</action>
+ <action function="set">tw_action_text1=Wiping Partition(s)...</action>
+ <action function="set">tw_complete_text1=Wipe 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 Wipe</text>
+ </object>
+
<object type="action">
<touch key="home" />
<action function="page">main</action>
@@ -1306,12 +1232,90 @@
<object type="action">
<touch key="back" />
- <action function="page">main</action>
+ <action function="page">wipe</action>
</object>
<object type="template" name="footer" />
</page>
+ <page name="formatdata">
+ <object type="template" name="header" />
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_header_y%" placement="5" />
+ <text>Format Data will wipe all of your apps,</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>backups, pictures, videos, media, and</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>removes encryption on internal storage.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>This cannot be undone. Press back to cancel.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row4_text_y%" placement="5" />
+ <text>Type yes to continue.</text>
+ </object>
+
+ <object type="input">
+ <placement x="%col1_x%" y="%row6_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_confirm_formatdata%</text>
+ <data name="tw_confirm_formatdata" />
+ <restrict minlen="3" maxlen="3" allow="yes" />
+ <action function="page">formatdata_confirm</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">wipe</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="formatdata_confirm">
+ <object type="action">
+ <condition var1="tw_confirm_formatdata" op="=" var2="yes" />
+ <actions>
+ <action function="set">tw_back=formatdata</action>
+ <action function="set">tw_action=wipe</action>
+ <action function="set">tw_action_param=DATAMEDIA</action>
+ <action function="set">tw_action_text1=Formatting Data...</action>
+ <action function="set">tw_complete_text1=Data Format Complete</action>
+ <action function="page">action_page</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <condition var1="tw_confirm_formatdata" op="!=" var2="yes" />
+ <action function="page">formatdata</function>
+ </object>
+ </page>
+
<page name="backup">
<object type="template" name="header" />
@@ -1321,10 +1325,67 @@
<text>Backup Name: %tw_backup_name%</text>
</object>
- <object type="text" color="%text_color%">
- <placement x="%col1_x%" y="%row1_text_y%" />
- <font resource="font" />
- <text>Backup Device</text>
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row1_text_y%" w="%listbox_width%" h="%backup_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Back Up:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_backup_list" />
+ <listtype name="backup" />
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%backup_button_row1%" w="%button_fill_main_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Set Backup Name</text>
+ <actions>
+ <action function="set">tw_fileexists=0</action>
+ <action function="page">backupname1</action>
+ </actions>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col2_x%" y="%backup_button_row1%" w="%button_fill_main_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Refresh Sizes</text>
+ <action function="refreshsizes"></action>
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%backup_button_row2%" w="%button_fill_full_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=backup</action>
+ <action function="page">selectstorage</action>
+ </actions>
+ </object>
+
+ <object type="checkbox">
+ <placement x="%col1_x%" y="%row15_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Enable compression.</text>
+ <data variable="tw_use_compression" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="checkbox">
+ <placement x="%col1_x%" y="%row16_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Skip MD5 generation during backup.</text>
+ <data variable="tw_skip_md5_generate" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
</object>
<object type="slider">
@@ -1339,186 +1400,6 @@
<text>Swipe to Back Up</text>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <placement x="%col2_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">
- <highlight color="%highlight_color%" />
- <placement x="%col2_x%" y="%backup_name_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="checkbox">
- <placement x="%col1_x%" y="%row2_text_y%" />
- <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="%col1_x%" y="%row3_text_y%" />
- <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="%col1_x%" y="%row4_text_y%" />
- <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="%col1_x%" y="%row5_text_y%" />
- <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="%col1_x%" y="%row6_text_y%" />
- <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="%col1_x%" y="%row7_text_y%" />
- <font resource="font" color="%text_color%" />
- <text>.android_secure (%tw_backup_andsec_size% MB)</text>
- <condition var1="fileexists" var2="/sdcard/.android_secure" />
- <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="%col1_x%" y="%row8_text_y%" />
- <font resource="font" color="%text_color%" />
- <text>sd-ext (%tw_backup_sdext_size% MB)</text>
- <condition var1="fileexists" var2="/sd-ext" />
- <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="%col1_x%" y="%row9_text_y%" />
- <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="%col1_x%" y="%row10_text_y%" />
- <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="%col1_x%" y="%row11_text_y%" />
- <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="text" color="%text_color%">
- <font resource="font" />
- <placement x="%col1_x%" y="%row13_text_y%" />
- <text>Free Space: %tw_storage_free_size% MB</text>
- </object>
-
- <object type="checkbox">
- <placement x="%col1_x%" y="%row14_text_y%" />
- <font resource="font" color="%text_color%" />
- <text>Enable compression.</text>
- <data variable="tw_use_compression" />
- <image checked="checkbox_true" unchecked="checkbox_false" />
- </object>
-
- <object type="checkbox">
- <placement x="%col1_x%" y="%row15_text_y%" />
- <font resource="font" color="%text_color%" />
- <text>Skip MD5 generation during backup.</text>
- <data variable="tw_skip_md5_generate" />
- <image checked="checkbox_true" unchecked="checkbox_false" />
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row16_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>Use external SD</text>
- <image resource="radio_true" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row16_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>Use external SD</text>
- <image resource="radio_false" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row16_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>Use internal storage</text>
- <image resource="radio_false" />
- <action function="togglestorage">internal</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row16_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>Use internal storage</text>
- <image resource="radio_true" />
- <action function="togglestorage">internal</action>
- </object>
-
<object type="action">
<touch key="home" />
<action function="page">main</action>
@@ -1640,56 +1521,20 @@
<object type="template" name="header" />
<object type="button">
- <placement x="%col1_x%" y="%row1_header_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>Use external SD</text>
- <image resource="radio_true" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row1_header_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>Use external SD</text>
- <image resource="radio_false" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row1_header_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>Use internal storage</text>
- <image resource="radio_false" />
- <action function="togglestorage">internal</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row1_header_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>Use internal storage</text>
- <image resource="radio_true" />
- <action function="togglestorage">internal</action>
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%row1_header_y%" w="%button_fill_full_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=restore</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="fileselector">
<highlight color="%fileselector_highlight_color%" />
- <placement x="%fileselector_x%" y="%row1_y%" w="%fileselector_width%" h="%fileselector_install_height%" />
+ <placement x="%fileselector_x%" y="%row2_text_y%" w="%fileselector_width%" h="%fileselector_install_height%" />
<header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
<fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
<text>Select Package to Restore:</text>
@@ -1730,18 +1575,26 @@
<page name="restore_select">
<object type="template" name="header" />
- <object type="text">
- <placement x="%center_x%" y="%row1_header_y%" placement="5" />
- <font resource="font" color="%text_color%" />
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row1_header_y%" w="%listbox_width%" h="%backup_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
<text>Restoring: %tw_restore_name%</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_restore_list" selectedlist="tw_restore_selected" />
+ <listtype name="restore" />
</object>
<object type="button">
<highlight color="%highlight_color%" />
- <placement x="%col2_x%" y="%row1_y%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%backup_button_row1%" w="%button_fill_main_width%" h="%button_fill_quarter_height%" />
<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>
@@ -1751,10 +1604,10 @@
<object type="button">
<highlight color="%highlight_color%" />
- <placement x="%col2_x%" y="%row2_y%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col2_x%" y="%backup_button_row1%" w="%button_fill_main_width%" h="%button_fill_quarter_height%" />
<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>
@@ -1768,6 +1621,20 @@
</actions>
</object>
+ <object type="checkbox">
+ <placement x="%col1_x%" y="%row15_text_y%" />
+ <font resource="font" color="%text_color%" />
+ <text>Enable MD5 verification of backup files.</text>
+ <data variable="tw_skip_md5_check" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row16_text_y%" placement="5" />
+ <text>Package Date: %tw_restore_file_date%</text>
+ </object>
+
<object type="slider">
<placement x="%slider_x%" y="%slider_y%" />
<resource base="slider" used="slider-used" touch="slider-touch" />
@@ -1780,101 +1647,6 @@
<text>Swipe to Restore</text>
</object>
- <object type="checkbox">
- <placement x="%col1_x%" y="%row2_text_y%" />
- <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="%col1_x%" y="%row3_text_y%" />
- <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="%col1_x%" y="%row4_text_y%" />
- <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="%col1_x%" y="%row6_text_y%" />
- <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="%col1_x%" y="%row7_text_y%" />
- <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="%col1_x%" y="%row8_text_y%" />
- <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="%col1_x%" y="%row10_text_y%" />
- <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="%col1_x%" y="%row11_text_y%" />
- <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="%col1_x%" y="%row12_text_y%" />
- <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="%row14_text_y%" />
- <font resource="font" color="%text_color%" />
- <text>Enable MD5 verification of backup files.</text>
- <data variable="tw_skip_md5_check" />
- <image checked="checkbox_true" unchecked="checkbox_false" />
- </object>
-
- <object type="text" color="%text_color%">
- <font resource="font" />
- <placement x="%center_x%" y="%row15_text_y%" placement="5" />
- <text>Package Date: %tw_restore_file_date%</text>
- </object>
-
<object type="action">
<touch key="home" />
<action function="page">main</action>
@@ -1980,216 +1752,70 @@
</object>
</page>
+ <page name="selectstorage">
+ <object type="template" name="header" />
+
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row1_header_y%" w="%listbox_width%" h="%storage_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Storage:</text>
+ <icon selected="radio_true" unselected="radio_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_storage_path" />
+ <listtype name="storage" />
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <actions>
+ <action function="page">%tw_back%</action>
+ </actions>
+ </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_header_y%" placement="5" />
- <text>Mount Menu</text>
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row1_header_y%" w="%listbox_width%" h="%mount_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Mount:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="filelist" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <listtype name="mount" />
</object>
<object type="button">
- <placement x="%col1_x%" y="%row1_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="%row1_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="%row2_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="%row2_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="%row3_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="%row3_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="%row4_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 SD Card</text>
- <image resource="checkbox_false" />
- <action function="mount">EXTERNAL</action>
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row4_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 SD Card</text>
- <image resource="checkbox_true" />
- <action function="umount">EXTERNAL</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row4_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</text>
- <image resource="checkbox_false" />
- <action function="mount">INTERNAL</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row4_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</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="%row5_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="%row5_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="%row6_text_y%" />
- <font resource="font" color="#A0A0A0" />
- <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="%row6_text_y%" />
- <font resource="font" color="#A0A0A0" />
- <text>Unmount Boot</text>
- <image resource="checkbox_true" />
- <action function="umount">/boot</action>
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row8_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>Use external SD</text>
- <image resource="radio_true" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col1_x%" y="%row8_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>Use external SD</text>
- <image resource="radio_false" />
- <action function="togglestorage">external</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row8_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>Use internal storage</text>
- <image resource="radio_false" />
- <action function="togglestorage">internal</action>
- </object>
-
- <object type="button">
- <placement x="%col2_x%" y="%row8_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>Use internal storage</text>
- <image resource="radio_true" />
- <action function="togglestorage">internal</action>
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col1_x%" y="%mount_storage_row%" w="%button_fill_full_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=mount</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="button">
<highlight color="%highlight_color%" />
<condition var1="tw_has_usb_storage" var2="1" />
- <placement x="%col1_x%" y="row3_y" />
+ <placement x="%col1_x%" y="row4_y" />
<font resource="font" color="%button_text_color%" />
<text>Mount USB Storage</text>
<image resource="main_button" />
@@ -2202,7 +1828,7 @@
<condition var1="tw_is_encrypted" var2="1" />
<condition var1="tw_is_decrypted" var2="0" />
</conditions>
- <placement x="%col2_x%" y="row3_y" />
+ <placement x="%col2_x%" y="row4_y" />
<font resource="font" color="%button_text_color%" />
<text>Decrypt Data</text>
<image resource="main_button" />
diff --git a/gui/devices/800x480/res/images/exclamation150.png b/gui/devices/800x480/res/images/exclamation150.png
deleted file mode 100644
index 6e05987..0000000
--- a/gui/devices/800x480/res/images/exclamation150.png
+++ /dev/null
Binary files differ
diff --git a/gui/devices/800x480/res/ui.xml b/gui/devices/800x480/res/ui.xml
index 8242370..97fdf44 100755
--- a/gui/devices/800x480/res/ui.xml
+++ b/gui/devices/800x480/res/ui.xml
@@ -41,7 +41,6 @@
<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="exclamation150" />
</resources>
<variables>
@@ -180,8 +179,24 @@
<variable name="terminal_text_y" value="247" />
<variable name="terminal_button_y" value="237" />
<variable name="terminal_input_width" value="551" />
- <variable name="exclamation_x" value="325" />
- <variable name="exclamation_y" value="120" />
+ <variable name="button_fill_color" value="#303030" />
+ <variable name="button_fill_full_width" value="400" />
+ <variable name="button_fill_main_width" value="367" />
+ <variable name="button_fill_main_height" value="120" />
+ <variable name="button_fill_half_height" value="60" />
+ <variable name="button_fill_quarter_height" value="30" />
+ <variable name="button_full_center_x" value="200" />
+ <variable name="backup_list_x" value="23" />
+ <variable name="backup_list_y" value="80" />
+ <variable name="backup_list_width" value="367" />
+ <variable name="backup_list_height" value="290" />
+ <variable name="backup_storage_y" value="190" />
+ <variable name="restore_list_y" value="100" />
+ <variable name="restore_list_height" value="270" />
+ <variable name="mount_list_height" value="360" />
+ <variable name="mount_storage_row" value="500" />
+ <variable name="wipe_list_height" value="300" />
+ <variable name="wipe_button_y" value="150" />
</variables>
<templates>
@@ -515,51 +530,15 @@
</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>
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%button_full_center_x%" y="%zipstorage_text_y%" w="%button_fill_full_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=install</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="fileselector">
@@ -864,15 +843,6 @@
<page name="confirm_action">
<object type="template" name="header" />
- <object type="button">
- <highlight color="%highlight_color%" />
- <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" />
@@ -1271,6 +1241,38 @@
<object type="template" name="footer" />
</page>
+ <page name="selectstorage">
+ <object type="template" name="header" />
+
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <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%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Storage:</text>
+ <icon selected="radio_true" unselected="radio_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="font" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_storage_path" />
+ <listtype name="storage" />
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <actions>
+ <action function="page">%tw_back%</action>
+ </actions>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
<page name="mount">
<object type="template" name="header" />
@@ -1280,9 +1282,35 @@
<text>Mount Menu</text>
</object>
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%backup_list_x%" y="%backup_list_y%" w="%backup_list_width%" h="%mount_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Mount:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="font" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <listtype name="mount" />
+ </object>
+
+ <object type="button">
+ <highlight color="%highlight_color%" />
+ <conditions>
+ <condition var1="tw_is_encrypted" var2="1" />
+ <condition var1="tw_is_decrypted" var2="0" />
+ </conditions>
+ <placement x="%col3_x%" y="row1_y" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Decrypt Data</text>
+ <image resource="main_button" />
+ <action function="page">decrypt</action>
+ </object>
+
<object type="button">
<condition var1="tw_has_usb_storage" var2="1" />
- <placement x="%col1_x%" y="%row1_y%" />
+ <placement x="%col4_x%" y="%row1_y%" />
<font resource="font" color="%button_text_color%" />
<text>Mount USB Storage</text>
<image resource="main_button" />
@@ -1290,201 +1318,15 @@
</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">
<highlight color="%highlight_color%" />
- <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>
+ <fill color="%button_fill_color%" />
+ <placement x="%col3_x%" y="%backup_storage_y%" w="%button_fill_main_width%" h="%button_fill_half_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=mount</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="action">
@@ -1549,191 +1391,83 @@
<object type="text" color="%text_color%">
<font resource="font" />
<placement x="%center_x%" y="%row1_text_y%" placement="5" />
- <text>Wipe Menu</text>
+ <text>Factory Reset: Wipes Data, Cache, and Dalvik</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_data_media" var2="0" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>.android_secure</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_data_media" var2="1" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>(not including internal storage)</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <condition var1="tw_has_sdext_partition" var2="1" />
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>SD-EXT</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row4_text_y%" placement="5" />
+ <text>Most of the time this is the only wipe that you need.</text>
</object>
<object type="button">
<highlight color="%highlight_color%" />
- <placement x="%col1_x%" y="%row1_y%" />
+ <placement x="%col2_x%" y="%wipe_button_y%" />
<font resource="font" color="%button_text_color%" />
- <text>Cache</text>
+ <text>Advanced Wipe</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>
+ <action function="page">advancedwipe</action>
</object>
<object type="button">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
<conditions>
<condition var1="tw_has_internal" var2="1" />
<condition var1="tw_has_data_media" var2="1" />
</conditions>
- <placement x="%col3_x%" y="%row2_y%" />
+ <highlight color="%highlight_color%" />
+ <placement x="%col3_x%" y="%wipe_button_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>
+ <action function="page">formatdata</action>
</actions>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <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" />
+ <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" />
<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>
+ <action function="set">tw_action_param=data</action>
+ <action function="set">tw_action_text1=Factory Reset...</action>
+ <action function="set">tw_complete_text1=Factory Reset Complete</action>
+ <action function="page">action_page</action>
</actions>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <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 type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%slider_text_y%" placement="4" />
+ <text>Swipe to Factory Reset</text>
</object>
<object type="action">
@@ -1749,6 +1483,128 @@
<object type="template" name="footer" />
</page>
+ <page name="advancedwipe">
+ <object type="template" name="header" />
+
+ <object type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%listbox_x%" y="%row2_text_y%" w="%listbox_width%" h="%wipe_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Wipe:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="font" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_wipe_list" />
+ <listtype name="wipe" />
+ </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=advancedwipe</action>
+ <action function="set">tw_action=wipe</action>
+ <action function="set">tw_action_param=LIST</action>
+ <action function="set">tw_text1=Wipe Selected Partition(s)?</action>
+ <action function="set">tw_action_text1=Wiping Partition(s)...</action>
+ <action function="set">tw_complete_text1=Wipe 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 Wipe</text>
+ </object>
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
+ </object>
+
+ <object type="action">
+ <touch key="back" />
+ <action function="page">wipe</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="formatdata">
+ <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>Format Data will wipe all of your apps, backups, pictures,</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row2_text_y%" placement="5" />
+ <text>videos, media, and removes encryption on internal storage.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>This cannot be undone. Press back to cancel.</text>
+ </object>
+
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row4_text_y%" placement="5" />
+ <text>Type yes to continue.</text>
+ </object>
+
+ <object type="input">
+ <placement x="%input_x%" y="%row6_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_confirm_formatdata%</text>
+ <data name="tw_confirm_formatdata" />
+ <restrict minlen="3" maxlen="3" allow="yes" />
+ <action function="page">formatdata_confirm</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">wipe</action>
+ </object>
+
+ <object type="template" name="footer" />
+ </page>
+
+ <page name="formatdata_confirm">
+ <object type="action">
+ <condition var1="tw_confirm_formatdata" op="=" var2="yes" />
+ <actions>
+ <action function="set">tw_back=formatdata</action>
+ <action function="set">tw_action=wipe</action>
+ <action function="set">tw_action_param=DATAMEDIA</action>
+ <action function="set">tw_action_text1=Formatting Data...</action>
+ <action function="set">tw_complete_text1=Data Format Complete</action>
+ <action function="page">action_page</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <condition var1="tw_confirm_formatdata" op="!=" var2="yes" />
+ <action function="page">formatdata</function>
+ </object>
+ </page>
+
<page name="backup">
<object type="template" name="header" />
@@ -1758,10 +1614,18 @@
<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 type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%backup_list_x%" y="%backup_list_y%" w="%backup_list_width%" h="%backup_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Back Up:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="font" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_backup_list" />
+ <listtype name="backup" />
</object>
<object type="text" color="%text_color%">
@@ -1770,95 +1634,41 @@
<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 type="button">
+ <highlight color="%highlight_color%" />
+ <placement x="%col3_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">
+ <highlight color="%highlight_color%" />
+ <placement x="%col4_x%" y="%row1_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="button">
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col3_x%" y="%backup_storage_y%" w="%button_fill_main_width%" h="%button_fill_half_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=backup</action>
+ <action function="page">selectstorage</action>
+ </actions>
</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%" />
+ <placement x="%col3_x%" y="%nandcheck_row6%" />
<font resource="font" color="%text_color%" />
<text>Enable Compression (Requires more time)</text>
<data variable="tw_use_compression" />
@@ -1866,61 +1676,13 @@
</object>
<object type="checkbox">
- <placement x="%col3_x%" y="%nandcheck_row6%" />
+ <placement x="%col3_x%" y="%nandcheck_row7%" />
<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" />
@@ -1936,27 +1698,6 @@
<text>Swipe to Back Up</text>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <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">
- <highlight color="%highlight_color%" />
- <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>
@@ -2080,51 +1821,15 @@
<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>
+ <highlight color="%highlight_color%" />
+ <fill color="%button_fill_color%" />
+ <placement x="%col2_x%" y="%zipstorage_text_y%" w="%fileselector_folderonly_width%" h="%button_fill_quarter_height%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+ <actions>
+ <action function="set">tw_back=restore</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="fileselector">
@@ -2154,19 +1859,6 @@
</actions>
</object>
- <object type="button">
- <highlight color="%highlight_color%" />
- <conditions>
- <condition var1="tw_is_encrypted" var2="1" />
- <condition var1="tw_is_decrypted" var2="0" />
- </conditions>
- <placement x="%col2_x%" y="row3_y" />
- <font resource="font" color="%button_text_color%" />
- <text>Decrypt Data</text>
- <image resource="main_button" />
- <action function="page">decrypt</action>
- </object>
-
<object type="action">
<touch key="home" />
<action function="page">main</action>
@@ -2195,89 +1887,22 @@
<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 type="partitionlist">
+ <highlight color="%fileselector_highlight_color%" />
+ <placement x="%backup_list_x%" y="%restore_list_y%" w="%backup_list_width%" h="%restore_list_height%" />
+ <header background="%fileselector_header_background%" textcolor="%fileselector_header_textcolor%" separatorcolor="%fileselector_header_separatorcolor%" separatorheight="%fileselector_header_separatorheight%" />
+ <fastscroll linecolor="%fastscroll_linecolor%" rectcolor="%fastscroll_rectcolor%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%" />
+ <text>Select Partitions to Restore:</text>
+ <icon selected="checkbox_true" unselected="checkbox_false" />
+ <separator color="%fileselector_separatorcolor%" height="%fileselector_separatorheight%" />
+ <background color="%listbox_background%" />
+ <font resource="font" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%fileselector_highlight_font_color%" />
+ <data name="tw_restore_list" selectedlist="tw_restore_selected" />
+ <listtype name="restore" />
</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%" />
+ <placement x="%col3_x%" y="%nandcheck_row6%" />
<font resource="font" color="%text_color%" />
<text>Enable MD5 checking of backup files</text>
<data variable="tw_skip_md5_check" />
@@ -2299,7 +1924,7 @@
<object type="button">
<highlight color="%highlight_color%" />
- <placement x="%col4_x%" y="%backup_name_button_y%" />
+ <placement x="%col3_x%" y="%row1_y%" />
<font resource="font" color="%button_text_color%" />
<text>Delete Backup</text>
<image resource="main_button" />
diff --git a/gui/fileselector.cpp b/gui/fileselector.cpp
index 8b58044..d2be865 100644
--- a/gui/fileselector.cpp
+++ b/gui/fileselector.cpp
@@ -1,4 +1,20 @@
-// FileSelector.cpp - GUIFileSelector object
+/*
+ Copyright 2012 bigbiff/Dees_Troy TeamWin
+ This file is part of TWRP/TeamWin Recovery Project.
+
+ TWRP is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ TWRP is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with TWRP. If not, see <http://www.gnu.org/licenses/>.
+*/
#include <linux/input.h>
#include <pthread.h>
@@ -1003,4 +1019,4 @@
scrollingSpeed = 0;
mUpdate = 1;
}
-}
\ No newline at end of file
+}
diff --git a/gui/fill.cpp b/gui/fill.cpp
index 094814e..11b700f 100644
--- a/gui/fill.cpp
+++ b/gui/fill.cpp
@@ -35,8 +35,10 @@
return;
attr = node->first_attribute("color");
- if (!attr)
+ if (!attr) {
+ LOGE("No color specified for fill\n");
return;
+ }
std::string color = attr->value();
ConvertStrToColor(color, &mColor);
diff --git a/gui/listbox.cpp b/gui/listbox.cpp
index 6051723..910a6a3 100644
--- a/gui/listbox.cpp
+++ b/gui/listbox.cpp
@@ -1,4 +1,20 @@
-// FileSelector.cpp - GUIFileSelector object
+/*
+ Copyright 2013 bigbiff/Dees_Troy TeamWin
+ This file is part of TWRP/TeamWin Recovery Project.
+
+ TWRP is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ TWRP is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with TWRP. If not, see <http://www.gnu.org/licenses/>.
+*/
#include <linux/input.h>
#include <pthread.h>
diff --git a/gui/objects.hpp b/gui/objects.hpp
index 3a39fe5..973c3cf 100644
--- a/gui/objects.hpp
+++ b/gui/objects.hpp
@@ -1,3 +1,20 @@
+/*
+ Copyright 2013 bigbiff/Dees_Troy TeamWin
+ This file is part of TWRP/TeamWin Recovery Project.
+
+ TWRP is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ TWRP is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with TWRP. If not, see <http://www.gnu.org/licenses/>.
+*/
// objects.h - Base classes for object manager of GUI
#ifndef _OBJECTS_HEADER
@@ -17,6 +34,7 @@
#include "../data.hpp"
#include "resources.hpp"
#include "pages.hpp"
+#include "../partitions.hpp"
class RenderObject
{
@@ -357,6 +375,8 @@
bool mRendered;
bool hasHighlightColor;
bool renderHighlight;
+ bool hasFill;
+ COLOR mFillColor;
COLOR mHighlightColor;
};
@@ -586,6 +606,92 @@
int touchDebounce;
};
+class GUIPartitionList : public RenderObject, public ActionObject
+{
+public:
+ GUIPartitionList(xml_node<>* node);
+ virtual ~GUIPartitionList();
+
+public:
+ // Render - Render the full object to the GL surface
+ // Return 0 on success, <0 on error
+ virtual int Render(void);
+
+ // Update - Update any UI component animations (called <= 30 FPS)
+ // Return 0 if nothing to update, 1 on success and contiue, >1 if full render required, and <0 on error
+ virtual int Update(void);
+
+ // NotifyTouch - Notify of a touch event
+ // Return 0 on success, >0 to ignore remainder of touch, and <0 on error
+ virtual int NotifyTouch(TOUCH_STATE state, int x, int y);
+
+ // NotifyVarChange - Notify of a variable change
+ virtual int NotifyVarChange(std::string varName, std::string value);
+
+ // SetPos - Update the position of the render object
+ // Return 0 on success, <0 on error
+ virtual int SetRenderPos(int x, int y, int w = 0, int h = 0);
+
+ // SetPageFocus - Notify when a page gains or loses focus
+ virtual void SetPageFocus(int inFocus);
+
+protected:
+
+protected:
+ virtual int GetSelection(int x, int y);
+ virtual void MatchList(void);
+
+protected:
+ std::vector<PartitionList> mList;
+ std::string ListType;
+ std::string mVariable;
+ std::string selectedList;
+ std::string currentValue;
+ std::string mHeaderText;
+ std::string mLastValue;
+ int actualLineHeight;
+ int mStart;
+ int startY;
+ int mSeparatorH, mHeaderSeparatorH;
+ int mLineSpacing;
+ int mUpdate;
+ int mBackgroundX, mBackgroundY, mBackgroundW, mBackgroundH, mHeaderH;
+ int mFastScrollW;
+ int mFastScrollLineW;
+ int mFastScrollRectW;
+ int mFastScrollRectH;
+ int mFastScrollRectX;
+ int mFastScrollRectY;
+ int mIconWidth, mIconHeight, mSelectedIconWidth, mSelectedIconHeight, mUnselectedIconWidth, mUnselectedIconHeight, mHeaderIconHeight, mHeaderIconWidth;
+ int scrollingSpeed;
+ int scrollingY;
+ static int mSortOrder;
+ unsigned mFontHeight;
+ unsigned mLineHeight;
+ Resource* mHeaderIcon;
+ Resource* mIconSelected;
+ Resource* mIconUnselected;
+ Resource* mBackground;
+ Resource* mFont;
+ COLOR mBackgroundColor;
+ COLOR mFontColor;
+ COLOR mHeaderBackgroundColor;
+ COLOR mHeaderFontColor;
+ COLOR mSeparatorColor;
+ COLOR mHeaderSeparatorColor;
+ COLOR mFastScrollLineColor;
+ COLOR mFastScrollRectColor;
+ bool hasHighlightColor;
+ bool hasFontHighlightColor;
+ bool isHighlighted;
+ COLOR mHighlightColor;
+ COLOR mFontHighlightColor;
+ int mHeaderIsStatic;
+ int startSelection;
+ int touchDebounce;
+ bool updateList;
+};
+
// GUIAnimation - Used for animations
class GUIAnimation : public RenderObject
{
diff --git a/gui/pages.cpp b/gui/pages.cpp
index c4a65b4..40de44f 100644
--- a/gui/pages.cpp
+++ b/gui/pages.cpp
@@ -1,4 +1,21 @@
-// base_objects.cpp - Source to manage GUI base objects
+/*
+ Copyright 2013 bigbiff/Dees_Troy TeamWin
+ This file is part of TWRP/TeamWin Recovery Project.
+
+ TWRP is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ TWRP is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with TWRP. If not, see <http://www.gnu.org/licenses/>.
+*/
+// pages.cpp - Source to manage GUI base objects
#include <stdarg.h>
#include <stdio.h>
@@ -276,6 +293,12 @@
mActions.push_back(element);
mInputs.push_back(element);
}
+ else if (type == "partitionlist")
+ {
+ GUIPartitionList* element = new GUIPartitionList(child);
+ mRenders.push_back(element);
+ mActions.push_back(element);
+ }
else if (type == "template")
{
if (!templates || !child->first_attribute("name"))
diff --git a/gui/partitionlist.cpp b/gui/partitionlist.cpp
new file mode 100644
index 0000000..9f9321c
--- /dev/null
+++ b/gui/partitionlist.cpp
@@ -0,0 +1,926 @@
+/*
+ Copyright 2013 bigbiff/Dees_Troy TeamWin
+ This file is part of TWRP/TeamWin Recovery Project.
+
+ TWRP is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ TWRP is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with TWRP. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include <linux/input.h>
+#include <pthread.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <fcntl.h>
+#include <sys/reboot.h>
+#include <sys/stat.h>
+#include <sys/time.h>
+#include <sys/mman.h>
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <time.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <dirent.h>
+#include <ctype.h>
+
+#include <algorithm>
+
+extern "C" {
+#include "../common.h"
+#include "../roots.h"
+#include "../minuitwrp/minui.h"
+#include "../recovery_ui.h"
+}
+
+#include "rapidxml.hpp"
+#include "objects.hpp"
+#include "../data.hpp"
+#include "../twrp-functions.hpp"
+#include "../partitions.hpp"
+
+#define SCROLLING_SPEED_DECREMENT 6
+#define SCROLLING_FLOOR 10
+#define SCROLLING_MULTIPLIER 6
+
+GUIPartitionList::GUIPartitionList(xml_node<>* node)
+{
+ xml_attribute<>* attr;
+ xml_node<>* child;
+ int header_separator_color_specified = 0, header_separator_height_specified = 0, header_text_color_specified = 0, header_background_color_specified = 0;
+
+ mStart = mLineSpacing = startY = mFontHeight = mSeparatorH = scrollingY = scrollingSpeed = 0;
+ mIconWidth = mIconHeight = mSelectedIconHeight = mSelectedIconWidth = mUnselectedIconHeight = mUnselectedIconWidth = mHeaderIconHeight = mHeaderIconWidth = 0;
+ mHeaderSeparatorH = mLineHeight = mHeaderIsStatic = mHeaderH = actualLineHeight = 0;
+ mIconSelected = mIconUnselected = mBackground = mFont = mHeaderIcon = NULL;
+ mBackgroundX = mBackgroundY = mBackgroundW = mBackgroundH = 0;
+ mFastScrollW = mFastScrollLineW = mFastScrollRectW = mFastScrollRectH = 0;
+ mFastScrollRectX = mFastScrollRectY = -1;
+ mUpdate = 0;
+ touchDebounce = 6;
+ ConvertStrToColor("black", &mBackgroundColor);
+ ConvertStrToColor("black", &mHeaderBackgroundColor);
+ ConvertStrToColor("black", &mSeparatorColor);
+ ConvertStrToColor("black", &mHeaderSeparatorColor);
+ ConvertStrToColor("white", &mFontColor);
+ ConvertStrToColor("white", &mHeaderFontColor);
+ ConvertStrToColor("white", &mFastScrollLineColor);
+ ConvertStrToColor("white", &mFastScrollRectColor);
+ hasHighlightColor = false;
+ hasFontHighlightColor = false;
+ isHighlighted = false;
+ updateList = false;
+ startSelection = -1;
+
+ // Load header text
+ child = node->first_node("header");
+ if (child)
+ {
+ attr = child->first_attribute("icon");
+ if (attr)
+ mHeaderIcon = PageManager::FindResource(attr->value());
+
+ attr = child->first_attribute("background");
+ if (attr)
+ {
+ std::string color = attr->value();
+ ConvertStrToColor(color, &mHeaderBackgroundColor);
+ header_background_color_specified = -1;
+ }
+ attr = child->first_attribute("textcolor");
+ if (attr)
+ {
+ std::string color = attr->value();
+ ConvertStrToColor(color, &mHeaderFontColor);
+ header_text_color_specified = -1;
+ }
+ attr = child->first_attribute("separatorcolor");
+ if (attr)
+ {
+ std::string color = attr->value();
+ ConvertStrToColor(color, &mHeaderSeparatorColor);
+ header_separator_color_specified = -1;
+ }
+ attr = child->first_attribute("separatorheight");
+ if (attr) {
+ string parsevalue = gui_parse_text(attr->value());
+ mHeaderSeparatorH = atoi(parsevalue.c_str());
+ header_separator_height_specified = -1;
+ }
+ }
+ child = node->first_node("text");
+ if (child) mHeaderText = child->value();
+
+ memset(&mHighlightColor, 0, sizeof(COLOR));
+ child = node->first_node("highlight");
+ if (child) {
+ attr = child->first_attribute("color");
+ if (attr) {
+ hasHighlightColor = true;
+ std::string color = attr->value();
+ ConvertStrToColor(color, &mHighlightColor);
+ }
+ }
+
+ // Simple way to check for static state
+ mLastValue = gui_parse_text(mHeaderText);
+ if (mLastValue != mHeaderText)
+ mHeaderIsStatic = 0;
+ else
+ mHeaderIsStatic = -1;
+
+ child = node->first_node("icon");
+ if (child)
+ {
+ attr = child->first_attribute("selected");
+ if (attr)
+ mIconSelected = PageManager::FindResource(attr->value());
+ attr = child->first_attribute("unselected");
+ if (attr)
+ mIconUnselected = PageManager::FindResource(attr->value());
+ }
+ child = node->first_node("background");
+ if (child)
+ {
+ attr = child->first_attribute("resource");
+ if (attr)
+ mBackground = PageManager::FindResource(attr->value());
+ attr = child->first_attribute("color");
+ if (attr)
+ {
+ std::string color = attr->value();
+ ConvertStrToColor(color, &mBackgroundColor);
+ if (!header_background_color_specified)
+ ConvertStrToColor(color, &mHeaderBackgroundColor);
+ }
+ }
+
+ // Load the placement
+ LoadPlacement(node->first_node("placement"), &mRenderX, &mRenderY, &mRenderW, &mRenderH);
+ SetActionPos(mRenderX, mRenderY, mRenderW, mRenderH);
+
+ // Load the font, and possibly override the color
+ child = node->first_node("font");
+ if (child)
+ {
+ attr = child->first_attribute("resource");
+ if (attr)
+ mFont = PageManager::FindResource(attr->value());
+
+ attr = child->first_attribute("color");
+ if (attr)
+ {
+ std::string color = attr->value();
+ ConvertStrToColor(color, &mFontColor);
+ if (!header_text_color_specified)
+ ConvertStrToColor(color, &mHeaderFontColor);
+ }
+
+ attr = child->first_attribute("spacing");
+ if (attr) {
+ string parsevalue = gui_parse_text(attr->value());
+ mLineSpacing = atoi(parsevalue.c_str());
+ }
+
+ attr = child->first_attribute("highlightcolor");
+ memset(&mFontHighlightColor, 0, sizeof(COLOR));
+ if (attr)
+ {
+ std::string color = attr->value();
+ ConvertStrToColor(color, &mFontHighlightColor);
+ hasFontHighlightColor = true;
+ }
+ }
+
+ // Load the separator if it exists
+ child = node->first_node("separator");
+ if (child)
+ {
+ attr = child->first_attribute("color");
+ if (attr)
+ {
+ std::string color = attr->value();
+ ConvertStrToColor(color, &mSeparatorColor);
+ if (!header_separator_color_specified)
+ ConvertStrToColor(color, &mHeaderSeparatorColor);
+ }
+
+ attr = child->first_attribute("height");
+ if (attr) {
+ string parsevalue = gui_parse_text(attr->value());
+ mSeparatorH = atoi(parsevalue.c_str());
+ if (!header_separator_height_specified)
+ mHeaderSeparatorH = mSeparatorH;
+ }
+ }
+
+ // Handle the result variable
+ child = node->first_node("data");
+ if (child)
+ {
+ attr = child->first_attribute("name");
+ if (attr)
+ mVariable = attr->value();
+ attr = child->first_attribute("selectedlist");
+ if (attr)
+ selectedList = attr->value();
+ }
+
+ // Fast scroll colors
+ child = node->first_node("fastscroll");
+ if (child)
+ {
+ attr = child->first_attribute("linecolor");
+ if(attr)
+ ConvertStrToColor(attr->value(), &mFastScrollLineColor);
+
+ attr = child->first_attribute("rectcolor");
+ if(attr)
+ ConvertStrToColor(attr->value(), &mFastScrollRectColor);
+
+ attr = child->first_attribute("w");
+ if (attr) {
+ string parsevalue = gui_parse_text(attr->value());
+ mFastScrollW = atoi(parsevalue.c_str());
+ }
+
+ attr = child->first_attribute("linew");
+ if (attr) {
+ string parsevalue = gui_parse_text(attr->value());
+ mFastScrollLineW = atoi(parsevalue.c_str());
+ }
+
+ attr = child->first_attribute("rectw");
+ if (attr) {
+ string parsevalue = gui_parse_text(attr->value());
+ mFastScrollRectW = atoi(parsevalue.c_str());
+ }
+
+ attr = child->first_attribute("recth");
+ if (attr) {
+ string parsevalue = gui_parse_text(attr->value());
+ mFastScrollRectH = atoi(parsevalue.c_str());
+ }
+ }
+
+ // Retrieve the line height
+ gr_getFontDetails(mFont ? mFont->GetResource() : NULL, &mFontHeight, NULL);
+ mLineHeight = mFontHeight;
+ mHeaderH = mFontHeight;
+
+ if (mIconSelected && mIconSelected->GetResource())
+ {
+ mSelectedIconWidth = gr_get_width(mIconSelected->GetResource());
+ mSelectedIconHeight = gr_get_height(mIconSelected->GetResource());
+ if (mSelectedIconHeight > (int)mLineHeight)
+ mLineHeight = mSelectedIconHeight;
+ mIconWidth = mSelectedIconWidth;
+ }
+
+ if (mIconUnselected && mIconUnselected->GetResource())
+ {
+ mUnselectedIconWidth = gr_get_width(mIconUnselected->GetResource());
+ mUnselectedIconHeight = gr_get_height(mIconUnselected->GetResource());
+ if (mUnselectedIconHeight > (int)mLineHeight)
+ mLineHeight = mUnselectedIconHeight;
+ if (mUnselectedIconWidth > mIconWidth)
+ mIconWidth = mUnselectedIconWidth;
+ }
+
+ if (mHeaderIcon && mHeaderIcon->GetResource())
+ {
+ mHeaderIconWidth = gr_get_width(mHeaderIcon->GetResource());
+ mHeaderIconHeight = gr_get_height(mHeaderIcon->GetResource());
+ if (mHeaderIconHeight > mHeaderH)
+ mHeaderH = mHeaderIconHeight;
+ if (mHeaderIconWidth > mIconWidth)
+ mIconWidth = mHeaderIconWidth;
+ }
+
+ mHeaderH += mLineSpacing + mHeaderSeparatorH;
+ actualLineHeight = mLineHeight + mLineSpacing + mSeparatorH;
+ if (mHeaderH < actualLineHeight)
+ mHeaderH = actualLineHeight;
+
+ if (actualLineHeight / 3 > 6)
+ touchDebounce = actualLineHeight / 3;
+
+ if (mBackground && mBackground->GetResource())
+ {
+ mBackgroundW = gr_get_width(mBackground->GetResource());
+ mBackgroundH = gr_get_height(mBackground->GetResource());
+ }
+
+ child = node->first_node("listtype");
+ if (child) {
+ attr = child->first_attribute("name");
+ if (attr) {
+ ListType = attr->value();
+ PartitionManager.Get_Partition_List(ListType, &mList);
+ } else {
+ mList.clear();
+ LOGE("No partition listtype name specified for partitionlist GUI element\n");
+ return;
+ }
+ } else {
+ mList.clear();
+ LOGE("No partition listtype specified for partitionlist GUI element\n");
+ return;
+ }
+}
+
+GUIPartitionList::~GUIPartitionList()
+{
+}
+
+int GUIPartitionList::Render(void)
+{
+ // First step, fill background
+ gr_color(mBackgroundColor.red, mBackgroundColor.green, mBackgroundColor.blue, 255);
+ gr_fill(mRenderX, mRenderY + mHeaderH, mRenderW, mRenderH - mHeaderH);
+
+ // Next, render the background resource (if it exists)
+ if (mBackground && mBackground->GetResource())
+ {
+ mBackgroundX = mRenderX + ((mRenderW - mBackgroundW) / 2);
+ mBackgroundY = mRenderY + ((mRenderH - mBackgroundH) / 2);
+ gr_blit(mBackground->GetResource(), 0, 0, mBackgroundW, mBackgroundH, mBackgroundX, mBackgroundY);
+ }
+
+ // This tells us how many lines we can actually render
+ int lines = (mRenderH - mHeaderH) / (actualLineHeight);
+ int line;
+
+ if (updateList) {
+ mList.clear();
+ PartitionManager.Get_Partition_List(ListType, &mList);
+ updateList = false;
+ if (ListType == "backup")
+ MatchList();
+ }
+
+ int listSize = mList.size();
+ int listW = mRenderW;
+
+ if (listSize < lines) {
+ lines = listSize;
+ scrollingY = 0;
+ mFastScrollRectX = mFastScrollRectY = -1;
+ } else {
+ lines++;
+ if (lines < listSize)
+ lines++;
+ if (listSize >= lines)
+ listW -= mFastScrollW; // space for fast scrollbar
+ else
+ mFastScrollRectX = mFastScrollRectY = -1; // no fast scrollbar
+ }
+
+ void* fontResource = NULL;
+ if (mFont) fontResource = mFont->GetResource();
+
+ int yPos = mRenderY + mHeaderH + scrollingY;
+ int fontOffsetY = (int)((actualLineHeight - mFontHeight) / 2);
+ int currentIconHeight = 0, currentIconWidth = 0;
+ int currentIconOffsetY = 0, currentIconOffsetX = 0;
+ int UnselectedIconOffsetY = (int)((actualLineHeight - mUnselectedIconHeight) / 2), SelectedIconOffsetY = (int)((actualLineHeight - mSelectedIconHeight) / 2);
+ int UnselectedIconOffsetX = (mIconWidth - mUnselectedIconWidth) / 2, SelectedIconOffsetX = (mIconWidth - mSelectedIconWidth) / 2;
+ int actualSelection = mStart;
+
+ if (isHighlighted) {
+ int selectY = scrollingY;
+
+ // Locate the correct line for highlighting
+ while (selectY + actualLineHeight < startSelection) {
+ selectY += actualLineHeight;
+ actualSelection++;
+ }
+ if (hasHighlightColor) {
+ // Highlight the area
+ gr_color(mHighlightColor.red, mHighlightColor.green, mHighlightColor.blue, 255);
+ int HighlightHeight = actualLineHeight;
+ if (mRenderY + mHeaderH + selectY + actualLineHeight > mRenderH + mRenderY) {
+ HighlightHeight = actualLineHeight - (mRenderY + mHeaderH + selectY + actualLineHeight - mRenderH - mRenderY);
+ }
+ gr_fill(mRenderX, mRenderY + mHeaderH + selectY, mRenderW, HighlightHeight);
+ }
+ }
+
+ for (line = 0; line < lines; line++)
+ {
+ Resource* icon;
+ std::string label;
+
+ if (line + mStart >= listSize)
+ continue;
+
+ label = mList.at(line + mStart).Display_Name;
+ if (isHighlighted && hasFontHighlightColor && line + mStart == actualSelection) {
+ // Use the highlight color for the font
+ gr_color(mFontHighlightColor.red, mFontHighlightColor.green, mFontHighlightColor.blue, 255);
+ } else {
+ // Set the color for the font
+ gr_color(mFontColor.red, mFontColor.green, mFontColor.blue, 255);
+ }
+
+ if (mList.at(line + mStart).selected != 0)
+ {
+ icon = mIconSelected;
+ currentIconHeight = mSelectedIconHeight;
+ currentIconWidth = mSelectedIconWidth;
+ currentIconOffsetY = SelectedIconOffsetY;
+ currentIconOffsetX = SelectedIconOffsetX;
+ }
+ else
+ {
+ icon = mIconUnselected;
+ currentIconHeight = mSelectedIconHeight;
+ currentIconWidth = mSelectedIconWidth;
+ currentIconOffsetY = SelectedIconOffsetY;
+ currentIconOffsetX = SelectedIconOffsetX;
+ }
+
+ if (icon && icon->GetResource())
+ {
+ int rect_y = 0, image_y = (yPos + currentIconOffsetY);
+ if (image_y + currentIconHeight > mRenderY + mRenderH)
+ rect_y = mRenderY + mRenderH - image_y;
+ else
+ rect_y = currentIconHeight;
+ gr_blit(icon->GetResource(), 0, 0, currentIconWidth, rect_y, mRenderX + currentIconOffsetX, image_y);
+ }
+ gr_textExWH(mRenderX + mIconWidth + 5, yPos + fontOffsetY, label.c_str(), fontResource, mRenderX + listW, mRenderY + mRenderH);
+
+ // Add the separator
+ if (yPos + actualLineHeight < mRenderH + mRenderY) {
+ gr_color(mSeparatorColor.red, mSeparatorColor.green, mSeparatorColor.blue, 255);
+ gr_fill(mRenderX, yPos + actualLineHeight - mSeparatorH, listW, mSeparatorH);
+ }
+
+ // Move the yPos
+ yPos += actualLineHeight;
+ }
+
+ // Render the Header (last so that it overwrites the top most row for per pixel scrolling)
+ // First step, fill background
+ gr_color(mHeaderBackgroundColor.red, mHeaderBackgroundColor.green, mHeaderBackgroundColor.blue, 255);
+ gr_fill(mRenderX, mRenderY, mRenderW, mHeaderH);
+
+ // Now, we need the header (icon + text)
+ yPos = mRenderY;
+ {
+ Resource* headerIcon;
+ int mIconOffsetX = 0;
+
+ // render the icon if it exists
+ headerIcon = mHeaderIcon;
+ if (headerIcon && headerIcon->GetResource())
+ {
+ gr_blit(headerIcon->GetResource(), 0, 0, mHeaderIconWidth, mHeaderIconHeight, mRenderX + ((mHeaderIconWidth - mIconWidth) / 2), (yPos + (int)((mHeaderH - mHeaderIconHeight) / 2)));
+ mIconOffsetX = mIconWidth;
+ }
+
+ // render the text
+ gr_color(mHeaderFontColor.red, mHeaderFontColor.green, mHeaderFontColor.blue, 255);
+ gr_textExWH(mRenderX + mIconOffsetX + 5, yPos + (int)((mHeaderH - mFontHeight) / 2), mLastValue.c_str(), fontResource, mRenderX + mRenderW, mRenderY + mRenderH);
+
+ // Add the separator
+ gr_color(mHeaderSeparatorColor.red, mHeaderSeparatorColor.green, mHeaderSeparatorColor.blue, 255);
+ gr_fill(mRenderX, yPos + mHeaderH - mHeaderSeparatorH, mRenderW, mHeaderSeparatorH);
+ }
+
+ // render fast scroll
+ lines = (mRenderH - mHeaderH) / (actualLineHeight);
+ if(mFastScrollW > 0 && listSize > lines)
+ {
+ int startX = listW + mRenderX;
+ int fWidth = mRenderW - listW;
+ int fHeight = mRenderH - mHeaderH;
+
+ // line
+ gr_color(mFastScrollLineColor.red, mFastScrollLineColor.green, mFastScrollLineColor.blue, 255);
+ gr_fill(startX + fWidth/2, mRenderY + mHeaderH, mFastScrollLineW, mRenderH - mHeaderH);
+
+ // rect
+ int pct = ((mStart*actualLineHeight - scrollingY)*100)/((listSize)*actualLineHeight-lines*actualLineHeight);
+ mFastScrollRectX = startX + (fWidth - mFastScrollRectW)/2;
+ mFastScrollRectY = mRenderY+mHeaderH + ((fHeight - mFastScrollRectH)*pct)/100;
+
+ gr_color(mFastScrollRectColor.red, mFastScrollRectColor.green, mFastScrollRectColor.blue, 255);
+ gr_fill(mFastScrollRectX, mFastScrollRectY, mFastScrollRectW, mFastScrollRectH);
+ }
+
+ mUpdate = 0;
+ return 0;
+}
+
+int GUIPartitionList::Update(void)
+{
+ if (!mHeaderIsStatic) {
+ std::string newValue = gui_parse_text(mHeaderText);
+ if (mLastValue != newValue) {
+ mLastValue = newValue;
+ mUpdate = 1;
+ }
+ }
+
+ // Check for changes in mount points if the list type is mount and update the list and render if needed
+ if (ListType == "mount") {
+ int listSize = mList.size();
+ for (int i = 0; i < listSize; i++) {
+ if (PartitionManager.Is_Mounted_By_Path(mList.at(i).Mount_Point) && !mList.at(i).selected) {
+ mList.at(i).selected = 1;
+ mUpdate = 1;
+ } else if (!PartitionManager.Is_Mounted_By_Path(mList.at(i).Mount_Point) && mList.at(i).selected) {
+ mList.at(i).selected = 0;
+ mUpdate = 1;
+ }
+ }
+ }
+
+ if (mUpdate)
+ {
+ mUpdate = 0;
+ if (Render() == 0)
+ return 2;
+ }
+
+ // Handle kinetic scrolling
+ if (scrollingSpeed == 0) {
+ // Do nothing
+ } else if (scrollingSpeed > 0) {
+ if (scrollingSpeed < ((int) (actualLineHeight * 2.5))) {
+ scrollingY += scrollingSpeed;
+ scrollingSpeed -= SCROLLING_SPEED_DECREMENT;
+ } else {
+ scrollingY += ((int) (actualLineHeight * 2.5));
+ scrollingSpeed -= SCROLLING_SPEED_DECREMENT;
+ }
+ while (mStart && scrollingY > 0) {
+ mStart--;
+ scrollingY -= actualLineHeight;
+ }
+ if (mStart == 0 && scrollingY > 0) {
+ scrollingY = 0;
+ scrollingSpeed = 0;
+ } else if (scrollingSpeed < SCROLLING_FLOOR)
+ scrollingSpeed = 0;
+ mUpdate = 1;
+ } else if (scrollingSpeed < 0) {
+ int totalSize = mList.size();
+ int lines = (mRenderH - mHeaderH) / (actualLineHeight);
+
+ if (totalSize > lines) {
+ int bottom_offset = ((int)(mRenderH) - mHeaderH) - (lines * actualLineHeight);
+
+ bottom_offset -= actualLineHeight;
+
+ if (abs(scrollingSpeed) < ((int) (actualLineHeight * 2.5))) {
+ scrollingY += scrollingSpeed;
+ scrollingSpeed += SCROLLING_SPEED_DECREMENT;
+ } else {
+ scrollingY -= ((int) (actualLineHeight * 2.5));
+ scrollingSpeed += SCROLLING_SPEED_DECREMENT;
+ }
+ while (mStart + lines + (bottom_offset ? 1 : 0) < totalSize && abs(scrollingY) > actualLineHeight) {
+ mStart++;
+ scrollingY += actualLineHeight;
+ }
+ if (bottom_offset != 0 && mStart + lines + 1 >= totalSize && scrollingY <= bottom_offset) {
+ mStart = totalSize - lines - 1;
+ scrollingY = bottom_offset;
+ } else if (mStart + lines >= totalSize && scrollingY < 0) {
+ mStart = totalSize - lines;
+ scrollingY = 0;
+ } else if (scrollingSpeed * -1 < SCROLLING_FLOOR)
+ scrollingSpeed = 0;
+ mUpdate = 1;
+ }
+ }
+
+ return 0;
+}
+
+int GUIPartitionList::GetSelection(int x, int y)
+{
+ // We only care about y position
+ if (y < mRenderY || y - mRenderY <= mHeaderH || y - mRenderY > mRenderH) return -1;
+ return (y - mRenderY - mHeaderH);
+}
+
+int GUIPartitionList::NotifyTouch(TOUCH_STATE state, int x, int y)
+{
+ static int lastY = 0, last2Y = 0;
+ int selection = 0;
+
+ switch (state)
+ {
+ case TOUCH_START:
+ if (scrollingSpeed != 0)
+ startSelection = -1;
+ else
+ startSelection = GetSelection(x,y);
+ isHighlighted = (startSelection > -1);
+ if (isHighlighted)
+ mUpdate = 1;
+ startY = lastY = last2Y = y;
+ scrollingSpeed = 0;
+ break;
+
+ case TOUCH_DRAG:
+ // Check if we dragged out of the selection window
+ if (GetSelection(x, y) == -1) {
+ last2Y = lastY = 0;
+ if (isHighlighted) {
+ isHighlighted = false;
+ mUpdate = 1;
+ }
+ break;
+ }
+
+ // Fast scroll
+ if(mFastScrollRectX != -1 && x >= mRenderX + mRenderW - mFastScrollW)
+ {
+ int pct = ((y-mRenderY-mHeaderH)*100)/(mRenderH-mHeaderH);
+ int totalSize = mList.size();
+ int lines = (mRenderH - mHeaderH) / (actualLineHeight);
+
+ float l = float((totalSize-lines)*pct)/100;
+ if(l + lines >= totalSize)
+ {
+ mStart = totalSize - lines;
+ scrollingY = 0;
+ }
+ else
+ {
+ mStart = l;
+ scrollingY = -(l - int(l))*actualLineHeight;
+ }
+
+ startSelection = -1;
+ mUpdate = 1;
+ scrollingSpeed = 0;
+ isHighlighted = false;
+ break;
+ }
+
+ // Provide some debounce on initial touches
+ if (startSelection != -1 && abs(y - startY) < touchDebounce) {
+ isHighlighted = true;
+ mUpdate = 1;
+ break;
+ }
+
+ isHighlighted = false;
+ last2Y = lastY;
+ lastY = y;
+ startSelection = -1;
+
+ // Handle scrolling
+ scrollingY += y - startY;
+ startY = y;
+ while(mStart && scrollingY > 0) {
+ mStart--;
+ scrollingY -= actualLineHeight;
+ }
+ if (mStart == 0 && scrollingY > 0)
+ scrollingY = 0;
+ {
+ int totalSize = mList.size();
+ int lines = (mRenderH - mHeaderH) / (actualLineHeight);
+
+ if (totalSize > lines) {
+ int bottom_offset = ((int)(mRenderH) - mHeaderH) - (lines * actualLineHeight);
+
+ bottom_offset -= actualLineHeight;
+
+ while (mStart + lines + (bottom_offset ? 1 : 0) < totalSize && abs(scrollingY) > actualLineHeight) {
+ mStart++;
+ scrollingY += actualLineHeight;
+ }
+ if (bottom_offset != 0 && mStart + lines + 1 >= totalSize && scrollingY <= bottom_offset) {
+ mStart = totalSize - lines - 1;
+ scrollingY = bottom_offset;
+ } else if (mStart + lines >= totalSize && scrollingY < 0) {
+ mStart = totalSize - lines;
+ scrollingY = 0;
+ }
+ } else
+ scrollingY = 0;
+ }
+ mUpdate = 1;
+ break;
+
+ case TOUCH_RELEASE:
+ isHighlighted = false;
+ if (startSelection >= 0)
+ {
+ // We've selected an item!
+ int listSize = mList.size();
+ int selectY = scrollingY, actualSelection = mStart;
+
+ // Move the selection to the proper place in the array
+ while (selectY + actualLineHeight < startSelection) {
+ selectY += actualLineHeight;
+ actualSelection++;
+ }
+
+ if (actualSelection < listSize && ListType == "mount") {
+ if (!mList.at(actualSelection).selected) {
+ if (PartitionManager.Mount_By_Path(mList.at(actualSelection).Mount_Point, true)) {
+ mList.at(actualSelection).selected = 1;
+ mUpdate = 1;
+ }
+ } else {
+ if (PartitionManager.UnMount_By_Path(mList.at(actualSelection).Mount_Point, true)) {
+ mList.at(actualSelection).selected = 0;
+ mUpdate = 1;
+ }
+ }
+ } else if (actualSelection < listSize && !mVariable.empty()) {
+ if (ListType == "storage") {
+ int i;
+ std::string str = mList.at(actualSelection).Mount_Point;
+ bool update_size = false;
+ TWPartition* Part = PartitionManager.Find_Partition_By_Path(str);
+ if (Part == NULL) {
+ LOGE("Unable to locate partition for '%s'\n", str.c_str());
+ return 0;
+ }
+ if (!Part->Is_Mounted() && Part->Removable)
+ update_size = true;
+ if (!Part->Mount(true)) {
+ // Do Nothing
+ } else if (update_size && !Part->Update_Size(true)) {
+ // Do Nothing
+ } else {
+ for (i=0; i<listSize; i++)
+ mList.at(i).selected = 0;
+
+ if (update_size) {
+ char free_space[255];
+ sprintf(free_space, "%llu", Part->Free / 1024 / 1024);
+ mList.at(actualSelection).Display_Name = Part->Storage_Name + " (";
+ mList.at(actualSelection).Display_Name += free_space;
+ mList.at(actualSelection).Display_Name += "MB)";
+ }
+ mList.at(actualSelection).selected = 1;
+ mUpdate = 1;
+
+ DataManager::SetValue(mVariable, str);
+ }
+ } else {
+ if (mList.at(actualSelection).selected)
+ mList.at(actualSelection).selected = 0;
+ else
+ mList.at(actualSelection).selected = 1;
+
+ int i;
+ string variablelist;
+ for (i=0; i<listSize; i++) {
+ if (mList.at(i).selected) {
+ variablelist += mList.at(i).Mount_Point + ";";
+ }
+ }
+
+ mUpdate = 1;
+ if (selectedList.empty())
+ DataManager::SetValue(mVariable, variablelist);
+ else
+ DataManager::SetValue(selectedList, variablelist);
+ }
+ }
+ } else {
+ // This is for kinetic scrolling
+ scrollingSpeed = lastY - last2Y;
+ if (abs(scrollingSpeed) > SCROLLING_FLOOR)
+ scrollingSpeed *= SCROLLING_MULTIPLIER;
+ else
+ scrollingSpeed = 0;
+ }
+ case TOUCH_REPEAT:
+ case TOUCH_HOLD:
+ break;
+ }
+ return 0;
+}
+
+int GUIPartitionList::NotifyVarChange(std::string varName, std::string value)
+{
+ if (!mHeaderIsStatic) {
+ std::string newValue = gui_parse_text(mHeaderText);
+ if (mLastValue != newValue) {
+ mLastValue = newValue;
+ mStart = 0;
+ scrollingY = 0;
+ scrollingSpeed = 0;
+ mUpdate = 1;
+ }
+ }
+ if (varName == mVariable && !mUpdate)
+ {
+ if (ListType == "storage") {
+ int i, listSize = mList.size(), selected_index = 0;
+
+ currentValue = value;
+
+ for (i=0; i<listSize; i++) {
+ if (mList.at(i).Mount_Point == currentValue) {
+ mList.at(i).selected = 1;
+ selected_index = i;
+ } else
+ mList.at(i).selected = 0;
+ }
+
+ int lines = mRenderH / (mLineHeight + mLineSpacing);
+ int line;
+
+ if (selected_index > mStart + lines - 1) {
+ mStart = selected_index;
+ } else if (selected_index < mStart) {
+ mStart = selected_index;
+ }
+ } else if (ListType == "backup") {
+ MatchList();
+ } else if (ListType == "restore") {
+ updateList = true;
+ }
+
+ mUpdate = 1;
+ return 0;
+ }
+ return 0;
+}
+
+int GUIPartitionList::SetRenderPos(int x, int y, int w /* = 0 */, int h /* = 0 */)
+{
+ mRenderX = x;
+ mRenderY = y;
+ if (w || h)
+ {
+ mRenderW = w;
+ mRenderH = h;
+ }
+ SetActionPos(mRenderX, mRenderY, mRenderW, mRenderH);
+ mUpdate = 1;
+ return 0;
+}
+
+void GUIPartitionList::SetPageFocus(int inFocus)
+{
+ if (inFocus) {
+ if (ListType == "storage") {
+ int i, listSize = mList.size(), selected_index = 0;
+
+ DataManager::GetValue(mVariable, currentValue);
+
+ for (i=0; i<listSize; i++) {
+ if (mList.at(i).Mount_Point == currentValue) {
+ mList.at(i).selected = 1;
+ selected_index = i;
+ } else
+ mList.at(i).selected = 0;
+ }
+
+ int lines = mRenderH / (mLineHeight + mLineSpacing);
+ int line;
+
+ if (selected_index > mStart + lines - 1) {
+ mStart = selected_index;
+ } else if (selected_index < mStart) {
+ mStart = selected_index;
+ }
+ }
+ updateList = true;
+ mUpdate = 1;
+ }
+}
+
+void GUIPartitionList::MatchList(void) {
+ int i, listSize = mList.size();
+ string variablelist, searchvalue;
+ size_t pos;
+
+ DataManager::GetValue(mVariable, variablelist);
+
+ for (i=0; i<listSize; i++) {
+ searchvalue = mList.at(i).Mount_Point + ";";
+ pos = variablelist.find(searchvalue);
+ if (pos != string::npos) {
+ mList.at(i).selected = 1;
+ } else {
+ mList.at(i).selected = 0;
+ }
+ }
+}
diff --git a/gui/text.cpp b/gui/text.cpp
index dc7a2d1..1eceab1 100644
--- a/gui/text.cpp
+++ b/gui/text.cpp
@@ -165,7 +165,10 @@
if (mIsStatic || !mVarChanged) return 0;
std::string newValue = parseText();
- if (mLastValue == newValue) return 0;
+ if (mLastValue == newValue)
+ return 0;
+ else
+ mLastValue = newValue;
return 2;
}
@@ -176,6 +179,7 @@
if (mFont) fontResource = mFont->GetResource();
h = mFontHeight;
+ mLastValue = parseText();
w = gr_measureEx(mLastValue.c_str(), fontResource);
return 0;
}
diff --git a/openrecoveryscript.cpp b/openrecoveryscript.cpp
index e319a9c..5a23c1d 100644
--- a/openrecoveryscript.cpp
+++ b/openrecoveryscript.cpp
@@ -215,52 +215,41 @@
DataManager::SetValue("tw_restore", folder_path);
PartitionManager.Set_Restore_Files(folder_path);
+ string Partition_List;
+ DataManager::GetValue("tw_restore_list", Partition_List);
if (strlen(partitions) != 0) {
- int tw_restore_system = 0;
- int tw_restore_data = 0;
- int tw_restore_cache = 0;
- int tw_restore_recovery = 0;
- int tw_restore_boot = 0;
- int tw_restore_andsec = 0;
- int tw_restore_sdext = 0;
- int tw_restore_sp1 = 0;
- int tw_restore_sp2 = 0;
- int tw_restore_sp3 = 0;
+ string Restore_List;
memset(value2, 0, sizeof(value2));
strcpy(value2, partitions);
ui_print("Setting restore options: '%s':\n", value2);
line_len = strlen(value2);
for (i=0; i<line_len; i++) {
- if ((value2[i] == 'S' || value2[i] == 's') && DataManager::GetIntValue(TW_RESTORE_SYSTEM_VAR) > 0) {
- tw_restore_system = 1;
+ if ((value2[i] == 'S' || value2[i] == 's') && Partition_List.find("/system;") != string::npos) {
+ Restore_List += "/system;";
ui_print("System\n");
- } else if ((value2[i] == 'D' || value2[i] == 'd') && DataManager::GetIntValue(TW_RESTORE_DATA_VAR) > 0) {
- tw_restore_data = 1;
+ } else if ((value2[i] == 'D' || value2[i] == 'd') && Partition_List.find("/data;") != string::npos) {
+ Restore_List += "/data;";
ui_print("Data\n");
- } else if ((value2[i] == 'C' || value2[i] == 'c') && DataManager::GetIntValue(TW_RESTORE_CACHE_VAR) > 0) {
- tw_restore_cache = 1;
+ } else if ((value2[i] == 'C' || value2[i] == 'c') && Partition_List.find("/cache;") != string::npos) {
+ Restore_List += "/cache;";
ui_print("Cache\n");
- } else if ((value2[i] == 'R' || value2[i] == 'r') && DataManager::GetIntValue(TW_RESTORE_RECOVERY_VAR) > 0) {
- tw_restore_recovery = 1;
- ui_print("Recovery\n");
+ } else if ((value2[i] == 'R' || value2[i] == 'r') && Partition_List.find("/recovery;") != string::npos) {
+ ui_print("Recovery -- Not allowed to restore recovery\n");
} else if (value2[i] == '1' && DataManager::GetIntValue(TW_RESTORE_SP1_VAR) > 0) {
- tw_restore_sp1 = 1;
- ui_print("%s\n", "Special1");
+ ui_print("%s\n", "Special1 -- No Longer Supported...");
} else if (value2[i] == '2' && DataManager::GetIntValue(TW_RESTORE_SP2_VAR) > 0) {
- tw_restore_sp2 = 1;
- ui_print("%s\n", "Special2");
+ ui_print("%s\n", "Special2 -- No Longer Supported...");
} else if (value2[i] == '3' && DataManager::GetIntValue(TW_RESTORE_SP3_VAR) > 0) {
- tw_restore_sp3 = 1;
- ui_print("%s\n", "Special3");
- } else if ((value2[i] == 'B' || value2[i] == 'b') && DataManager::GetIntValue(TW_RESTORE_BOOT_VAR) > 0) {
- tw_restore_boot = 1;
+ ui_print("%s\n", "Special3 -- No Longer Supported...");
+ } else if ((value2[i] == 'B' || value2[i] == 'b') && Partition_List.find("/boot;") != string::npos) {
+ Restore_List += "/boot;";
ui_print("Boot\n");
- } else if ((value2[i] == 'A' || value2[i] == 'a') && DataManager::GetIntValue(TW_RESTORE_ANDSEC_VAR) > 0) {
- tw_restore_andsec = 1;
+ } else if ((value2[i] == 'A' || value2[i] == 'a') && Partition_List.find("/and-sec;") != string::npos) {
+ Restore_List += "/and-sec;";
ui_print("Android Secure\n");
- } else if ((value2[i] == 'E' || value2[i] == 'e') && DataManager::GetIntValue(TW_RESTORE_SDEXT_VAR) > 0) {
- tw_restore_sdext = 1;
+ } else if ((value2[i] == 'E' || value2[i] == 'e') && Partition_List.find("/sd-ext;") != string::npos) {
+ Restore_List += "/sd-ext;";
ui_print("SD-Ext\n");
} else if (value2[i] == 'M' || value2[i] == 'm') {
DataManager::SetValue(TW_SKIP_MD5_CHECK_VAR, 1);
@@ -268,29 +257,14 @@
}
}
- if (DataManager::GetIntValue(TW_RESTORE_SYSTEM_VAR) && !tw_restore_system)
- DataManager::SetValue(TW_RESTORE_SYSTEM_VAR, 0);
- if (DataManager::GetIntValue(TW_RESTORE_DATA_VAR) && !tw_restore_data)
- DataManager::SetValue(TW_RESTORE_DATA_VAR, 0);
- if (DataManager::GetIntValue(TW_RESTORE_CACHE_VAR) && !tw_restore_cache)
- DataManager::SetValue(TW_RESTORE_CACHE_VAR, 0);
- if (DataManager::GetIntValue(TW_RESTORE_RECOVERY_VAR) && !tw_restore_recovery)
- DataManager::SetValue(TW_RESTORE_RECOVERY_VAR, 0);
- if (DataManager::GetIntValue(TW_RESTORE_BOOT_VAR) && !tw_restore_boot)
- DataManager::SetValue(TW_RESTORE_BOOT_VAR, 0);
- if (DataManager::GetIntValue(TW_RESTORE_ANDSEC_VAR) && !tw_restore_andsec)
- DataManager::SetValue(TW_RESTORE_ANDSEC_VAR, 0);
- if (DataManager::GetIntValue(TW_RESTORE_SDEXT_VAR) && !tw_restore_sdext)
- DataManager::SetValue(TW_RESTORE_SDEXT_VAR, 0);
- if (DataManager::GetIntValue(TW_RESTORE_SP1_VAR) && !tw_restore_sp1)
- DataManager::SetValue(TW_RESTORE_SP1_VAR, 0);
- if (DataManager::GetIntValue(TW_RESTORE_SP2_VAR) && !tw_restore_sp2)
- DataManager::SetValue(TW_RESTORE_SP2_VAR, 0);
- if (DataManager::GetIntValue(TW_RESTORE_SP3_VAR) && !tw_restore_sp3)
- DataManager::SetValue(TW_RESTORE_SP3_VAR, 0);
+ DataManager::SetValue("tw_restore_selected", Restore_List);
+ } else {
+ DataManager::SetValue("tw_restore_selected", Partition_List);
}
- PartitionManager.Run_Restore(folder_path);
- ui_print("Restore complete!\n");
+ if (!PartitionManager.Run_Restore(folder_path))
+ ret_val = 1;
+ else
+ ui_print("Restore complete!\n");
} else if (strcmp(command, "mount") == 0) {
// Mount
DataManager::SetValue("tw_action_text2", "Mounting");
@@ -493,20 +467,10 @@
int OpenRecoveryScript::Backup_Command(string Options) {
char value1[SCRIPT_COMMAND_SIZE];
int line_len, i;
+ string Backup_List;
strcpy(value1, Options.c_str());
- DataManager::SetValue(TW_BACKUP_SYSTEM_VAR, 0);
- DataManager::SetValue(TW_BACKUP_DATA_VAR, 0);
- DataManager::SetValue(TW_BACKUP_CACHE_VAR, 0);
- DataManager::SetValue(TW_BACKUP_RECOVERY_VAR, 0);
- DataManager::SetValue(TW_BACKUP_SP1_VAR, 0);
- DataManager::SetValue(TW_BACKUP_SP2_VAR, 0);
- DataManager::SetValue(TW_BACKUP_SP3_VAR, 0);
- DataManager::SetValue(TW_BACKUP_BOOT_VAR, 0);
- DataManager::SetValue(TW_BACKUP_ANDSEC_VAR, 0);
- DataManager::SetValue(TW_BACKUP_SDEXT_VAR, 0);
- DataManager::SetValue(TW_BACKUP_SDEXT_VAR, 0);
DataManager::SetValue(TW_USE_COMPRESSION_VAR, 0);
DataManager::SetValue(TW_SKIP_MD5_GENERATE_VAR, 0);
@@ -514,34 +478,31 @@
line_len = Options.size();
for (i=0; i<line_len; i++) {
if (Options.substr(i, 1) == "S" || Options.substr(i, 1) == "s") {
- DataManager::SetValue(TW_BACKUP_SYSTEM_VAR, 1);
+ Backup_List += "/system;";
ui_print("System\n");
} else if (Options.substr(i, 1) == "D" || Options.substr(i, 1) == "d") {
- DataManager::SetValue(TW_BACKUP_DATA_VAR, 1);
+ Backup_List += "/data;";
ui_print("Data\n");
} else if (Options.substr(i, 1) == "C" || Options.substr(i, 1) == "c") {
- DataManager::SetValue(TW_BACKUP_CACHE_VAR, 1);
+ Backup_List += "/cache;";
ui_print("Cache\n");
} else if (Options.substr(i, 1) == "R" || Options.substr(i, 1) == "r") {
- DataManager::SetValue(TW_BACKUP_RECOVERY_VAR, 1);
+ Backup_List += "/recovery;";
ui_print("Recovery\n");
} else if (Options.substr(i, 1) == "1") {
- DataManager::SetValue(TW_BACKUP_SP1_VAR, 1);
- ui_print("%s\n", "Special1");
+ ui_print("%s\n", "Special1 -- No Longer Supported...");
} else if (Options.substr(i, 1) == "2") {
- DataManager::SetValue(TW_BACKUP_SP2_VAR, 1);
- ui_print("%s\n", "Special2");
+ ui_print("%s\n", "Special2 -- No Longer Supported...");
} else if (Options.substr(i, 1) == "3") {
- DataManager::SetValue(TW_BACKUP_SP3_VAR, 1);
- ui_print("%s\n", "Special3");
+ ui_print("%s\n", "Special3 -- No Longer Supported...");
} else if (Options.substr(i, 1) == "B" || Options.substr(i, 1) == "b") {
- DataManager::SetValue(TW_BACKUP_BOOT_VAR, 1);
+ Backup_List += "/boot;";
ui_print("Boot\n");
} else if (Options.substr(i, 1) == "A" || Options.substr(i, 1) == "a") {
- DataManager::SetValue(TW_BACKUP_ANDSEC_VAR, 1);
+ Backup_List += "/and-sec;";
ui_print("Android Secure\n");
} else if (Options.substr(i, 1) == "E" || Options.substr(i, 1) == "e") {
- DataManager::SetValue(TW_BACKUP_SDEXT_VAR, 1);
+ Backup_List += "/sd-ext;";
ui_print("SD-Ext\n");
} else if (Options.substr(i, 1) == "O" || Options.substr(i, 1) == "o") {
DataManager::SetValue(TW_USE_COMPRESSION_VAR, 1);
@@ -551,6 +512,7 @@
ui_print("MD5 Generation is off\n");
}
}
+ DataManager::SetValue("tw_backup_list", Backup_List);
if (!PartitionManager.Run_Backup()) {
LOGE("Backup failed!\n");
return 1;
diff --git a/partition.cpp b/partition.cpp
index 681604f..426faa5 100644
--- a/partition.cpp
+++ b/partition.cpp
@@ -56,6 +56,7 @@
TWPartition::TWPartition(void) {
Can_Be_Mounted = false;
Can_Be_Wiped = false;
+ Can_Be_Backed_Up = false;
Wipe_During_Factory_Reset = false;
Wipe_Available_in_GUI = false;
Is_SubPartition = false;
@@ -80,6 +81,8 @@
Is_Decrypted = false;
Decrypted_Block_Device = "";
Display_Name = "";
+ Backup_Display_Name = "";
+ Storage_Name = "";
Backup_Name = "";
Backup_FileName = "";
MTD_Name = "";
@@ -87,6 +90,7 @@
Has_Data_Media = false;
Has_Android_Secure = false;
Is_Storage = false;
+ Is_Settings_Storage = false;
Storage_Path = "";
Current_File_System = "";
Fstab_File_System = "";
@@ -108,14 +112,18 @@
char* ptr;
string Flags;
strncpy(full_line, Line.c_str(), line_len);
+ bool skip = false;
for (index = 0; index < line_len; index++) {
- if (full_line[index] <= 32)
+ if (full_line[index] == 34)
+ skip = !skip;
+ if (!skip && full_line[index] <= 32)
full_line[index] = '\0';
}
Mount_Point = full_line;
LOGI("Processing '%s'\n", Mount_Point.c_str());
Backup_Path = Mount_Point;
+ Storage_Path = Mount_Point;
index = Mount_Point.size();
while (index < line_len) {
while (index < line_len && full_line[index] == '\0')
@@ -188,14 +196,22 @@
Setup_File_System(Display_Error);
if (Mount_Point == "/system") {
Display_Name = "System";
+ Backup_Display_Name = Display_Name;
+ Storage_Name = Display_Name;
Wipe_Available_in_GUI = true;
+ Can_Be_Backed_Up = true;
} else if (Mount_Point == "/data") {
Display_Name = "Data";
+ Backup_Display_Name = Display_Name;
+ Storage_Name = Display_Name;
Wipe_Available_in_GUI = true;
Wipe_During_Factory_Reset = true;
+ Can_Be_Backed_Up = true;
#ifdef RECOVERY_SDCARD_ON_DATA
+ Storage_Name = "Internal Storage";
Has_Data_Media = true;
Is_Storage = true;
+ Is_Settings_Storage = true;
Storage_Path = "/data/media";
Symlink_Path = Storage_Path;
if (strcmp(EXPAND(TW_EXTERNAL_STORAGE_PATH), "/sdcard") == 0) {
@@ -249,8 +265,11 @@
#endif
} else if (Mount_Point == "/cache") {
Display_Name = "Cache";
+ Backup_Display_Name = Display_Name;
+ Storage_Name = Display_Name;
Wipe_Available_in_GUI = true;
Wipe_During_Factory_Reset = true;
+ Can_Be_Backed_Up = true;
if (Mount(false) && !TWFunc::Path_Exists("/cache/recovery/.")) {
LOGI("Recreating /cache/recovery folder.\n");
if (mkdir("/cache/recovery", S_IRWXU | S_IRWXG | S_IWGRP | S_IXGRP) != 0)
@@ -259,28 +278,38 @@
} else if (Mount_Point == "/datadata") {
Wipe_During_Factory_Reset = true;
Display_Name = "DataData";
+ Backup_Display_Name = Display_Name;
+ Storage_Name = Display_Name;
Is_SubPartition = true;
SubPartition_Of = "/data";
DataManager::SetValue(TW_HAS_DATADATA, 1);
+ Can_Be_Backed_Up = true;
} else if (Mount_Point == "/sd-ext") {
Wipe_During_Factory_Reset = true;
Display_Name = "SD-Ext";
+ Backup_Display_Name = Display_Name;
+ Storage_Name = Display_Name;
Wipe_Available_in_GUI = true;
Removable = true;
+ Can_Be_Backed_Up = true;
} else if (Mount_Point == "/boot") {
Display_Name = "Boot";
+ Backup_Display_Name = Display_Name;
DataManager::SetValue("tw_boot_is_mountable", 1);
+ Can_Be_Backed_Up = true;
}
#ifdef TW_EXTERNAL_STORAGE_PATH
if (Mount_Point == EXPAND(TW_EXTERNAL_STORAGE_PATH)) {
Is_Storage = true;
Storage_Path = EXPAND(TW_EXTERNAL_STORAGE_PATH);
Removable = true;
+ Wipe_Available_in_GUI = true;
#else
if (Mount_Point == "/sdcard") {
Is_Storage = true;
Storage_Path = "/sdcard";
Removable = true;
+ Wipe_Available_in_GUI = true;
#ifndef RECOVERY_SDCARD_ON_DATA
Setup_AndSec();
Mount_Storage_Retry();
@@ -290,7 +319,9 @@
#ifdef TW_INTERNAL_STORAGE_PATH
if (Mount_Point == EXPAND(TW_INTERNAL_STORAGE_PATH)) {
Is_Storage = true;
+ Is_Settings_Storage = true;
Storage_Path = EXPAND(TW_INTERNAL_STORAGE_PATH);
+ Wipe_Available_in_GUI = true;
#ifndef RECOVERY_SDCARD_ON_DATA
Setup_AndSec();
Mount_Storage_Retry();
@@ -299,7 +330,9 @@
#else
if (Mount_Point == "/emmc") {
Is_Storage = true;
+ Is_Settings_Storage = true;
Storage_Path = "/emmc";
+ Wipe_Available_in_GUI = true;
#ifndef RECOVERY_SDCARD_ON_DATA
Setup_AndSec();
Mount_Storage_Retry();
@@ -309,6 +342,15 @@
} else if (Is_Image(Fstab_File_System)) {
Find_Actual_Block_Device();
Setup_Image(Display_Error);
+ if (Mount_Point == "/boot") {
+ Display_Name = "Boot";
+ Backup_Display_Name = Display_Name;
+ Can_Be_Backed_Up = true;
+ } else if (Mount_Point == "/recovery") {
+ Display_Name = "Recovery";
+ Backup_Display_Name = Display_Name;
+ Can_Be_Backed_Up = true;
+ }
}
// Process any custom flags
@@ -319,13 +361,16 @@
bool TWPartition::Process_Flags(string Flags, bool Display_Error) {
char flags[MAX_FSTAB_LINE_LENGTH];
- int flags_len, index = 0;
+ int flags_len, index = 0, ptr_len;
char* ptr;
+ bool skip = false, has_display_name = false, has_storage_name = false, has_backup_name = false;
strcpy(flags, Flags.c_str());
flags_len = Flags.size();
for (index = 0; index < flags_len; index++) {
- if (flags[index] == ';')
+ if (flags[index] == 34)
+ skip = !skip;
+ if (!skip && flags[index] == ';')
flags[index] = '\0';
}
@@ -336,12 +381,21 @@
if (index >= flags_len)
continue;
ptr = flags + index;
+ ptr_len = strlen(ptr);
if (strcmp(ptr, "removable") == 0) {
Removable = true;
} else if (strcmp(ptr, "storage") == 0) {
Is_Storage = true;
+ } else if (strcmp(ptr, "settingsstorage") == 0) {
+ Is_Storage = true;
} else if (strcmp(ptr, "canbewiped") == 0) {
Can_Be_Wiped = true;
+ } else if (ptr_len > 7 && strncmp(ptr, "backup=", 7) == 0) {
+ ptr += 7;
+ if (*ptr == '1' || *ptr == 'y' || *ptr == 'Y')
+ Can_Be_Backed_Up = true;
+ else
+ Can_Be_Backed_Up = false;
} else if (strcmp(ptr, "wipeingui") == 0) {
Can_Be_Wiped = true;
Wipe_Available_in_GUI = true;
@@ -349,7 +403,7 @@
Can_Be_Wiped = true;
Wipe_Available_in_GUI = true;
Wipe_During_Factory_Reset = true;
- } else if (strlen(ptr) > 15 && strncmp(ptr, "subpartitionof=", 15) == 0) {
+ } else if (ptr_len > 15 && strncmp(ptr, "subpartitionof=", 15) == 0) {
ptr += 15;
Is_SubPartition = true;
SubPartition_Of = ptr;
@@ -357,16 +411,37 @@
Ignore_Blkid = true;
} else if (strcmp(ptr, "retainlayoutversion") == 0) {
Retain_Layout_Version = true;
- } else if (strlen(ptr) > 8 && strncmp(ptr, "symlink=", 8) == 0) {
+ } else if (ptr_len > 8 && strncmp(ptr, "symlink=", 8) == 0) {
ptr += 8;
Symlink_Path = ptr;
- } else if (strlen(ptr) > 8 && strncmp(ptr, "display=", 8) == 0) {
+ } else if (ptr_len > 8 && strncmp(ptr, "display=", 8) == 0) {
+ has_display_name = true;
ptr += 8;
+ if (*ptr == '\"') ptr++;
Display_Name = ptr;
- } else if (strlen(ptr) > 10 && strncmp(ptr, "blocksize=", 10) == 0) {
+ if (Display_Name.substr(Display_Name.size() - 1, 1) == "\"") {
+ Display_Name.resize(Display_Name.size() - 1);
+ }
+ } else if (ptr_len > 11 && strncmp(ptr, "storagename=", 11) == 0) {
+ has_storage_name = true;
+ ptr += 11;
+ if (*ptr == '\"') ptr++;
+ Storage_Name = ptr;
+ if (Storage_Name.substr(Storage_Name.size() - 1, 1) == "\"") {
+ Storage_Name.resize(Storage_Name.size() - 1);
+ }
+ } else if (ptr_len > 11 && strncmp(ptr, "backupname=", 10) == 0) {
+ has_backup_name = true;
+ ptr += 10;
+ if (*ptr == '\"') ptr++;
+ Backup_Display_Name = ptr;
+ if (Backup_Display_Name.substr(Backup_Display_Name.size() - 1, 1) == "\"") {
+ Backup_Display_Name.resize(Backup_Display_Name.size() - 1);
+ }
+ } else if (ptr_len > 10 && strncmp(ptr, "blocksize=", 10) == 0) {
ptr += 10;
Format_Block_Size = atoi(ptr);
- } else if (strlen(ptr) > 7 && strncmp(ptr, "length=", 7) == 0) {
+ } else if (ptr_len > 7 && strncmp(ptr, "length=", 7) == 0) {
ptr += 7;
Length = atoi(ptr);
} else {
@@ -378,6 +453,14 @@
while (index < flags_len && flags[index] != '\0')
index++;
}
+ if (has_display_name && !has_storage_name)
+ Storage_Name = Display_Name;
+ if (!has_display_name && has_storage_name)
+ Display_Name = Storage_Name;
+ if (has_display_name && !has_backup_name)
+ Backup_Display_Name = Display_Name;
+ if (!has_display_name && has_backup_name)
+ Display_Name = Backup_Display_Name;
return true;
}
@@ -452,7 +535,9 @@
}
void TWPartition::Setup_AndSec(void) {
+ Backup_Display_Name = "Android Secure";
Backup_Name = "and-sec";
+ Can_Be_Backed_Up = true;
Has_Android_Secure = true;
Symlink_Path = Mount_Point + "/.android_secure";
Symlink_Mount_Point = "/and-sec";
@@ -924,7 +1009,7 @@
if (!Mount(true))
return false;
- ui_print("Wiping .android_secure\n");
+ ui_print("Wiping %s\n", Backup_Display_Name.c_str());
TWFunc::removeDir(Mount_Point + "/.android_secure/", true);
return true;
}
@@ -1293,13 +1378,8 @@
if (!Mount(true))
return false;
- if (Backup_Path == "/and-sec") {
- TWFunc::GUI_Operation_Text(TW_BACKUP_TEXT, "Android Secure", "Backing Up");
- ui_print("Backing up %s...\n", "Android Secure");
- } else {
- TWFunc::GUI_Operation_Text(TW_BACKUP_TEXT, Display_Name, "Backing Up");
- ui_print("Backing up %s...\n", Display_Name.c_str());
- }
+ TWFunc::GUI_Operation_Text(TW_BACKUP_TEXT, Backup_Display_Name, "Backing Up");
+ ui_print("Backing up %s...\n", Backup_Display_Name.c_str());
DataManager::GetValue(TW_USE_COMPRESSION_VAR, use_compression);
@@ -1398,7 +1478,6 @@
char split_index[5];
if (Has_Android_Secure) {
- ui_print("Wiping android secure...\n");
if (!Wipe_AndSec())
return false;
} else {
@@ -1406,12 +1485,12 @@
if (!Wipe(Restore_File_System))
return false;
}
+ TWFunc::GUI_Operation_Text(TW_RESTORE_TEXT, Backup_Display_Name, "Restoring");
+ ui_print("Restoring %s...\n", Backup_Display_Name.c_str());
if (!Mount(true))
return false;
- TWFunc::GUI_Operation_Text(TW_RESTORE_TEXT, Display_Name, "Restoring");
- ui_print("Restoring %s...\n", Display_Name.c_str());
Full_FileName = restore_folder + "/" + Backup_FileName;
if (!TWFunc::Path_Exists(Full_FileName)) {
if (!TWFunc::Path_Exists(Full_FileName)) {
@@ -1575,11 +1654,11 @@
void TWPartition::Recreate_AndSec_Folder(void) {
if (!Has_Android_Secure)
return;
- LOGI("Creating .android_secure: %s\n", Symlink_Path.c_str());
+ LOGI("Creating %s: %s\n", Backup_Display_Name.c_str(), Symlink_Path.c_str());
if (!Mount(true)) {
- LOGE("Unable to recreate android secure folder.\n");
+ LOGE("Unable to recreate %s folder.\n", Backup_Name.c_str());
} else if (!TWFunc::Path_Exists(Symlink_Path)) {
- LOGI("Recreating android secure folder.\n");
+ LOGI("Recreating %s folder.\n", Backup_Name.c_str());
PartitionManager.Mount_By_Path(Symlink_Mount_Point, true);
mkdir(Symlink_Path.c_str(), S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH);
PartitionManager.UnMount_By_Path(Symlink_Mount_Point, true);
diff --git a/partitionmanager.cpp b/partitionmanager.cpp
index 4364a22..f40b35e 100644
--- a/partitionmanager.cpp
+++ b/partitionmanager.cpp
@@ -56,6 +56,7 @@
int TWPartitionManager::Process_Fstab(string Fstab_Filename, bool Display_Error) {
FILE *fstabFile;
char fstab_line[MAX_FSTAB_LINE_LENGTH];
+ bool Found_Settings_Storage = false;
fstabFile = fopen(Fstab_Filename.c_str(), "rt");
if (fstabFile == NULL) {
@@ -75,12 +76,36 @@
memset(fstab_line, 0, sizeof(fstab_line));
if (partition->Process_Fstab_Line(line, Display_Error)) {
- Partitions.push_back(partition);
+ if (!Found_Settings_Storage && partition->Is_Settings_Storage) {
+ Found_Settings_Storage = true;
+ Partitions.push_back(partition);
+ DataManager::SetValue("tw_settings_path", partition->Storage_Path);
+ DataManager::SetValue("tw_storage_path", partition->Storage_Path);
+ LOGI("Settings storage is '%s'\n", partition->Storage_Path.c_str());
+ } else {
+ partition->Is_Settings_Storage = false;
+ Partitions.push_back(partition);
+ }
} else {
delete partition;
}
}
fclose(fstabFile);
+ if (!Found_Settings_Storage) {
+ std::vector<TWPartition*>::iterator iter;
+ for (iter = Partitions.begin(); iter != Partitions.end(); iter++) {
+ if ((*iter)->Is_Storage) {
+ (*iter)->Is_Settings_Storage = true;
+ Found_Settings_Storage = true;
+ DataManager::SetValue("tw_settings_path", (*iter)->Storage_Path);
+ DataManager::SetValue("tw_storage_path", (*iter)->Storage_Path);
+ LOGI("Settings storage is '%s'\n", (*iter)->Storage_Path.c_str());
+ break;
+ }
+ }
+ if (!Found_Settings_Storage)
+ LOGE("Unable to locate storage partition for storing settings file.\n");
+ }
if (!Write_Fstab()) {
if (Display_Error)
LOGE("Error creating fstab\n");
@@ -136,8 +161,12 @@
printf(" Used: %iMB Free: %iMB Backup Size: %iMB", (int)(Part->Used / mb), (int)(Part->Free / mb), (int)(Part->Backup_Size / mb));
}
printf("\n Flags: ");
+ if (Part->Can_Be_Mounted)
+ printf("Can_Be_Mounted ");
if (Part->Can_Be_Wiped)
printf("Can_Be_Wiped ");
+ if (Part->Can_Be_Backed_Up)
+ printf("Can_Be_Backed_Up ");
if (Part->Wipe_During_Factory_Reset)
printf("Wipe_During_Factory_Reset ");
if (Part->Wipe_Available_in_GUI)
@@ -162,6 +191,8 @@
printf("Has_Android_Secure ");
if (Part->Is_Storage)
printf("Is_Storage ");
+ if (Part->Is_Settings_Storage)
+ printf("Is_Settings_Storage ");
if (Part->Ignore_Blkid)
printf("Ignore_Blkid ");
if (Part->Retain_Layout_Version)
@@ -183,10 +214,14 @@
printf(" Length: %i\n", Part->Length);
if (!Part->Display_Name.empty())
printf(" Display_Name: %s\n", Part->Display_Name.c_str());
+ if (!Part->Storage_Name.empty())
+ printf(" Storage_Name: %s\n", Part->Storage_Name.c_str());
if (!Part->Backup_Path.empty())
printf(" Backup_Path: %s\n", Part->Backup_Path.c_str());
if (!Part->Backup_Name.empty())
printf(" Backup_Name: %s\n", Part->Backup_Name.c_str());
+ if (!Part->Backup_Display_Name.empty())
+ printf(" Backup_Display_Name: %s\n", Part->Backup_Display_Name.c_str());
if (!Part->Backup_FileName.empty())
printf(" Backup_FileName: %s\n", Part->Backup_FileName.c_str());
if (!Part->Storage_Path.empty())
@@ -441,7 +476,7 @@
// Check each character
strncpy(backup_name, Backup_Name.c_str(), copy_size);
- if (strcmp(backup_name, "0") == 0)
+ if (copy_size == 1 && strncmp(backup_name, "0", 1) == 0)
return 0; // A "0" (zero) means to use the current timestamp for the backup name
for (index=0; index<copy_size; index++) {
cur_char = (int)backup_name[index];
@@ -462,13 +497,12 @@
// Check to make sure that a backup with this name doesn't already exist
DataManager::GetValue(TW_BACKUPS_FOLDER_VAR, Backup_Loc);
strcpy(backup_loc, Backup_Loc.c_str());
- sprintf(tw_image_dir,"%s/%s/.", backup_loc, backup_name);
+ sprintf(tw_image_dir,"%s/%s", backup_loc, Backup_Name.c_str());
if (TWFunc::Path_Exists(tw_image_dir)) {
if (Display_Error)
LOGE("A backup with this name already exists.\n");
return -4;
}
-
// No problems found, return 0
return 0;
}
@@ -571,7 +605,7 @@
std::vector<TWPartition*>::iterator subpart;
for (subpart = Partitions.begin(); subpart != Partitions.end(); subpart++) {
- if ((*subpart)->Is_SubPartition && (*subpart)->SubPartition_Of == Part->Mount_Point) {
+ if ((*subpart)->Can_Be_Backed_Up && (*subpart)->Is_SubPartition && (*subpart)->SubPartition_Of == Part->Mount_Point) {
if (!(*subpart)->Backup(Backup_Folder))
return false;
if (!Make_MD5(generate_md5, Backup_Folder, (*subpart)->Backup_FileName))
@@ -602,23 +636,15 @@
int TWPartitionManager::Run_Backup(void) {
int check, do_md5, partition_count = 0;
- string Backup_Folder, Backup_Name, Full_Backup_Path;
+ string Backup_Folder, Backup_Name, Full_Backup_Path, Backup_List, backup_path;
unsigned long long total_bytes = 0, file_bytes = 0, img_bytes = 0, free_space = 0, img_bytes_remaining, file_bytes_remaining, subpart_size;
unsigned long img_time = 0, file_time = 0;
- TWPartition* backup_sys = NULL;
- TWPartition* backup_data = NULL;
- TWPartition* backup_cache = NULL;
- TWPartition* backup_recovery = NULL;
- TWPartition* backup_boot = NULL;
- TWPartition* backup_andsec = NULL;
- TWPartition* backup_sdext = NULL;
- TWPartition* backup_sp1 = NULL;
- TWPartition* backup_sp2 = NULL;
- TWPartition* backup_sp3 = NULL;
+ TWPartition* backup_part = NULL;
TWPartition* storage = NULL;
std::vector<TWPartition*>::iterator subpart;
struct tm *t;
time_t start, stop, seconds, total_start, total_stop;
+ size_t start_pos = 0, end_pos = 0;
seconds = time(0);
t = localtime(&seconds);
@@ -647,162 +673,38 @@
LOGI("Full_Backup_Path is: '%s'\n", Full_Backup_Path.c_str());
LOGI("Calculating backup details...\n");
- DataManager::GetValue(TW_BACKUP_SYSTEM_VAR, check);
- if (check) {
- backup_sys = Find_Partition_By_Path("/system");
- if (backup_sys != NULL) {
- partition_count++;
- if (backup_sys->Backup_Method == 1) {
- file_bytes += backup_sys->Backup_Size;
- }
- else
- img_bytes += backup_sys->Backup_Size;
- } else {
- LOGE("Unable to locate system partition.\n");
- DataManager::SetValue(TW_BACKUP_SYSTEM_VAR, 0);
- }
- }
- DataManager::GetValue(TW_BACKUP_DATA_VAR, check);
- if (check) {
- backup_data = Find_Partition_By_Path("/data");
- if (backup_data != NULL) {
- partition_count++;
- subpart_size = 0;
- if (backup_data->Has_SubPartition) {
- for (subpart = Partitions.begin(); subpart != Partitions.end(); subpart++) {
- if ((*subpart)->Is_SubPartition && (*subpart)->SubPartition_Of == backup_data->Mount_Point)
- subpart_size += (*subpart)->Backup_Size;
+ DataManager::GetValue("tw_backup_list", Backup_List);
+ if (!Backup_List.empty()) {
+ end_pos = Backup_List.find(";", start_pos);
+ while (end_pos != string::npos && start_pos < Backup_List.size()) {
+ backup_path = Backup_List.substr(start_pos, end_pos - start_pos);
+ backup_part = Find_Partition_By_Path(backup_path);
+ if (backup_part != NULL) {
+ partition_count++;
+ if (backup_part->Backup_Method == 1)
+ file_bytes += backup_part->Backup_Size;
+ else
+ img_bytes += backup_part->Backup_Size;
+ if (backup_part->Has_SubPartition) {
+ std::vector<TWPartition*>::iterator subpart;
+
+ for (subpart = Partitions.begin(); subpart != Partitions.end(); subpart++) {
+ if ((*subpart)->Can_Be_Backed_Up && (*subpart)->Is_SubPartition && (*subpart)->SubPartition_Of == backup_part->Mount_Point) {
+ partition_count++;
+ if ((*subpart)->Backup_Method == 1)
+ file_bytes += (*subpart)->Backup_Size;
+ else
+ img_bytes += (*subpart)->Backup_Size;
+ }
+ }
}
+ } else {
+ LOGE("Unable to locate '%s' partition for backup calculations.\n", backup_path.c_str());
}
- if (backup_data->Backup_Method == 1)
- file_bytes += backup_data->Backup_Size + subpart_size;
- else
- img_bytes += backup_data->Backup_Size + subpart_size;
- } else {
- LOGE("Unable to locate data partition.\n");
- DataManager::SetValue(TW_BACKUP_DATA_VAR, 0);
+ start_pos = end_pos + 1;
+ end_pos = Backup_List.find(";", start_pos);
}
}
- DataManager::GetValue(TW_BACKUP_CACHE_VAR, check);
- if (check) {
- backup_cache = Find_Partition_By_Path("/cache");
- if (backup_cache != NULL) {
- partition_count++;
- if (backup_cache->Backup_Method == 1)
- file_bytes += backup_cache->Backup_Size;
- else
- img_bytes += backup_cache->Backup_Size;
- } else {
- LOGE("Unable to locate cache partition.\n");
- DataManager::SetValue(TW_BACKUP_CACHE_VAR, 0);
- }
- }
- DataManager::GetValue(TW_BACKUP_RECOVERY_VAR, check);
- if (check) {
- backup_recovery = Find_Partition_By_Path("/recovery");
- if (backup_recovery != NULL) {
- partition_count++;
- if (backup_recovery->Backup_Method == 1)
- file_bytes += backup_recovery->Backup_Size;
- else
- img_bytes += backup_recovery->Backup_Size;
- } else {
- LOGE("Unable to locate recovery partition.\n");
- DataManager::SetValue(TW_BACKUP_RECOVERY_VAR, 0);
- }
- }
-#ifndef TW_HAS_NO_BOOT_PARTITION
- DataManager::GetValue(TW_BACKUP_BOOT_VAR, check);
- if (check) {
- backup_boot = Find_Partition_By_Path("/boot");
- if (backup_boot != NULL) {
- partition_count++;
- if (backup_boot->Backup_Method == 1)
- file_bytes += backup_boot->Backup_Size;
- else
- img_bytes += backup_boot->Backup_Size;
- } else {
- LOGE("Unable to locate boot partition.\n");
- DataManager::SetValue(TW_BACKUP_BOOT_VAR, 0);
- }
- }
-#endif
- DataManager::GetValue(TW_BACKUP_ANDSEC_VAR, check);
- if (check) {
- backup_andsec = Find_Partition_By_Path("/and-sec");
- if (backup_andsec != NULL) {
- partition_count++;
- if (backup_andsec->Backup_Method == 1)
- file_bytes += backup_andsec->Backup_Size;
- else
- img_bytes += backup_andsec->Backup_Size;
- } else {
- LOGE("Unable to locate android secure partition.\n");
- DataManager::SetValue(TW_BACKUP_ANDSEC_VAR, 0);
- }
- }
- DataManager::GetValue(TW_BACKUP_SDEXT_VAR, check);
- if (check) {
- backup_sdext = Find_Partition_By_Path("/sd-ext");
- if (backup_sdext != NULL) {
- partition_count++;
- if (backup_sdext->Backup_Method == 1)
- file_bytes += backup_sdext->Backup_Size;
- else
- img_bytes += backup_sdext->Backup_Size;
- } else {
- LOGE("Unable to locate sd-ext partition.\n");
- DataManager::SetValue(TW_BACKUP_SDEXT_VAR, 0);
- }
- }
-#ifdef SP1_NAME
- DataManager::GetValue(TW_BACKUP_SP1_VAR, check);
- if (check) {
- backup_sp1 = Find_Partition_By_Path(EXPAND(SP1_NAME));
- if (backup_sp1 != NULL) {
- partition_count++;
- if (backup_sp1->Backup_Method == 1)
- file_bytes += backup_sp1->Backup_Size;
- else
- img_bytes += backup_sp1->Backup_Size;
- } else {
- LOGE("Unable to locate %s partition.\n", EXPAND(SP1_NAME));
- DataManager::SetValue(TW_BACKUP_SP1_VAR, 0);
- }
- }
-#endif
-#ifdef SP2_NAME
- DataManager::GetValue(TW_BACKUP_SP2_VAR, check);
- if (check) {
- backup_sp2 = Find_Partition_By_Path(EXPAND(SP2_NAME));
- if (backup_sp2 != NULL) {
- partition_count++;
- if (backup_sp2->Backup_Method == 1)
- file_bytes += backup_sp2->Backup_Size;
- else
- img_bytes += backup_sp2->Backup_Size;
- } else {
- LOGE("Unable to locate %s partition.\n", EXPAND(SP2_NAME));
- DataManager::SetValue(TW_BACKUP_SP2_VAR, 0);
- }
- }
-#endif
-#ifdef SP3_NAME
- DataManager::GetValue(TW_BACKUP_SP3_VAR, check);
- if (check) {
- backup_sp3 = Find_Partition_By_Path(EXPAND(SP3_NAME));
- if (backup_sp3 != NULL) {
- partition_count++;
- if (backup_sp3->Backup_Method == 1)
- file_bytes += backup_sp3->Backup_Size;
- else
- img_bytes += backup_sp3->Backup_Size;
- } else {
- LOGE("Unable to locate %s partition.\n", EXPAND(SP3_NAME));
- DataManager::SetValue(TW_BACKUP_SP3_VAR, 0);
- }
- }
-#endif
if (partition_count == 0) {
ui_print("No partitions selected for backup.\n");
@@ -836,26 +738,20 @@
ui->SetProgress(0.0);
- if (!Backup_Partition(backup_sys, Full_Backup_Path, do_md5, &img_bytes_remaining, &file_bytes_remaining, &img_time, &file_time, &img_bytes, &file_bytes))
- return false;
- if (!Backup_Partition(backup_data, Full_Backup_Path, do_md5, &img_bytes_remaining, &file_bytes_remaining, &img_time, &file_time, &img_bytes, &file_bytes))
- return false;
- if (!Backup_Partition(backup_cache, Full_Backup_Path, do_md5, &img_bytes_remaining, &file_bytes_remaining, &img_time, &file_time, &img_bytes, &file_bytes))
- return false;
- if (!Backup_Partition(backup_recovery, Full_Backup_Path, do_md5, &img_bytes_remaining, &file_bytes_remaining, &img_time, &file_time, &img_bytes, &file_bytes))
- return false;
- if (!Backup_Partition(backup_boot, Full_Backup_Path, do_md5, &img_bytes_remaining, &file_bytes_remaining, &img_time, &file_time, &img_bytes, &file_bytes))
- return false;
- if (!Backup_Partition(backup_andsec, Full_Backup_Path, do_md5, &img_bytes_remaining, &file_bytes_remaining, &img_time, &file_time, &img_bytes, &file_bytes))
- return false;
- if (!Backup_Partition(backup_sdext, Full_Backup_Path, do_md5, &img_bytes_remaining, &file_bytes_remaining, &img_time, &file_time, &img_bytes, &file_bytes))
- return false;
- if (!Backup_Partition(backup_sp1, Full_Backup_Path, do_md5, &img_bytes_remaining, &file_bytes_remaining, &img_time, &file_time, &img_bytes, &file_bytes))
- return false;
- if (!Backup_Partition(backup_sp2, Full_Backup_Path, do_md5, &img_bytes_remaining, &file_bytes_remaining, &img_time, &file_time, &img_bytes, &file_bytes))
- return false;
- if (!Backup_Partition(backup_sp3, Full_Backup_Path, do_md5, &img_bytes_remaining, &file_bytes_remaining, &img_time, &file_time, &img_bytes, &file_bytes))
- return false;
+ start_pos = 0;
+ end_pos = Backup_List.find(";", start_pos);
+ while (end_pos != string::npos && start_pos < Backup_List.size()) {
+ backup_path = Backup_List.substr(start_pos, end_pos - start_pos);
+ backup_part = Find_Partition_By_Path(backup_path);
+ if (backup_part != NULL) {
+ if (!Backup_Partition(backup_part, Full_Backup_Path, do_md5, &img_bytes_remaining, &file_bytes_remaining, &img_time, &file_time, &img_bytes, &file_bytes))
+ return false;
+ } else {
+ LOGE("Unable to locate '%s' partition for backup process.\n", backup_path.c_str());
+ }
+ start_pos = end_pos + 1;
+ end_pos = Backup_List.find(";", start_pos);
+ }
// Average BPS
if (img_time == 0)
@@ -919,23 +815,17 @@
}
}
time(&Stop);
- ui_print("[%s done (%d seconds)]\n\n", Part->Display_Name.c_str(), (int)difftime(Stop, Start));
+ ui_print("[%s done (%d seconds)]\n\n", Part->Backup_Display_Name.c_str(), (int)difftime(Stop, Start));
return true;
}
int TWPartitionManager::Run_Restore(string Restore_Name) {
int check_md5, check, partition_count = 0;
- TWPartition* restore_sys = NULL;
- TWPartition* restore_data = NULL;
- TWPartition* restore_cache = NULL;
- TWPartition* restore_boot = NULL;
- TWPartition* restore_andsec = NULL;
- TWPartition* restore_sdext = NULL;
- TWPartition* restore_sp1 = NULL;
- TWPartition* restore_sp2 = NULL;
- TWPartition* restore_sp3 = NULL;
+ TWPartition* restore_part = NULL;
time_t rStart, rStop;
time(&rStart);
+ string Restore_List, restore_path;
+ size_t start_pos = 0, end_pos;
ui_print("\n[RESTORE STARTED]\n\n");
ui_print("Restore folder: '%s'\n", Restore_Name.c_str());
@@ -944,157 +834,65 @@
return false;
DataManager::GetValue(TW_SKIP_MD5_CHECK_VAR, check_md5);
- DataManager::GetValue(TW_RESTORE_SYSTEM_VAR, check);
- if (check > 0) {
- restore_sys = Find_Partition_By_Path("/system");
- if (restore_sys == NULL) {
- LOGE("Unable to locate system partition.\n");
- } else {
- partition_count++;
+ if (check_md5 > 0) {
+ // Check MD5 files first before restoring to ensure that all of them match before starting a restore
+ TWFunc::GUI_Operation_Text(TW_VERIFY_MD5_TEXT, "Verifying MD5");
+ ui_print("Verifying MD5...\n");
+ } else {
+ ui_print("Skipping MD5 check based on user setting.\n");
+ }
+ DataManager::GetValue("tw_restore_selected", Restore_List);
+ if (!Restore_List.empty()) {
+ end_pos = Restore_List.find(";", start_pos);
+ while (end_pos != string::npos && start_pos < Restore_List.size()) {
+ restore_path = Restore_List.substr(start_pos, end_pos - start_pos);
+ restore_part = Find_Partition_By_Path(restore_path);
+ if (restore_part != NULL) {
+ partition_count++;
+ if (check_md5 > 0 && !restore_part->Check_MD5(Restore_Name))
+ return false;
+ if (restore_part->Has_SubPartition) {
+ std::vector<TWPartition*>::iterator subpart;
+
+ for (subpart = Partitions.begin(); subpart != Partitions.end(); subpart++) {
+ if ((*subpart)->Is_SubPartition && (*subpart)->SubPartition_Of == restore_part->Mount_Point) {
+ if (!(*subpart)->Check_MD5(Restore_Name))
+ return false;
+ }
+ }
+ }
+ } else {
+ LOGE("Unable to locate '%s' partition for restoring.\n", restore_path.c_str());
+ }
+ start_pos = end_pos + 1;
+ end_pos = Restore_List.find(";", start_pos);
}
}
- DataManager::GetValue(TW_RESTORE_DATA_VAR, check);
- if (check > 0) {
- restore_data = Find_Partition_By_Path("/data");
- if (restore_data == NULL) {
- LOGE("Unable to locate data partition.\n");
- } else {
- partition_count++;
- }
- }
- DataManager::GetValue(TW_RESTORE_CACHE_VAR, check);
- if (check > 0) {
- restore_cache = Find_Partition_By_Path("/cache");
- if (restore_cache == NULL) {
- LOGE("Unable to locate cache partition.\n");
- } else {
- partition_count++;
- }
- }
-#ifndef TW_HAS_NO_BOOT_PARTITION
- DataManager::GetValue(TW_RESTORE_BOOT_VAR, check);
- if (check > 0) {
- restore_boot = Find_Partition_By_Path("/boot");
- if (restore_boot == NULL) {
- LOGE("Unable to locate boot partition.\n");
- } else {
- partition_count++;
- }
- }
-#endif
- DataManager::GetValue(TW_RESTORE_ANDSEC_VAR, check);
- if (check > 0) {
- restore_andsec = Find_Partition_By_Path("/and-sec");
- if (restore_andsec == NULL) {
- LOGE("Unable to locate android secure partition.\n");
- } else {
- partition_count++;
- }
- }
- DataManager::GetValue(TW_RESTORE_SDEXT_VAR, check);
- if (check > 0) {
- restore_sdext = Find_Partition_By_Path("/sd-ext");
- if (restore_sdext == NULL) {
- LOGE("Unable to locate sd-ext partition.\n");
- } else {
- partition_count++;
- }
- }
-#ifdef SP1_NAME
- DataManager::GetValue(TW_RESTORE_SP1_VAR, check);
- if (check > 0) {
- restore_sp1 = Find_Partition_By_Path(EXPAND(SP1_NAME));
- if (restore_sp1 == NULL) {
- LOGE("Unable to locate %s partition.\n", EXPAND(SP1_NAME));
- } else {
- partition_count++;
- }
- }
-#endif
-#ifdef SP2_NAME
- DataManager::GetValue(TW_RESTORE_SP2_VAR, check);
- if (check > 0) {
- restore_sp2 = Find_Partition_By_Path(EXPAND(SP2_NAME));
- if (restore_sp2 == NULL) {
- LOGE("Unable to locate %s partition.\n", EXPAND(SP2_NAME));
- } else {
- partition_count++;
- }
- }
-#endif
-#ifdef SP3_NAME
- DataManager::GetValue(TW_RESTORE_SP3_VAR, check);
- if (check > 0) {
- restore_sp3 = Find_Partition_By_Path(EXPAND(SP3_NAME));
- if (restore_sp3 == NULL) {
- LOGE("Unable to locate %s partition.\n", EXPAND(SP3_NAME));
- } else {
- partition_count++;
- }
- }
-#endif
if (partition_count == 0) {
LOGE("No partitions selected for restore.\n");
return false;
}
- if (check_md5 > 0) {
- // Check MD5 files first before restoring to ensure that all of them match before starting a restore
- TWFunc::GUI_Operation_Text(TW_VERIFY_MD5_TEXT, "Verifying MD5");
- ui_print("Verifying MD5...\n");
- if (restore_sys != NULL && !restore_sys->Check_MD5(Restore_Name))
- return false;
- if (restore_data != NULL && !restore_data->Check_MD5(Restore_Name))
- return false;
- if (restore_data != NULL && restore_data->Has_SubPartition) {
- std::vector<TWPartition*>::iterator subpart;
-
- for (subpart = Partitions.begin(); subpart != Partitions.end(); subpart++) {
- if ((*subpart)->Is_SubPartition && (*subpart)->SubPartition_Of == restore_data->Mount_Point) {
- if (!(*subpart)->Check_MD5(Restore_Name))
- return false;
- }
- }
- }
- if (restore_cache != NULL && !restore_cache->Check_MD5(Restore_Name))
- return false;
- if (restore_boot != NULL && !restore_boot->Check_MD5(Restore_Name))
- return false;
- if (restore_andsec != NULL && !restore_andsec->Check_MD5(Restore_Name))
- return false;
- if (restore_sdext != NULL && !restore_sdext->Check_MD5(Restore_Name))
- return false;
- if (restore_sp1 != NULL && !restore_sp1->Check_MD5(Restore_Name))
- return false;
- if (restore_sp2 != NULL && !restore_sp2->Check_MD5(Restore_Name))
- return false;
- if (restore_sp3 != NULL && !restore_sp3->Check_MD5(Restore_Name))
- return false;
- ui_print("Done verifying MD5.\n");
- } else
- ui_print("Skipping MD5 check based on user setting.\n");
-
ui_print("Restoring %i partitions...\n", partition_count);
ui->SetProgress(0.0);
- if (restore_sys != NULL && !Restore_Partition(restore_sys, Restore_Name, partition_count))
- return false;
- if (restore_data != NULL && !Restore_Partition(restore_data, Restore_Name, partition_count))
- return false;
- if (restore_cache != NULL && !Restore_Partition(restore_cache, Restore_Name, partition_count))
- return false;
- if (restore_boot != NULL && !Restore_Partition(restore_boot, Restore_Name, partition_count))
- return false;
- if (restore_andsec != NULL && !Restore_Partition(restore_andsec, Restore_Name, partition_count))
- return false;
- if (restore_sdext != NULL && !Restore_Partition(restore_sdext, Restore_Name, partition_count))
- return false;
- if (restore_sp1 != NULL && !Restore_Partition(restore_sp1, Restore_Name, partition_count))
- return false;
- if (restore_sp2 != NULL && !Restore_Partition(restore_sp2, Restore_Name, partition_count))
- return false;
- if (restore_sp3 != NULL && !Restore_Partition(restore_sp3, Restore_Name, partition_count))
- return false;
+ start_pos = 0;
+ if (!Restore_List.empty()) {
+ end_pos = Restore_List.find(";", start_pos);
+ while (end_pos != string::npos && start_pos < Restore_List.size()) {
+ restore_path = Restore_List.substr(start_pos, end_pos - start_pos);
+ restore_part = Find_Partition_By_Path(restore_path);
+ if (restore_part != NULL) {
+ partition_count++;
+ if (!Restore_Partition(restore_part, Restore_Name, partition_count))
+ return false;
+ } else {
+ LOGE("Unable to locate '%s' partition for restoring.\n", restore_path.c_str());
+ }
+ start_pos = end_pos + 1;
+ end_pos = Restore_List.find(";", start_pos);
+ }
+ }
TWFunc::GUI_Operation_Text(TW_UPDATE_SYSTEM_DETAILS_TEXT, "Updating System Details");
Update_System_Details();
@@ -1106,16 +904,7 @@
void TWPartitionManager::Set_Restore_Files(string Restore_Name) {
// Start with the default values
- int tw_restore_system = -1;
- int tw_restore_data = -1;
- int tw_restore_cache = -1;
- int tw_restore_recovery = -1;
- int tw_restore_boot = -1;
- int tw_restore_andsec = -1;
- int tw_restore_sdext = -1;
- int tw_restore_sp1 = -1;
- int tw_restore_sp2 = -1;
- int tw_restore_sp3 = -1;
+ string Restore_List;
bool get_date = true;
DIR* d;
@@ -1170,7 +959,11 @@
extn = ptr;
}
- if (extn == NULL || (strlen(extn) >= 3 && strncmp(extn, "win", 3) != 0)) continue;
+ if (strcmp(fstype, "log") == 0) continue;
+ int extnlength = strlen(extn);
+ if (extn == NULL || (extnlength != 3 && extnlength != 6)) continue;
+ if (extnlength == 3 && strncmp(extn, "win", 3) != 0) continue;
+ if (extnlength == 6 && strncmp(extn, "win000", 6) != 0) continue;
TWPartition* Part = Find_Partition_By_Path(label);
if (Part == NULL)
@@ -1184,48 +977,13 @@
Part->Backup_FileName.resize(Part->Backup_FileName.size() - strlen(extn) + 3);
}
- // Now, we just need to find the correct label
- if (Part->Backup_Path == "/system")
- tw_restore_system = 1;
- if (Part->Backup_Path == "/data")
- tw_restore_data = 1;
- if (Part->Backup_Path == "/cache")
- tw_restore_cache = 1;
- if (Part->Backup_Path == "/recovery")
- tw_restore_recovery = 1;
- if (Part->Backup_Path == "/boot")
- tw_restore_boot = 1;
- if (Part->Backup_Path == "/and-sec")
- tw_restore_andsec = 1;
- if (Part->Backup_Path == "/sd-ext")
- tw_restore_sdext = 1;
-#ifdef SP1_NAME
- if (Part->Backup_Path == TWFunc::Get_Root_Path(EXPAND(SP1_NAME)))
- tw_restore_sp1 = 1;
-#endif
-#ifdef SP2_NAME
- if (Part->Backup_Path == TWFunc::Get_Root_Path(EXPAND(SP2_NAME)))
- tw_restore_sp2 = 1;
-#endif
-#ifdef SP3_NAME
- if (Part->Backup_Path == TWFunc::Get_Root_Path(EXPAND(SP3_NAME)))
- tw_restore_sp3 = 1;
-#endif
+ Restore_List += Part->Backup_Path + ";";
}
closedir(d);
- // Set the final values
- DataManager::SetValue(TW_RESTORE_SYSTEM_VAR, tw_restore_system);
- DataManager::SetValue(TW_RESTORE_DATA_VAR, tw_restore_data);
- DataManager::SetValue(TW_RESTORE_CACHE_VAR, tw_restore_cache);
- DataManager::SetValue(TW_RESTORE_RECOVERY_VAR, tw_restore_recovery);
- DataManager::SetValue(TW_RESTORE_BOOT_VAR, tw_restore_boot);
- DataManager::SetValue(TW_RESTORE_ANDSEC_VAR, tw_restore_andsec);
- DataManager::SetValue(TW_RESTORE_SDEXT_VAR, tw_restore_sdext);
- DataManager::SetValue(TW_RESTORE_SP1_VAR, tw_restore_sp1);
- DataManager::SetValue(TW_RESTORE_SP2_VAR, tw_restore_sp2);
- DataManager::SetValue(TW_RESTORE_SP3_VAR, tw_restore_sp3);
-
+ // Set the final value
+ DataManager::SetValue("tw_restore_list", Restore_List);
+ DataManager::SetValue("tw_restore_selected", Restore_List);
return;
}
@@ -1322,7 +1080,7 @@
dir.push_back("/cache/dalvik-cache");
dir.push_back("/cache/dc");
ui_print("\nWiping Dalvik Cache Directories...\n");
- for (int i = 0; i < dir.size(); ++i) {
+ for (unsigned i = 0; i < dir.size(); ++i) {
if (stat(dir.at(i).c_str(), &st) == 0) {
TWFunc::removeDir(dir.at(i), false);
ui_print("Cleaned: %s...\n", dir.at(i).c_str());
@@ -1993,3 +1751,104 @@
ui_print("Partitioning complete.\n");
return true;
}
+
+void TWPartitionManager::Get_Partition_List(string ListType, std::vector<PartitionList> *Partition_List) {
+ std::vector<TWPartition*>::iterator iter;
+ if (ListType == "mount") {
+ for (iter = Partitions.begin(); iter != Partitions.end(); iter++) {
+ if ((*iter)->Can_Be_Mounted && !(*iter)->Is_SubPartition) {
+ struct PartitionList part;
+ part.Display_Name = (*iter)->Display_Name;
+ part.Mount_Point = (*iter)->Mount_Point;
+ part.selected = (*iter)->Is_Mounted();
+ Partition_List->push_back(part);
+ }
+ }
+ } else if (ListType == "storage") {
+ char free_space[255];
+ string Current_Storage = DataManager::GetCurrentStoragePath();
+ for (iter = Partitions.begin(); iter != Partitions.end(); iter++) {
+ if ((*iter)->Is_Storage) {
+ struct PartitionList part;
+ sprintf(free_space, "%llu", (*iter)->Free / 1024 / 1024);
+ part.Display_Name = (*iter)->Storage_Name + " (";
+ part.Display_Name += free_space;
+ part.Display_Name += "MB)";
+ part.Mount_Point = (*iter)->Storage_Path;
+ if ((*iter)->Storage_Path == Current_Storage)
+ part.selected = 1;
+ else
+ part.selected = 0;
+ Partition_List->push_back(part);
+ }
+ }
+ } else if (ListType == "backup") {
+ char backup_size[255];
+ for (iter = Partitions.begin(); iter != Partitions.end(); iter++) {
+ if ((*iter)->Can_Be_Backed_Up && !(*iter)->Is_SubPartition) {
+ struct PartitionList part;
+ sprintf(backup_size, "%llu", (*iter)->Backup_Size / 1024 / 1024);
+ part.Display_Name = (*iter)->Backup_Display_Name + " (";
+ part.Display_Name += backup_size;
+ part.Display_Name += "MB)";
+ part.Mount_Point = (*iter)->Backup_Path;
+ part.selected = 0;
+ Partition_List->push_back(part);
+ }
+ }
+ } else if (ListType == "restore") {
+ string Restore_List, restore_path;
+ TWPartition* restore_part = NULL;
+
+ DataManager::GetValue("tw_restore_list", Restore_List);
+ if (!Restore_List.empty()) {
+ size_t start_pos = 0, end_pos = Restore_List.find(";", start_pos);
+ while (end_pos != string::npos && start_pos < Restore_List.size()) {
+ restore_path = Restore_List.substr(start_pos, end_pos - start_pos);
+ if ((restore_part = Find_Partition_By_Path(restore_path)) != NULL && !restore_part->Is_SubPartition) {
+ if (restore_part->Backup_Name == "recovery") {
+ // Don't allow restore of recovery (causes problems on some devices)
+ } else {
+ struct PartitionList part;
+ part.Display_Name = restore_part->Backup_Display_Name;
+ part.Mount_Point = restore_part->Backup_Path;
+ part.selected = 1;
+ Partition_List->push_back(part);
+ }
+ } else {
+ LOGE("Unable to locate '%s' partition for restore.\n", restore_path.c_str());
+ }
+ start_pos = end_pos + 1;
+ end_pos = Restore_List.find(";", start_pos);
+ }
+ }
+ } else if (ListType == "wipe") {
+ struct PartitionList dalvik;
+ dalvik.Display_Name = "Dalvik Cache";
+ dalvik.Mount_Point = "DALVIK";
+ dalvik.selected = 0;
+ Partition_List->push_back(dalvik);
+ for (iter = Partitions.begin(); iter != Partitions.end(); iter++) {
+ if ((*iter)->Wipe_Available_in_GUI && !(*iter)->Is_SubPartition) {
+ struct PartitionList part;
+ part.Display_Name = (*iter)->Display_Name;
+ part.Mount_Point = (*iter)->Mount_Point;
+ part.selected = 0;
+ Partition_List->push_back(part);
+ }
+ if ((*iter)->Has_Android_Secure) {
+ struct PartitionList part;
+ part.Display_Name = (*iter)->Backup_Display_Name;
+ part.Mount_Point = (*iter)->Backup_Path;
+ part.selected = 0;
+ Partition_List->push_back(part);
+ }
+ }
+ } else {
+ LOGE("Unknown list type '%s' requested for TWPartitionManager::Get_Partition_List\n", ListType.c_str());
+ }
+}
+
+int TWPartitionManager::Fstab_Processed(void) {
+ return Partitions.size();
+}
diff --git a/partitions.hpp b/partitions.hpp
index 47436b0..704ba68 100644
--- a/partitions.hpp
+++ b/partitions.hpp
@@ -30,6 +30,12 @@
using namespace std;
+struct PartitionList {
+ std::string Display_Name;
+ std::string Mount_Point;
+ unsigned int selected;
+};
+
// Partition class
class TWPartition
{
@@ -67,6 +73,7 @@
string Actual_Block_Device; // Actual block device (one of primary, alternate, or decrypted)
string MTD_Name; // Name of the partition for MTD devices
+
protected:
bool Process_Fstab_Line(string Line, bool Display_Error); // Processes a fstab line
void Find_Actual_Block_Device(); // Determines the correct block device and stores it in Actual_Block_Device
@@ -74,6 +81,7 @@
protected:
bool Can_Be_Mounted; // Indicates that the partition can be mounted
bool Can_Be_Wiped; // Indicates that the partition can be wiped
+ bool Can_Be_Backed_Up; // Indicates that the partition will show up in the backup list
bool Wipe_During_Factory_Reset; // Indicates that this partition is wiped during a factory reset
bool Wipe_Available_in_GUI; // Inidcates that the wipe can be user initiated in the GUI system
bool Is_SubPartition; // Indicates that this partition is a sub-partition of another partition (e.g. datadata is a sub-partition of data)
@@ -98,11 +106,14 @@
bool Is_Decrypted; // This partition has successfully been decrypted
string Display_Name; // Display name for the GUI
string Backup_Name; // Backup name -- used for backup filenames
+ string Backup_Display_Name; // Name displayed in the partition list for backup selection
+ string Storage_Name; // Name displayed in the partition list for storage selection
string Backup_FileName; // Actual backup filename
Backup_Method_enum Backup_Method; // Method used for backup
bool Has_Data_Media; // Indicates presence of /data/media, may affect wiping and backup methods
bool Has_Android_Secure; // Indicates the presence of .android_secure on this partition
bool Is_Storage; // Indicates if this partition is used for storage for backup, restore, and installing zips
+ bool Is_Settings_Storage; // Indicates that this storage partition is the location of the .twrps settings file and the location that is used for custom themes
string Storage_Path; // Indicates the path to the storage -- root indicates mount point, media/ indicates e.g. /data/media
string Fstab_File_System; // File system from the recovery.fstab
int Format_Block_Size; // Block size for formatting
@@ -143,6 +154,8 @@
void Mount_Storage_Retry(void); // Tries multiple times with a half second delay to mount a device in case storage is slow to mount
friend class TWPartitionManager;
+friend class DataManager;
+friend class GUIPartitionList;
};
class TWPartitionManager
@@ -193,6 +206,9 @@
virtual int Partition_SDCard(void); // Repartitions the sdcard
virtual int Fix_Permissions();
+ virtual void Get_Partition_List(string ListType, std::vector<PartitionList> *Partition_List);
+ virtual int Fstab_Processed(); // Indicates if the fstab has been processed or not
+
private:
bool Make_MD5(bool generate_md5, string Backup_Folder, string Backup_Filename); // Generates an MD5 after a backup is made
bool Backup_Partition(TWPartition* Part, string Backup_Folder, bool generate_md5, unsigned long long* img_bytes_remaining, unsigned long long* file_bytes_remaining, unsigned long *img_time, unsigned long *file_time, unsigned long long *img_bytes, unsigned long long *file_bytes);
diff --git a/variables.h b/variables.h
index 49872f7..3808212 100644
--- a/variables.h
+++ b/variables.h
@@ -17,7 +17,7 @@
#ifndef _VARIABLES_HEADER_
#define _VARIABLES_HEADER_
-#define TW_VERSION_STR "2.4.4.0"
+#define TW_VERSION_STR "2.5.0.0"
#define TW_USE_COMPRESSION_VAR "tw_use_compression"
#define TW_FILENAME "tw_filename"