summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDees_Troy <dees_troy@yahoo.com>2013-03-24 14:54:55 +0100
committerDees_Troy <dees_troy@yahoo.com>2013-03-30 14:56:39 +0100
commita13d74fc95324c4318fcc95956b07fe593669412 (patch)
tree74654a9fae5e24e346842da733d68a70c5bfb716
parentAdd search function to libtar (diff)
downloadandroid_bootable_recovery-a13d74fc95324c4318fcc95956b07fe593669412.tar
android_bootable_recovery-a13d74fc95324c4318fcc95956b07fe593669412.tar.gz
android_bootable_recovery-a13d74fc95324c4318fcc95956b07fe593669412.tar.bz2
android_bootable_recovery-a13d74fc95324c4318fcc95956b07fe593669412.tar.lz
android_bootable_recovery-a13d74fc95324c4318fcc95956b07fe593669412.tar.xz
android_bootable_recovery-a13d74fc95324c4318fcc95956b07fe593669412.tar.zst
android_bootable_recovery-a13d74fc95324c4318fcc95956b07fe593669412.zip
-rw-r--r--crypto/ics/cryptfs.c2
-rw-r--r--crypto/jb/cryptfs.c2
-rw-r--r--data.cpp168
-rw-r--r--data.h2
-rw-r--r--data.hpp4
-rw-r--r--gui/Android.mk1
-rw-r--r--gui/action.cpp63
-rw-r--r--gui/blanktimer.cpp12
-rw-r--r--gui/button.cpp77
-rw-r--r--gui/devices/1024x600/res/images/exclamation200.pngbin5260 -> 0 bytes
-rwxr-xr-xgui/devices/1024x600/res/ui.xml979
-rw-r--r--gui/devices/1024x768/res/images/exclamation200.pngbin5260 -> 0 bytes
-rw-r--r--gui/devices/1024x768/res/ui.xml977
-rw-r--r--gui/devices/1080x1920/res/fonts/Roboto-Condensed-40.datbin0 -> 12724 bytes
-rw-r--r--gui/devices/1080x1920/res/images/back-icon.pngbin0 -> 2627 bytes
-rw-r--r--gui/devices/1080x1920/res/images/checkbox_checked.pngbin0 -> 1807 bytes
-rw-r--r--gui/devices/1080x1920/res/images/checkbox_empty.pngbin0 -> 586 bytes
-rw-r--r--gui/devices/1080x1920/res/images/curtain.jpgbin0 -> 107182 bytes
-rw-r--r--gui/devices/1080x1920/res/images/file.pngbin0 -> 1267 bytes
-rw-r--r--gui/devices/1080x1920/res/images/folder.pngbin0 -> 1069 bytes
-rw-r--r--gui/devices/1080x1920/res/images/home-icon.pngbin0 -> 2433 bytes
-rw-r--r--gui/devices/1080x1920/res/images/indeterminate001.pngbin0 -> 3791 bytes
-rw-r--r--gui/devices/1080x1920/res/images/indeterminate002.pngbin0 -> 3796 bytes
-rw-r--r--gui/devices/1080x1920/res/images/indeterminate003.pngbin0 -> 3772 bytes
-rw-r--r--gui/devices/1080x1920/res/images/indeterminate004.pngbin0 -> 3760 bytes
-rw-r--r--gui/devices/1080x1920/res/images/indeterminate005.pngbin0 -> 3780 bytes
-rw-r--r--gui/devices/1080x1920/res/images/indeterminate006.pngbin0 -> 3732 bytes
-rw-r--r--gui/devices/1080x1920/res/images/keyboard1.pngbin0 -> 65355 bytes
-rw-r--r--gui/devices/1080x1920/res/images/keyboard2.pngbin0 -> 66480 bytes
-rw-r--r--gui/devices/1080x1920/res/images/keyboard3.pngbin0 -> 57703 bytes
-rw-r--r--gui/devices/1080x1920/res/images/keyboard4.pngbin0 -> 54577 bytes
-rw-r--r--gui/devices/1080x1920/res/images/medium-button.pngbin0 -> 3359 bytes
-rw-r--r--gui/devices/1080x1920/res/images/menu-button.pngbin0 -> 8122 bytes
-rw-r--r--gui/devices/1080x1920/res/images/minus-button.pngbin0 -> 815 bytes
-rw-r--r--gui/devices/1080x1920/res/images/plus-button.pngbin0 -> 1117 bytes
-rw-r--r--gui/devices/1080x1920/res/images/progress_empty.pngbin0 -> 261 bytes
-rw-r--r--gui/devices/1080x1920/res/images/progress_fill.pngbin0 -> 316 bytes
-rw-r--r--gui/devices/1080x1920/res/images/radio_empty.pngbin0 -> 2673 bytes
-rw-r--r--gui/devices/1080x1920/res/images/radio_selected.pngbin0 -> 3432 bytes
-rw-r--r--gui/devices/1080x1920/res/images/slideout.pngbin0 -> 3254 bytes
-rw-r--r--gui/devices/1080x1920/res/images/slider-touch.pngbin0 -> 29925 bytes
-rw-r--r--gui/devices/1080x1920/res/images/slider-used.pngbin0 -> 9123 bytes
-rw-r--r--gui/devices/1080x1920/res/images/slider.pngbin0 -> 21895 bytes
-rw-r--r--gui/devices/1080x1920/res/images/sort-button.pngbin0 -> 1495 bytes
-rw-r--r--gui/devices/1080x1920/res/images/top-bar.jpgbin0 -> 29015 bytes
-rw-r--r--gui/devices/1080x1920/res/images/unlock.pngbin0 -> 68671 bytes
-rw-r--r--gui/devices/1080x1920/res/ui.xml3626
-rw-r--r--gui/devices/1280x800/res/images/exclamation200.pngbin5260 -> 0 bytes
-rw-r--r--gui/devices/1280x800/res/ui.xml979
-rw-r--r--gui/devices/1920x1200/res/images/exclamation400.pngbin11295 -> 0 bytes
-rw-r--r--gui/devices/1920x1200/res/ui.xml979
-rw-r--r--gui/devices/2560x1600/res/images/exclamation400.pngbin37149 -> 0 bytes
-rw-r--r--gui/devices/2560x1600/res/ui.xml979
-rw-r--r--gui/devices/320x480/res/images/exclamation150.pngbin6460 -> 0 bytes
-rw-r--r--gui/devices/320x480/res/ui.xml1013
-rw-r--r--gui/devices/480x800/res/images/exclamation200.pngbin5260 -> 0 bytes
-rw-r--r--gui/devices/480x800/res/ui.xml1012
-rw-r--r--gui/devices/480x854/res/images/exclamation200.pngbin5260 -> 0 bytes
-rw-r--r--gui/devices/480x854/res/ui.xml1012
-rw-r--r--gui/devices/540x960/res/images/exclamation300.pngbin13488 -> 0 bytes
-rw-r--r--gui/devices/540x960/res/ui.xml1012
-rw-r--r--gui/devices/720x1280/res/images/exclamation400.pngbin11295 -> 0 bytes
-rw-r--r--gui/devices/720x1280/res/ui.xml1014
-rw-r--r--gui/devices/800x1280/res/images/exclamation400.pngbin11295 -> 0 bytes
-rwxr-xr-xgui/devices/800x1280/res/ui.xml1018
-rw-r--r--gui/devices/800x480/res/images/exclamation150.pngbin6460 -> 0 bytes
-rwxr-xr-xgui/devices/800x480/res/ui.xml977
-rw-r--r--gui/fileselector.cpp20
-rw-r--r--gui/fill.cpp4
-rw-r--r--gui/listbox.cpp18
-rw-r--r--gui/objects.hpp106
-rw-r--r--gui/pages.cpp25
-rw-r--r--gui/partitionlist.cpp926
-rw-r--r--gui/text.cpp6
-rw-r--r--openrecoveryscript.cpp116
-rw-r--r--partition.cpp123
-rw-r--r--partitionmanager.cpp639
-rw-r--r--partitions.hpp16
-rw-r--r--variables.h2
79 files changed, 9063 insertions, 8846 deletions
diff --git a/crypto/ics/cryptfs.c b/crypto/ics/cryptfs.c
index 945864d6a..d994449c1 100644
--- a/crypto/ics/cryptfs.c
+++ b/crypto/ics/cryptfs.c
@@ -211,7 +211,7 @@ static int get_crypt_ftr_and_key(char *real_blk_name, struct crypt_mnt_ftr *cryp
/* 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 456d49f0a..be6c476b8 100644
--- a/crypto/jb/cryptfs.c
+++ b/crypto/jb/cryptfs.c
@@ -317,7 +317,7 @@ static int get_crypt_ftr_and_key(char *real_blk_name, struct crypt_mnt_ftr *cryp
/* 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 02bdba36d..c33fa89d9 100644
--- a/data.cpp
+++ b/data.cpp
@@ -226,7 +226,12 @@ int DataManager::LoadValues(const string filename)
// 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 @@ int DataManager::LoadValues(const string filename)
}
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 @@ int DataManager::SetValue(const string varName, string value, int persist /* = 0
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 @@ int DataManager::SetValue(const string varName, int value, int persist /* = 0 */
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::update_tz_environment_variables(void) {
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 @@ void DataManager::SetDefaultValues()
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 @@ void DataManager::SetDefaultValues()
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 @@ void DataManager::SetDefaultValues()
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 @@ void DataManager::ReadSettingsFile(void)
{
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 @@ void DataManager::ReadSettingsFile(void)
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 @@ extern "C" const char* DataManager_GetSettingsStoragePath(void)
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 17e1a4da0..3137f8fa2 100644
--- a/data.h
+++ b/data.h
@@ -23,9 +23,7 @@ int DataManager_LoadValues(const char* filename);
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 55966a1c3..b540675cd 100644
--- a/data.hpp
+++ b/data.hpp
@@ -57,12 +57,8 @@ public:
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 de1460443..b3e9b092a 100644
--- a/gui/Android.mk
+++ b/gui/Android.mk
@@ -21,6 +21,7 @@ LOCAL_SRC_FILES := \
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 ca968d088..345632410 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 @@ int GUIAction::doAction(Action action, int isThreaded /* = 0 */)
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 7085557e8..17cc0b3d1 100644
--- a/gui/blanktimer.cpp
+++ b/gui/blanktimer.cpp
@@ -109,7 +109,17 @@ int blanktimer::getBrightness(void) {
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 a4c5ecb7c..5ba8182a1 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 @@ GUIButton::GUIButton(xml_node<>* node)
mRendered = false;
hasHighlightColor = false;
renderHighlight = false;
+ hasFill = false;
if (!node) return;
@@ -49,7 +66,6 @@ GUIButton::GUIButton(xml_node<>* node)
if (mButtonImg->Render() < 0)
{
- LOGE("Unable to locate button image\n");
delete mButtonImg;
mButtonImg = NULL;
}
@@ -58,6 +74,21 @@ GUIButton::GUIButton(xml_node<>* node)
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 @@ GUIButton::GUIButton(xml_node<>* node)
}
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 @@ int GUIButton::Render(void)
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 @@ int GUIButton::Update(void)
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 96258a1c3..000000000
--- 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 16969d9bd..1615ee9c1 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,220 +1233,92 @@
<object type="template" name="footer" />
</page>
- <page name="mount">
+ <page name="selectstorage">
<object type="template" name="header" />
- <object type="text" color="%text_color%">
- <font resource="font" />
- <placement x="%center_x%" y="%row1_text_y%" placement="5" />
- <text>Mount Menu</text>
- </object>
-
- <object type="button">
- <condition var1="tw_has_usb_storage" var2="1" />
- <placement x="%col1_x%" y="%row1_y%" />
- <font resource="font" color="%button_text_color%" />
- <text>Mount USB Storage</text>
- <image resource="main_button" />
- <action function="page">usb_mount</action>
+ <object 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="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 type="action">
+ <touch key="home" />
+ <action function="page">main</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 type="action">
+ <touch key="back" />
+ <actions>
+ <action function="page">%tw_back%</action>
+ </actions>
</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="template" name="footer" />
+ </page>
- <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>
+ <page name="mount">
+ <object type="template" name="header" />
- <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 type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>Mount Menu</text>
</object>
- <object type="button">
- <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 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%" />
- <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" />
+ <condition var1="tw_is_encrypted" var2="1" />
+ <condition var1="tw_is_decrypted" var2="0" />
</conditions>
- <text>Using external SD</text>
- <image resource="radio_false" />
- <action function="togglestorage">external</action>
+ <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">
- <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>
+ <condition var1="tw_has_usb_storage" var2="1" />
+ <placement x="%col4_x%" y="%row1_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Mount USB Storage</text>
+ <image resource="main_button" />
+ <action function="page">usb_mount</action>
</object>
<object type="button">
- <placement x="%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>
+ <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=mount</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="action">
@@ -1539,191 +1383,133 @@
<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">
+ <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="%row1_y%" />
+ <placement x="%col3_x%" y="%wipe_button_y%" />
<font resource="font" color="%button_text_color%" />
- <text>Dalvik Cache</text>
+ <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=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>
+ <action function="page">formatdata</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" />
+ <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=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>
+ <action function="page">action_page</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 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="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 type="action">
+ <touch key="home" />
+ <action function="page">main</action>
</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 type="action">
+ <touch key="back" />
+ <action function="page">main</action>
</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%" />
- <font resource="font" color="%button_text_color%" />
- <text>Format Data</text>
- <image resource="main_button" />
- <actions>
- <action function="set">tw_back=wipe</action>
- <action function="set">tw_action=wipe</action>
- <action function="set">tw_action_param=DATAMEDIA</action>
- <action function="set">tw_has_action2=1</action>
- <action function="set">tw_action2=set</action>
- <action function="set">tw_action2_param=tw_zip_location=/sdcard</action>
- <action function="set">tw_text1=Format Data? (This wipes all media</action>
- <action function="set">tw_text2=including backups & removes encryption)</action>
- <action function="set">tw_text3=Most of the time you do not need to do this.</action>
- <action function="set">tw_action_text1=Formatting Data...</action>
- <action function="set">tw_complete_text1=Data Format Complete</action>
- <action function="set">tw_slider_text=Swipe to Format</action>
- <action function="set">tw_show_exclamation=1</action>
- <action function="page">confirm_action</action>
- </actions>
+ <object 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="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="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=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=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="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 Wipe</text>
</object>
<object type="action">
@@ -1733,182 +1519,160 @@
<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="backup">
+ <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>Back Up Device</text>
+ <text>Format Data will wipe all of your apps, backups, pictures,</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>
+ <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="%col_right_x%" y="%row2_text_y%" placement="1" />
- <text>Backup Name: %tw_backup_name%</text>
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>This cannot be undone. Press back to cancel.</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="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="checkbox">
- <placement x="%nandcheck_col1%" y="%nandcheck_row2%" />
+ <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>Data (%tw_backup_data_size% MB)</text>
- <data variable="tw_backup_data" />
- <image checked="checkbox_true" unchecked="checkbox_false" />
+ <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="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="template" name="keyboardtemplate" />
- <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 type="action">
+ <touch key="home" />
+ <action function="page">main</action>
</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 type="action">
+ <touch key="back" />
+ <action function="page">wipe</action>
</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="template" name="footer" />
+ </page>
- <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" />
+ <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="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 type="action">
+ <condition var1="tw_confirm_formatdata" op="!=" var2="yes" />
+ <action function="page">formatdata</function>
</object>
+ </page>
- <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>
+ <page name="backup">
+ <object type="template" name="header" />
- <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 type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>Back Up Device</text>
</object>
- <object type="checkbox">
- <placement x="%col1_x%" y="%nandcheck_row6%" />
- <font resource="font" color="%text_color%" />
- <text>Enable Compression (Requires more time)</text>
- <data variable="tw_use_compression" />
- <image checked="checkbox_true" unchecked="checkbox_false" />
+ <object 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="checkbox">
- <placement x="%col3_x%" y="%nandcheck_row6%" />
- <font resource="font" color="%text_color%" />
- <text>Skip MD5 generation on backups</text>
- <data variable="tw_skip_md5_generate" />
- <image checked="checkbox_true" unchecked="checkbox_false" />
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%col_right_x%" y="%row2_text_y%" placement="1" />
+ <text>Backup Name: %tw_backup_name%</text>
</object>
<object type="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>
+ <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">
- <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>
+ <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">
- <placement x="%col3_x%" y="%nandcheck_row7%" />
+ <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="%col3_x%" y="%nandcheck_row6%" />
<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>
+ <text>Enable Compression (Requires more time)</text>
+ <data variable="tw_use_compression" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
</object>
- <object type="button">
+ <object type="checkbox">
<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>
+ <text>Skip MD5 generation on backups</text>
+ <data variable="tw_skip_md5_generate" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
</object>
<object type="slider">
@@ -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>
-
- <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 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="%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 96258a1c3..000000000
--- 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 88365e62e..d16056220 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,220 +1233,92 @@
<object type="template" name="footer" />
</page>
- <page name="mount">
+ <page name="selectstorage">
<object type="template" name="header" />
- <object type="text" color="%text_color%">
- <font resource="font" />
- <placement x="%center_x%" y="%row1_text_y%" placement="5" />
- <text>Mount Menu</text>
- </object>
-
- <object type="button">
- <condition var1="tw_has_usb_storage" var2="1" />
- <placement x="%col1_x%" y="%row1_y%" />
- <font resource="font" color="%button_text_color%" />
- <text>Mount USB Storage</text>
- <image resource="main_button" />
- <action function="page">usb_mount</action>
+ <object 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="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 type="action">
+ <touch key="home" />
+ <action function="page">main</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 type="action">
+ <touch key="back" />
+ <actions>
+ <action function="page">%tw_back%</action>
+ </actions>
</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="template" name="footer" />
+ </page>
- <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>
+ <page name="mount">
+ <object type="template" name="header" />
- <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 type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>Mount Menu</text>
</object>
- <object type="button">
- <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 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%" />
- <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" />
+ <condition var1="tw_is_encrypted" var2="1" />
+ <condition var1="tw_is_decrypted" var2="0" />
</conditions>
- <text>Using external SD</text>
- <image resource="radio_false" />
- <action function="togglestorage">external</action>
+ <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">
- <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>
+ <condition var1="tw_has_usb_storage" var2="1" />
+ <placement x="%col4_x%" y="%row1_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Mount USB Storage</text>
+ <image resource="main_button" />
+ <action function="page">usb_mount</action>
</object>
<object type="button">
- <placement x="%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>
+ <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=mount</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="action">
@@ -1541,191 +1383,133 @@
<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">
+ <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="%row1_y%" />
+ <placement x="%col3_x%" y="%wipe_button_y%" />
<font resource="font" color="%button_text_color%" />
- <text>Dalvik Cache</text>
+ <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=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>
+ <action function="page">formatdata</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" />
+ <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=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>
+ <action function="page">action_page</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 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="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 type="action">
+ <touch key="home" />
+ <action function="page">main</action>
</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 type="action">
+ <touch key="back" />
+ <action function="page">main</action>
</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%" />
- <font resource="font" color="%button_text_color%" />
- <text>Format Data</text>
- <image resource="main_button" />
- <actions>
- <action function="set">tw_back=wipe</action>
- <action function="set">tw_action=wipe</action>
- <action function="set">tw_action_param=DATAMEDIA</action>
- <action function="set">tw_has_action2=1</action>
- <action function="set">tw_action2=set</action>
- <action function="set">tw_action2_param=tw_zip_location=/sdcard</action>
- <action function="set">tw_text1=Format Data? (This wipes all media</action>
- <action function="set">tw_text2=including backups & removes encryption)</action>
- <action function="set">tw_text3=Most of the time you do not need to do this.</action>
- <action function="set">tw_action_text1=Formatting Data...</action>
- <action function="set">tw_complete_text1=Data Format Complete</action>
- <action function="set">tw_slider_text=Swipe to Format</action>
- <action function="set">tw_show_exclamation=1</action>
- <action function="page">confirm_action</action>
- </actions>
+ <object 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="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="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=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=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="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 Wipe</text>
</object>
<object type="action">
@@ -1735,182 +1519,160 @@
<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="backup">
+ <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>Back Up Device</text>
+ <text>Format Data will wipe all of your apps, backups, pictures,</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>
+ <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="%col_right_x%" y="%row2_text_y%" placement="1" />
- <text>Backup Name: %tw_backup_name%</text>
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>This cannot be undone. Press back to cancel.</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="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="checkbox">
- <placement x="%nandcheck_col1%" y="%nandcheck_row2%" />
+ <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>Data (%tw_backup_data_size% MB)</text>
- <data variable="tw_backup_data" />
- <image checked="checkbox_true" unchecked="checkbox_false" />
+ <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="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="template" name="keyboardtemplate" />
- <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 type="action">
+ <touch key="home" />
+ <action function="page">main</action>
</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 type="action">
+ <touch key="back" />
+ <action function="page">wipe</action>
</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="template" name="footer" />
+ </page>
- <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" />
+ <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="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 type="action">
+ <condition var1="tw_confirm_formatdata" op="!=" var2="yes" />
+ <action function="page">formatdata</function>
</object>
+ </page>
- <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>
+ <page name="backup">
+ <object type="template" name="header" />
- <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 type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>Back Up Device</text>
</object>
- <object type="checkbox">
- <placement x="%col1_x%" y="%nandcheck_row6%" />
- <font resource="font" color="%text_color%" />
- <text>Enable Compression (Requires more time)</text>
- <data variable="tw_use_compression" />
- <image checked="checkbox_true" unchecked="checkbox_false" />
+ <object 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="checkbox">
- <placement x="%col3_x%" y="%nandcheck_row6%" />
- <font resource="font" color="%text_color%" />
- <text>Skip MD5 generation on backups</text>
- <data variable="tw_skip_md5_generate" />
- <image checked="checkbox_true" unchecked="checkbox_false" />
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%col_right_x%" y="%row2_text_y%" placement="1" />
+ <text>Backup Name: %tw_backup_name%</text>
</object>
<object type="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>
+ <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">
- <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>
+ <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">
- <placement x="%col3_x%" y="%nandcheck_row7%" />
+ <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="%col3_x%" y="%nandcheck_row6%" />
<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>
+ <text>Enable Compression (Requires more time)</text>
+ <data variable="tw_use_compression" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
</object>
- <object type="button">
+ <object type="checkbox">
<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>
+ <text>Skip MD5 generation on backups</text>
+ <data variable="tw_skip_md5_generate" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
</object>
<object type="slider">
@@ -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>
-
- <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 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="%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 000000000..ff23add82
--- /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 000000000..85c6a5d68
--- /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 000000000..65d0b34da
--- /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 000000000..89b4c9627
--- /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 000000000..269941d5e
--- /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 000000000..a69b61996
--- /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 000000000..fbea7a970
--- /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 000000000..d6bc73d82
--- /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 000000000..a205e91aa
--- /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 000000000..f777408be
--- /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 000000000..cbb597482
--- /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 000000000..5ff77341d
--- /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 000000000..7cc9abb4f
--- /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 000000000..9eed17600
--- /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 000000000..79a8b69cb
--- /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 000000000..63a5b6a19
--- /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 000000000..a646c7557
--- /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 000000000..3b2905adb
--- /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 000000000..a3bf30d58
--- /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 000000000..36d3f0127
--- /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 000000000..e2edbe45f
--- /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 000000000..b67d9b928
--- /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 000000000..d4ea0c2fe
--- /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 000000000..836e437ae
--- /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 000000000..9c2c66bb0
--- /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 000000000..8d05b9d48
--- /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 000000000..56a9ac2aa
--- /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 000000000..b3365afee
--- /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 000000000..229d9109e
--- /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 000000000..1e034a621
--- /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 000000000..c6783a15c
--- /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 000000000..5277f597b
--- /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 000000000..dc3894b76
--- /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 000000000..93d539ca0
--- /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 &quot;%tw_restore_name%&quot;</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 &quot;%tw_restore_name%&quot; &quot;%tw_backup_rename%&quot;</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% > &quot;%tw_brightness_file%&quot;</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% > &quot;%tw_brightness_file%&quot;</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% > &quot;%tw_brightness_file%&quot;</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% > &quot;%tw_brightness_file%&quot;</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 &quot;%tw_file_location1%&quot; && 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 &quot;%tw_file_location1%&quot; && 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=&quot;%tw_file_location1%/%tw_filemanager_rename%&quot;</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% &quot;%tw_filename1%&quot;</action>
+ </actions>
+ </object>
+
+ <object type="action">
+ <condition var1="tw_include_text3" var2="1" />
+ <actions>
+ <action function="cmd">%tw_filemanager_command% &quot;%tw_filename1%&quot; &quot;%tw_fm_text3%&quot;</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 96258a1c3..000000000
--- 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 ef0b432ce..5ba47009e 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,220 +1233,92 @@
<object type="template" name="footer" />
</page>
- <page name="mount">
+ <page name="selectstorage">
<object type="template" name="header" />
- <object type="text" color="%text_color%">
- <font resource="font" />
- <placement x="%center_x%" y="%row1_text_y%" placement="5" />
- <text>Mount Menu</text>
- </object>
-
- <object type="button">
- <condition var1="tw_has_usb_storage" var2="1" />
- <placement x="%col1_x%" y="%row1_y%" />
- <font resource="font" color="%button_text_color%" />
- <text>Mount USB Storage</text>
- <image resource="main_button" />
- <action function="page">usb_mount</action>
+ <object 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="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 type="action">
+ <touch key="home" />
+ <action function="page">main</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 type="action">
+ <touch key="back" />
+ <actions>
+ <action function="page">%tw_back%</action>
+ </actions>
</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="template" name="footer" />
+ </page>
- <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>
+ <page name="mount">
+ <object type="template" name="header" />
- <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 type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>Mount Menu</text>
</object>
- <object type="button">
- <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 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%" />
- <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" />
+ <condition var1="tw_is_encrypted" var2="1" />
+ <condition var1="tw_is_decrypted" var2="0" />
</conditions>
- <text>Using external SD</text>
- <image resource="radio_false" />
- <action function="togglestorage">external</action>
+ <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">
- <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>
+ <condition var1="tw_has_usb_storage" var2="1" />
+ <placement x="%col4_x%" y="%row1_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Mount USB Storage</text>
+ <image resource="main_button" />
+ <action function="page">usb_mount</action>
</object>
<object type="button">
- <placement x="%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>
+ <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=mount</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="action">
@@ -1541,191 +1383,133 @@
<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">
+ <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="%row1_y%" />
+ <placement x="%col3_x%" y="%wipe_button_y%" />
<font resource="font" color="%button_text_color%" />
- <text>Dalvik Cache</text>
+ <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=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>
+ <action function="page">formatdata</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" />
+ <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=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>
+ <action function="page">action_page</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 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="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 type="action">
+ <touch key="home" />
+ <action function="page">main</action>
</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 type="action">
+ <touch key="back" />
+ <action function="page">main</action>
</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%" />
- <font resource="font" color="%button_text_color%" />
- <text>Format Data</text>
- <image resource="main_button" />
- <actions>
- <action function="set">tw_back=wipe</action>
- <action function="set">tw_action=wipe</action>
- <action function="set">tw_action_param=DATAMEDIA</action>
- <action function="set">tw_has_action2=1</action>
- <action function="set">tw_action2=set</action>
- <action function="set">tw_action2_param=tw_zip_location=/sdcard</action>
- <action function="set">tw_text1=Format Data? (This wipes all media</action>
- <action function="set">tw_text2=including backups & removes encryption)</action>
- <action function="set">tw_text3=Most of the time you do not need to do this.</action>
- <action function="set">tw_action_text1=Formatting Data...</action>
- <action function="set">tw_complete_text1=Data Format Complete</action>
- <action function="set">tw_slider_text=Swipe to Format</action>
- <action function="set">tw_show_exclamation=1</action>
- <action function="page">confirm_action</action>
- </actions>
+ <object 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="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="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=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=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="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 Wipe</text>
</object>
<object type="action">
@@ -1735,182 +1519,160 @@
<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="backup">
+ <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>Back Up Device</text>
+ <text>Format Data will wipe all of your apps, backups, pictures,</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>
+ <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="%col_right_x%" y="%row2_text_y%" placement="1" />
- <text>Backup Name: %tw_backup_name%</text>
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>This cannot be undone. Press back to cancel.</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="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="checkbox">
- <placement x="%nandcheck_col1%" y="%nandcheck_row2%" />
+ <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>Data (%tw_backup_data_size% MB)</text>
- <data variable="tw_backup_data" />
- <image checked="checkbox_true" unchecked="checkbox_false" />
+ <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="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="template" name="keyboardtemplate" />
- <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 type="action">
+ <touch key="home" />
+ <action function="page">main</action>
</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 type="action">
+ <touch key="back" />
+ <action function="page">wipe</action>
</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="template" name="footer" />
+ </page>
- <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" />
+ <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="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 type="action">
+ <condition var1="tw_confirm_formatdata" op="!=" var2="yes" />
+ <action function="page">formatdata</function>
</object>
+ </page>
- <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>
+ <page name="backup">
+ <object type="template" name="header" />
- <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 type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>Back Up Device</text>
</object>
- <object type="checkbox">
- <placement x="%col1_x%" y="%nandcheck_row6%" />
- <font resource="font" color="%text_color%" />
- <text>Enable Compression (Requires more time)</text>
- <data variable="tw_use_compression" />
- <image checked="checkbox_true" unchecked="checkbox_false" />
+ <object 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="checkbox">
- <placement x="%col3_x%" y="%nandcheck_row6%" />
- <font resource="font" color="%text_color%" />
- <text>Skip MD5 generation on backups</text>
- <data variable="tw_skip_md5_generate" />
- <image checked="checkbox_true" unchecked="checkbox_false" />
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%col_right_x%" y="%row2_text_y%" placement="1" />
+ <text>Backup Name: %tw_backup_name%</text>
</object>
<object type="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>
+ <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">
- <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>
+ <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">
- <placement x="%col3_x%" y="%nandcheck_row7%" />
+ <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="%col3_x%" y="%nandcheck_row6%" />
<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>
+ <text>Enable Compression (Requires more time)</text>
+ <data variable="tw_use_compression" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
</object>
- <object type="button">
+ <object type="checkbox">
<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>
+ <text>Skip MD5 generation on backups</text>
+ <data variable="tw_skip_md5_generate" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
</object>
<object type="slider">
@@ -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>
-
- <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 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="%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 f3a8aabb6..000000000
--- 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 af438d7d9..935080ae6 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,220 +1233,92 @@
<object type="template" name="footer" />
</page>
- <page name="mount">
+ <page name="selectstorage">
<object type="template" name="header" />
- <object type="text" color="%text_color%">
- <font resource="font" />
- <placement x="%center_x%" y="%row1_text_y%" placement="5" />
- <text>Mount Menu</text>
- </object>
-
- <object type="button">
- <condition var1="tw_has_usb_storage" var2="1" />
- <placement x="%col1_x%" y="%row1_y%" />
- <font resource="font" color="%button_text_color%" />
- <text>Mount USB Storage</text>
- <image resource="main_button" />
- <action function="page">usb_mount</action>
+ <object 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="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 type="action">
+ <touch key="home" />
+ <action function="page">main</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 type="action">
+ <touch key="back" />
+ <actions>
+ <action function="page">%tw_back%</action>
+ </actions>
</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="template" name="footer" />
+ </page>
- <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>
+ <page name="mount">
+ <object type="template" name="header" />
- <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 type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>Mount Menu</text>
</object>
- <object type="button">
- <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 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%" />
- <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" />
+ <condition var1="tw_is_encrypted" var2="1" />
+ <condition var1="tw_is_decrypted" var2="0" />
</conditions>
- <text>Using external SD</text>
- <image resource="radio_false" />
- <action function="togglestorage">external</action>
+ <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">
- <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>
+ <condition var1="tw_has_usb_storage" var2="1" />
+ <placement x="%col4_x%" y="%row1_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Mount USB Storage</text>
+ <image resource="main_button" />
+ <action function="page">usb_mount</action>
</object>
<object type="button">
- <placement x="%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>
+ <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=mount</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="action">
@@ -1541,191 +1383,133 @@
<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">
+ <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="%row1_y%" />
+ <placement x="%col3_x%" y="%wipe_button_y%" />
<font resource="font" color="%button_text_color%" />
- <text>Dalvik Cache</text>
+ <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=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>
+ <action function="page">formatdata</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" />
+ <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=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>
+ <action function="page">action_page</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 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="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 type="action">
+ <touch key="home" />
+ <action function="page">main</action>
</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 type="action">
+ <touch key="back" />
+ <action function="page">main</action>
</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%" />
- <font resource="font" color="%button_text_color%" />
- <text>Format Data</text>
- <image resource="main_button" />
- <actions>
- <action function="set">tw_back=wipe</action>
- <action function="set">tw_action=wipe</action>
- <action function="set">tw_action_param=DATAMEDIA</action>
- <action function="set">tw_has_action2=1</action>
- <action function="set">tw_action2=set</action>
- <action function="set">tw_action2_param=tw_zip_location=/sdcard</action>
- <action function="set">tw_text1=Format Data? (This wipes all media</action>
- <action function="set">tw_text2=including backups & removes encryption)</action>
- <action function="set">tw_text3=Most of the time you do not need to do this.</action>
- <action function="set">tw_action_text1=Formatting Data...</action>
- <action function="set">tw_complete_text1=Data Format Complete</action>
- <action function="set">tw_slider_text=Swipe to Format</action>
- <action function="set">tw_show_exclamation=1</action>
- <action function="page">confirm_action</action>
- </actions>
+ <object 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="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="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=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=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="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 Wipe</text>
</object>
<object type="action">
@@ -1735,182 +1519,160 @@
<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="backup">
+ <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>Back Up Device</text>
+ <text>Format Data will wipe all of your apps, backups, pictures,</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>
+ <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="%col_right_x%" y="%row2_text_y%" placement="1" />
- <text>Backup Name: %tw_backup_name%</text>
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>This cannot be undone. Press back to cancel.</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="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="checkbox">
- <placement x="%nandcheck_col1%" y="%nandcheck_row2%" />
+ <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>Data (%tw_backup_data_size% MB)</text>
- <data variable="tw_backup_data" />
- <image checked="checkbox_true" unchecked="checkbox_false" />
+ <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="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="template" name="keyboardtemplate" />
- <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 type="action">
+ <touch key="home" />
+ <action function="page">main</action>
</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 type="action">
+ <touch key="back" />
+ <action function="page">wipe</action>
</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="template" name="footer" />
+ </page>
- <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" />
+ <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="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 type="action">
+ <condition var1="tw_confirm_formatdata" op="!=" var2="yes" />
+ <action function="page">formatdata</function>
</object>
+ </page>
- <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>
+ <page name="backup">
+ <object type="template" name="header" />
- <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 type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>Back Up Device</text>
</object>
- <object type="checkbox">
- <placement x="%col1_x%" y="%nandcheck_row6%" />
- <font resource="font" color="%text_color%" />
- <text>Enable Compression (Requires more time)</text>
- <data variable="tw_use_compression" />
- <image checked="checkbox_true" unchecked="checkbox_false" />
+ <object 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="checkbox">
- <placement x="%col3_x%" y="%nandcheck_row6%" />
- <font resource="font" color="%text_color%" />
- <text>Skip MD5 generation on backups</text>
- <data variable="tw_skip_md5_generate" />
- <image checked="checkbox_true" unchecked="checkbox_false" />
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%col_right_x%" y="%row2_text_y%" placement="1" />
+ <text>Backup Name: %tw_backup_name%</text>
</object>
<object type="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>
+ <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">
- <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>
+ <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">
- <placement x="%col3_x%" y="%nandcheck_row7%" />
+ <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="%col3_x%" y="%nandcheck_row6%" />
<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>
+ <text>Enable Compression (Requires more time)</text>
+ <data variable="tw_use_compression" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
</object>
- <object type="button">
+ <object type="checkbox">
<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>
+ <text>Skip MD5 generation on backups</text>
+ <data variable="tw_skip_md5_generate" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
</object>
<object type="slider">
@@ -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>
-
- <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 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="%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 408193277..000000000
--- 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 96170b59f..7c46a9944 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,220 +1233,92 @@
<object type="template" name="footer" />
</page>
- <page name="mount">
+ <page name="selectstorage">
<object type="template" name="header" />
- <object type="text" color="%text_color%">
- <font resource="font" />
- <placement x="%center_x%" y="%row1_text_y%" placement="5" />
- <text>Mount Menu</text>
- </object>
-
- <object type="button">
- <condition var1="tw_has_usb_storage" var2="1" />
- <placement x="%col1_x%" y="%row1_y%" />
- <font resource="font" color="%button_text_color%" />
- <text>Mount USB Storage</text>
- <image resource="main_button" />
- <action function="page">usb_mount</action>
+ <object 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="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 type="action">
+ <touch key="home" />
+ <action function="page">main</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 type="action">
+ <touch key="back" />
+ <actions>
+ <action function="page">%tw_back%</action>
+ </actions>
</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="template" name="footer" />
+ </page>
- <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>
+ <page name="mount">
+ <object type="template" name="header" />
- <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 type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>Mount Menu</text>
</object>
- <object type="button">
- <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 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%" />
- <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" />
+ <condition var1="tw_is_encrypted" var2="1" />
+ <condition var1="tw_is_decrypted" var2="0" />
</conditions>
- <text>Using external SD</text>
- <image resource="radio_false" />
- <action function="togglestorage">external</action>
+ <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">
- <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>
+ <condition var1="tw_has_usb_storage" var2="1" />
+ <placement x="%col4_x%" y="%row1_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Mount USB Storage</text>
+ <image resource="main_button" />
+ <action function="page">usb_mount</action>
</object>
<object type="button">
- <placement x="%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>
+ <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=mount</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="action">
@@ -1541,191 +1383,133 @@
<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">
+ <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="%row1_y%" />
+ <placement x="%col3_x%" y="%wipe_button_y%" />
<font resource="font" color="%button_text_color%" />
- <text>Dalvik Cache</text>
+ <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=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>
+ <action function="page">formatdata</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" />
+ <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=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>
+ <action function="page">action_page</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 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="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 type="action">
+ <touch key="home" />
+ <action function="page">main</action>
</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 type="action">
+ <touch key="back" />
+ <action function="page">main</action>
</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%" />
- <font resource="font" color="%button_text_color%" />
- <text>Format Data</text>
- <image resource="main_button" />
- <actions>
- <action function="set">tw_back=wipe</action>
- <action function="set">tw_action=wipe</action>
- <action function="set">tw_action_param=DATAMEDIA</action>
- <action function="set">tw_has_action2=1</action>
- <action function="set">tw_action2=set</action>
- <action function="set">tw_action2_param=tw_zip_location=/sdcard</action>
- <action function="set">tw_text1=Format Data? (This wipes all media</action>
- <action function="set">tw_text2=including backups & removes encryption)</action>
- <action function="set">tw_text3=Most of the time you do not need to do this.</action>
- <action function="set">tw_action_text1=Formatting Data...</action>
- <action function="set">tw_complete_text1=Data Format Complete</action>
- <action function="set">tw_slider_text=Swipe to Format</action>
- <action function="set">tw_show_exclamation=1</action>
- <action function="page">confirm_action</action>
- </actions>
+ <object 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="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="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=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=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="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 Wipe</text>
</object>
<object type="action">
@@ -1735,182 +1519,160 @@
<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="backup">
+ <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>Back Up Device</text>
+ <text>Format Data will wipe all of your apps, backups, pictures,</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>
+ <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="%col_right_x%" y="%row2_text_y%" placement="1" />
- <text>Backup Name: %tw_backup_name%</text>
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>This cannot be undone. Press back to cancel.</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="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="checkbox">
- <placement x="%nandcheck_col1%" y="%nandcheck_row2%" />
+ <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>Data (%tw_backup_data_size% MB)</text>
- <data variable="tw_backup_data" />
- <image checked="checkbox_true" unchecked="checkbox_false" />
+ <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="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="template" name="keyboardtemplate" />
- <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 type="action">
+ <touch key="home" />
+ <action function="page">main</action>
</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 type="action">
+ <touch key="back" />
+ <action function="page">wipe</action>
</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="template" name="footer" />
+ </page>
- <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" />
+ <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="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 type="action">
+ <condition var1="tw_confirm_formatdata" op="!=" var2="yes" />
+ <action function="page">formatdata</function>
</object>
+ </page>
- <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>
+ <page name="backup">
+ <object type="template" name="header" />
- <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 type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>Back Up Device</text>
</object>
- <object type="checkbox">
- <placement x="%col1_x%" y="%nandcheck_row6%" />
- <font resource="font" color="%text_color%" />
- <text>Enable Compression (Requires more time)</text>
- <data variable="tw_use_compression" />
- <image checked="checkbox_true" unchecked="checkbox_false" />
+ <object 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="checkbox">
- <placement x="%col3_x%" y="%nandcheck_row6%" />
- <font resource="font" color="%text_color%" />
- <text>Skip MD5 generation on backups</text>
- <data variable="tw_skip_md5_generate" />
- <image checked="checkbox_true" unchecked="checkbox_false" />
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%col_right_x%" y="%row2_text_y%" placement="1" />
+ <text>Backup Name: %tw_backup_name%</text>
</object>
<object type="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>
+ <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">
- <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>
+ <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">
- <placement x="%col3_x%" y="%nandcheck_row7%" />
+ <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="%col3_x%" y="%nandcheck_row6%" />
<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>
+ <text>Enable Compression (Requires more time)</text>
+ <data variable="tw_use_compression" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
</object>
- <object type="button">
+ <object type="checkbox">
<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>
+ <text>Skip MD5 generation on backups</text>
+ <data variable="tw_skip_md5_generate" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
</object>
<object type="slider">
@@ -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>
-
- <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 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="%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 6e05987c1..000000000
--- 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 887505c6b..c85db3a23 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,352 +1076,303 @@
<object type="text" color="%text_color%">
<font resource="font" />
- <placement x="%center_x%" y="%row1_header_y%" placement="5" />
- <text>Wipe Menu</text>
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>Factory Reset</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 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="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 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="button">
- <highlight color="%highlight_color%" />
- <placement x="%col1_x%" y="%row2_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 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="button">
- <highlight color="%highlight_color%" />
- <placement x="%col2_x%" y="%row2_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 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="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 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%" />
- <condition var1="tw_has_internal" var2="1" />
- <placement x="%col2_x%" y="%row3_y%" />
+ <placement x="%col1_x%" y="%wipe_button_y%" />
<font resource="font" color="%button_text_color%" />
- <text>Internal Storage</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=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>
+ <action function="page">advancedwipe</action>
</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" />
- <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">
- <touch key="home" />
+ <touch key="back" />
<action function="page">main</action>
</object>
<object type="action">
- <touch key="back" />
+ <touch key="home" />
<action function="page">main</action>
</object>
<object type="template" name="footer" />
</page>
- <page name="backup">
+ <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>Backup Name: %tw_backup_name%</text>
+ <text>Wipe Menu</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_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" />
+ <placement x="%slider_x%" y="%slider_y%" />
<resource base="slider" used="slider-used" touch="slider-touch" />
- <action function="page">backup_run</action>
+ <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 Back Up</text>
+ <text>Swipe to Wipe</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 type="action">
+ <touch key="home" />
+ <action function="page">main</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 type="action">
+ <touch key="back" />
+ <action function="page">wipe</action>
</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 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="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 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="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 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="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 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="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 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="checkbox">
- <condition var1="tw_has_android_secure" var2="1" />
- <placement x="%col1_x%" y="%row7_text_y%" />
+ <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>.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" />
+ <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="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 type="template" name="keyboardtemplate" />
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
</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 type="action">
+ <touch key="back" />
+ <action function="page">wipe</action>
</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 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="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 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="%col1_x%" y="%row13_text_y%" />
- <text>Free Space: %tw_storage_free_size% MB</text>
+ <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="%row14_text_y%" />
+ <placement x="%col1_x%" y="%row15_text_y%" />
<font resource="font" color="%text_color%" />
<text>Enable compression.</text>
<data variable="tw_use_compression" />
@@ -1464,59 +1380,23 @@
</object>
<object type="checkbox">
- <placement x="%col1_x%" y="%row15_text_y%" />
+ <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="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 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="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 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">
@@ -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,111 +1620,30 @@
</actions>
</object>
- <object type="slider">
- <placement x="%slider_x%" y="%slider_y%" />
- <resource base="slider" used="slider-used" touch="slider-touch" />
- <action function="page">restore_run</action>
- </object>
-
- <object type="text" color="%text_color%">
- <font resource="font" />
- <placement x="%center_x%" y="%slider_text_y%" placement="4" />
- <text>Swipe to Restore</text>
- </object>
-
- <object type="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%" />
+ <placement x="%col1_x%" y="%row15_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" />
+ <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="%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 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="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 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="%row15_text_y%" placement="5" />
- <text>Package Date: %tw_restore_file_date%</text>
+ <placement x="%center_x%" y="%slider_text_y%" placement="4" />
+ <text>Swipe to Restore</text>
</object>
<object type="action">
@@ -1980,216 +1751,70 @@
</object>
</page>
- <page name="mount">
+ <page name="selectstorage">
<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>
-
- <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 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="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 type="action">
+ <touch key="home" />
+ <action function="page">main</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 type="action">
+ <touch key="back" />
+ <actions>
+ <action function="page">%tw_back%</action>
+ </actions>
</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="template" name="footer" />
+ </page>
- <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>
+ <page name="mount">
+ <object type="template" name="header" />
- <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 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="%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 96258a1c3..000000000
--- 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 ab4be70ff..6efca350c 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,352 +1076,303 @@
<object type="text" color="%text_color%">
<font resource="font" />
- <placement x="%center_x%" y="%row1_header_y%" placement="5" />
- <text>Wipe Menu</text>
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>Factory Reset</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 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="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 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="button">
- <highlight color="%highlight_color%" />
- <placement x="%col1_x%" y="%row2_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 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="button">
- <highlight color="%highlight_color%" />
- <placement x="%col2_x%" y="%row2_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 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="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 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%" />
- <condition var1="tw_has_internal" var2="1" />
- <placement x="%col2_x%" y="%row3_y%" />
+ <placement x="%col1_x%" y="%wipe_button_y%" />
<font resource="font" color="%button_text_color%" />
- <text>Internal Storage</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=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>
+ <action function="page">advancedwipe</action>
</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" />
- <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">
- <touch key="home" />
+ <touch key="back" />
<action function="page">main</action>
</object>
<object type="action">
- <touch key="back" />
+ <touch key="home" />
<action function="page">main</action>
</object>
<object type="template" name="footer" />
</page>
- <page name="backup">
+ <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>Backup Name: %tw_backup_name%</text>
+ <text>Wipe Menu</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_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" />
+ <placement x="%slider_x%" y="%slider_y%" />
<resource base="slider" used="slider-used" touch="slider-touch" />
- <action function="page">backup_run</action>
+ <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 Back Up</text>
+ <text>Swipe to Wipe</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 type="action">
+ <touch key="home" />
+ <action function="page">main</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 type="action">
+ <touch key="back" />
+ <action function="page">wipe</action>
</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 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="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 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="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 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="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 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="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 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="checkbox">
- <condition var1="tw_has_android_secure" var2="1" />
- <placement x="%col1_x%" y="%row7_text_y%" />
+ <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>.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" />
+ <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="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 type="template" name="keyboardtemplate" />
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
</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 type="action">
+ <touch key="back" />
+ <action function="page">wipe</action>
</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 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="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 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="%col1_x%" y="%row13_text_y%" />
- <text>Free Space: %tw_storage_free_size% MB</text>
+ <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="%row14_text_y%" />
+ <placement x="%col1_x%" y="%row15_text_y%" />
<font resource="font" color="%text_color%" />
<text>Enable compression.</text>
<data variable="tw_use_compression" />
@@ -1463,59 +1380,23 @@
</object>
<object type="checkbox">
- <placement x="%col1_x%" y="%row15_text_y%" />
+ <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="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 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="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 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">
@@ -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,111 +1620,30 @@
</actions>
</object>
- <object type="slider">
- <placement x="%slider_x%" y="%slider_y%" />
- <resource base="slider" used="slider-used" touch="slider-touch" />
- <action function="page">restore_run</action>
- </object>
-
- <object type="text" color="%text_color%">
- <font resource="font" />
- <placement x="%center_x%" y="%slider_text_y%" placement="4" />
- <text>Swipe to Restore</text>
- </object>
-
- <object type="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%" />
+ <placement x="%col1_x%" y="%row15_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" />
+ <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="%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 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="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 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="%row15_text_y%" placement="5" />
- <text>Package Date: %tw_restore_file_date%</text>
+ <placement x="%center_x%" y="%slider_text_y%" placement="4" />
+ <text>Swipe to Restore</text>
</object>
<object type="action">
@@ -1979,216 +1751,70 @@
</object>
</page>
- <page name="mount">
+ <page name="selectstorage">
<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>
-
- <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 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="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 type="action">
+ <touch key="home" />
+ <action function="page">main</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 type="action">
+ <touch key="back" />
+ <actions>
+ <action function="page">%tw_back%</action>
+ </actions>
</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="template" name="footer" />
+ </page>
- <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>
+ <page name="mount">
+ <object type="template" name="header" />
- <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 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="%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 96258a1c3..000000000
--- 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 1147b77f3..de4d15944 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,352 +1075,303 @@
<object type="text" color="%text_color%">
<font resource="font" />
- <placement x="%center_x%" y="%row1_header_y%" placement="5" />
- <text>Wipe Menu</text>
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>Factory Reset</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 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="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 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="button">
- <highlight color="%highlight_color%" />
- <placement x="%col1_x%" y="%row2_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 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="button">
- <highlight color="%highlight_color%" />
- <placement x="%col2_x%" y="%row2_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 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="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 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%" />
- <condition var1="tw_has_internal" var2="1" />
- <placement x="%col2_x%" y="%row3_y%" />
+ <placement x="%col1_x%" y="%wipe_button_y%" />
<font resource="font" color="%button_text_color%" />
- <text>Internal Storage</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=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>
+ <action function="page">advancedwipe</action>
</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" />
- <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">
- <touch key="home" />
+ <touch key="back" />
<action function="page">main</action>
</object>
<object type="action">
- <touch key="back" />
+ <touch key="home" />
<action function="page">main</action>
</object>
<object type="template" name="footer" />
</page>
- <page name="backup">
+ <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>Backup Name: %tw_backup_name%</text>
+ <text>Wipe Menu</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_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" />
+ <placement x="%slider_x%" y="%slider_y%" />
<resource base="slider" used="slider-used" touch="slider-touch" />
- <action function="page">backup_run</action>
+ <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 Back Up</text>
+ <text>Swipe to Wipe</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 type="action">
+ <touch key="home" />
+ <action function="page">main</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 type="action">
+ <touch key="back" />
+ <action function="page">wipe</action>
</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 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="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 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="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 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="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 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="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 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="checkbox">
- <condition var1="tw_has_android_secure" var2="1" />
- <placement x="%col1_x%" y="%row7_text_y%" />
+ <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>.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" />
+ <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="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 type="template" name="keyboardtemplate" />
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
</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 type="action">
+ <touch key="back" />
+ <action function="page">wipe</action>
</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 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="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 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="%col1_x%" y="%row13_text_y%" />
- <text>Free Space: %tw_storage_free_size% MB</text>
+ <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="%row14_text_y%" />
+ <placement x="%col1_x%" y="%row15_text_y%" />
<font resource="font" color="%text_color%" />
<text>Enable compression.</text>
<data variable="tw_use_compression" />
@@ -1462,59 +1379,23 @@
</object>
<object type="checkbox">
- <placement x="%col1_x%" y="%row15_text_y%" />
+ <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="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 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="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 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">
@@ -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,111 +1619,30 @@
</actions>
</object>
- <object type="slider">
- <placement x="%slider_x%" y="%slider_y%" />
- <resource base="slider" used="slider-used" touch="slider-touch" />
- <action function="page">restore_run</action>
- </object>
-
- <object type="text" color="%text_color%">
- <font resource="font" />
- <placement x="%center_x%" y="%slider_text_y%" placement="4" />
- <text>Swipe to Restore</text>
- </object>
-
- <object type="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%" />
+ <placement x="%col1_x%" y="%row15_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" />
+ <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="%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 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="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 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="%row15_text_y%" placement="5" />
- <text>Package Date: %tw_restore_file_date%</text>
+ <placement x="%center_x%" y="%slider_text_y%" placement="4" />
+ <text>Swipe to Restore</text>
</object>
<object type="action">
@@ -1978,216 +1750,70 @@
</object>
</page>
- <page name="mount">
+ <page name="selectstorage">
<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>
-
- <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 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="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 type="action">
+ <touch key="home" />
+ <action function="page">main</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 type="action">
+ <touch key="back" />
+ <actions>
+ <action function="page">%tw_back%</action>
+ </actions>
</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="template" name="footer" />
+ </page>
- <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>
+ <page name="mount">
+ <object type="template" name="header" />
- <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 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="%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 1ac400d11..000000000
--- 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 7c4967ed1..febc3db14 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,352 +1076,303 @@
<object type="text" color="%text_color%">
<font resource="font" />
- <placement x="%center_x%" y="%row1_header_y%" placement="5" />
- <text>Wipe Menu</text>
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>Factory Reset</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 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="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 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="button">
- <highlight color="%highlight_color%" />
- <placement x="%col1_x%" y="%row2_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 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="button">
- <highlight color="%highlight_color%" />
- <placement x="%col2_x%" y="%row2_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 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="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 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%" />
- <condition var1="tw_has_internal" var2="1" />
- <placement x="%col2_x%" y="%row3_y%" />
+ <placement x="%col1_x%" y="%wipe_button_y%" />
<font resource="font" color="%button_text_color%" />
- <text>Internal Storage</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=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>
+ <action function="page">advancedwipe</action>
</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" />
- <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">
- <touch key="home" />
+ <touch key="back" />
<action function="page">main</action>
</object>
<object type="action">
- <touch key="back" />
+ <touch key="home" />
<action function="page">main</action>
</object>
<object type="template" name="footer" />
</page>
- <page name="backup">
+ <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>Backup Name: %tw_backup_name%</text>
+ <text>Wipe Menu</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_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" />
+ <placement x="%slider_x%" y="%slider_y%" />
<resource base="slider" used="slider-used" touch="slider-touch" />
- <action function="page">backup_run</action>
+ <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 Back Up</text>
+ <text>Swipe to Wipe</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 type="action">
+ <touch key="home" />
+ <action function="page">main</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 type="action">
+ <touch key="back" />
+ <action function="page">wipe</action>
</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 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="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 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="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 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="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 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="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 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="checkbox">
- <condition var1="tw_has_android_secure" var2="1" />
- <placement x="%col1_x%" y="%row7_text_y%" />
+ <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>.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" />
+ <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="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 type="template" name="keyboardtemplate" />
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
</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 type="action">
+ <touch key="back" />
+ <action function="page">wipe</action>
</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 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="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 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="%col1_x%" y="%row13_text_y%" />
- <text>Free Space: %tw_storage_free_size% MB</text>
+ <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="%row14_text_y%" />
+ <placement x="%col1_x%" y="%row15_text_y%" />
<font resource="font" color="%text_color%" />
<text>Enable compression.</text>
<data variable="tw_use_compression" />
@@ -1463,59 +1380,23 @@
</object>
<object type="checkbox">
- <placement x="%col1_x%" y="%row15_text_y%" />
+ <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="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 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="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 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">
@@ -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,111 +1620,30 @@
</actions>
</object>
- <object type="slider">
- <placement x="%slider_x%" y="%slider_y%" />
- <resource base="slider" used="slider-used" touch="slider-touch" />
- <action function="page">restore_run</action>
- </object>
-
- <object type="text" color="%text_color%">
- <font resource="font" />
- <placement x="%center_x%" y="%slider_text_y%" placement="4" />
- <text>Swipe to Restore</text>
- </object>
-
- <object type="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%" />
+ <placement x="%col1_x%" y="%row15_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" />
+ <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="%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 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="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 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="%row15_text_y%" placement="5" />
- <text>Package Date: %tw_restore_file_date%</text>
+ <placement x="%center_x%" y="%slider_text_y%" placement="4" />
+ <text>Swipe to Restore</text>
</object>
<object type="action">
@@ -1979,216 +1751,70 @@
</object>
</page>
- <page name="mount">
+ <page name="selectstorage">
<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>
-
- <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 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="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 type="action">
+ <touch key="home" />
+ <action function="page">main</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 type="action">
+ <touch key="back" />
+ <actions>
+ <action function="page">%tw_back%</action>
+ </actions>
</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="template" name="footer" />
+ </page>
- <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>
+ <page name="mount">
+ <object type="template" name="header" />
- <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 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="%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 f3a8aabb6..000000000
--- 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 5d94483c9..e2a02b1e8 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,352 +1089,303 @@
<object type="text" color="%text_color%">
<font resource="font" />
- <placement x="%center_x%" y="%row1_header_y%" placement="5" />
- <text>Wipe Menu</text>
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>Factory Reset</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 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="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 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="button">
- <highlight color="%highlight_color%" />
- <placement x="%col1_x%" y="%row2_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 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="button">
- <highlight color="%highlight_color%" />
- <placement x="%col2_x%" y="%row2_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 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="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 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%" />
- <condition var1="tw_has_internal" var2="1" />
- <placement x="%col2_x%" y="%row3_y%" />
+ <placement x="%col1_x%" y="%wipe_button_y%" />
<font resource="font" color="%button_text_color%" />
- <text>Internal Storage</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=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>
+ <action function="page">advancedwipe</action>
</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" />
- <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">
- <touch key="home" />
+ <touch key="back" />
<action function="page">main</action>
</object>
<object type="action">
- <touch key="back" />
+ <touch key="home" />
<action function="page">main</action>
</object>
<object type="template" name="footer" />
</page>
- <page name="backup">
+ <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>Backup Name: %tw_backup_name%</text>
+ <text>Wipe Menu</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_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" />
+ <placement x="%slider_x%" y="%slider_y%" />
<resource base="slider" used="slider-used" touch="slider-touch" />
- <action function="page">backup_run</action>
+ <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 Back Up</text>
+ <text>Swipe to Wipe</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 type="action">
+ <touch key="home" />
+ <action function="page">main</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 type="action">
+ <touch key="back" />
+ <action function="page">wipe</action>
</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 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="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 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="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 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="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 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="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 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="checkbox">
- <condition var1="tw_has_android_secure" var2="1" />
- <placement x="%col1_x%" y="%row7_text_y%" />
+ <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>.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" />
+ <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="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 type="template" name="keyboardtemplate" />
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
</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 type="action">
+ <touch key="back" />
+ <action function="page">wipe</action>
</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 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="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 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="%col1_x%" y="%row13_text_y%" />
- <text>Free Space: %tw_storage_free_size% MB</text>
+ <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="%row14_text_y%" />
+ <placement x="%col1_x%" y="%row15_text_y%" />
<font resource="font" color="%text_color%" />
<text>Enable compression.</text>
<data variable="tw_use_compression" />
@@ -1476,59 +1393,23 @@
</object>
<object type="checkbox">
- <placement x="%col1_x%" y="%row15_text_y%" />
+ <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="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 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="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 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">
@@ -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,111 +1633,30 @@
</actions>
</object>
- <object type="slider">
- <placement x="%slider_x%" y="%slider_y%" />
- <resource base="slider" used="slider-used" touch="slider-touch" />
- <action function="page">restore_run</action>
- </object>
-
- <object type="text" color="%text_color%">
- <font resource="font" />
- <placement x="%center_x%" y="%slider_text_y%" placement="4" />
- <text>Swipe to Restore</text>
- </object>
-
- <object type="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%" />
+ <placement x="%col1_x%" y="%row15_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" />
+ <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="%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 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="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 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="%row15_text_y%" placement="5" />
- <text>Package Date: %tw_restore_file_date%</text>
+ <placement x="%center_x%" y="%slider_text_y%" placement="4" />
+ <text>Swipe to Restore</text>
</object>
<object type="action">
@@ -1992,216 +1764,70 @@
</object>
</page>
- <page name="mount">
+ <page name="selectstorage">
<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>
-
- <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 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="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 type="action">
+ <touch key="home" />
+ <action function="page">main</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 type="action">
+ <touch key="back" />
+ <actions>
+ <action function="page">%tw_back%</action>
+ </actions>
</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="template" name="footer" />
+ </page>
- <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>
+ <page name="mount">
+ <object type="template" name="header" />
- <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 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="%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 f3a8aabb6..000000000
--- 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 9e2e2b8e7..7282c929b 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,352 +1077,303 @@
<object type="text" color="%text_color%">
<font resource="font" />
- <placement x="%center_x%" y="%row1_header_y%" placement="5" />
- <text>Wipe Menu</text>
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>Factory Reset</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 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="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 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="button">
- <highlight color="%highlight_color%" />
- <placement x="%col1_x%" y="%row2_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 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="button">
- <highlight color="%highlight_color%" />
- <placement x="%col2_x%" y="%row2_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 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="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 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%" />
- <condition var1="tw_has_internal" var2="1" />
- <placement x="%col2_x%" y="%row3_y%" />
+ <placement x="%col1_x%" y="%wipe_button_y%" />
<font resource="font" color="%button_text_color%" />
- <text>Internal Storage</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=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>
+ <action function="page">advancedwipe</action>
</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" />
- <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">
- <touch key="home" />
+ <touch key="back" />
<action function="page">main</action>
</object>
<object type="action">
- <touch key="back" />
+ <touch key="home" />
<action function="page">main</action>
</object>
<object type="template" name="footer" />
</page>
- <page name="backup">
+ <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>Backup Name: %tw_backup_name%</text>
+ <text>Wipe Menu</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_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" />
+ <placement x="%slider_x%" y="%slider_y%" />
<resource base="slider" used="slider-used" touch="slider-touch" />
- <action function="page">backup_run</action>
+ <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 Back Up</text>
+ <text>Swipe to Wipe</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 type="action">
+ <touch key="home" />
+ <action function="page">main</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 type="action">
+ <touch key="back" />
+ <action function="page">wipe</action>
</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 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="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 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="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 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="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 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="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 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="checkbox">
- <condition var1="tw_has_android_secure" var2="1" />
- <placement x="%col1_x%" y="%row7_text_y%" />
+ <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>.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" />
+ <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="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 type="template" name="keyboardtemplate" />
+
+ <object type="action">
+ <touch key="home" />
+ <action function="page">main</action>
</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 type="action">
+ <touch key="back" />
+ <action function="page">wipe</action>
</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 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="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 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="%col1_x%" y="%row13_text_y%" />
- <text>Free Space: %tw_storage_free_size% MB</text>
+ <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="%row14_text_y%" />
+ <placement x="%col1_x%" y="%row15_text_y%" />
<font resource="font" color="%text_color%" />
<text>Enable compression.</text>
<data variable="tw_use_compression" />
@@ -1464,59 +1381,23 @@
</object>
<object type="checkbox">
- <placement x="%col1_x%" y="%row15_text_y%" />
+ <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="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 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="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 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">
@@ -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,111 +1621,30 @@
</actions>
</object>
- <object type="slider">
- <placement x="%slider_x%" y="%slider_y%" />
- <resource base="slider" used="slider-used" touch="slider-touch" />
- <action function="page">restore_run</action>
- </object>
-
- <object type="text" color="%text_color%">
- <font resource="font" />
- <placement x="%center_x%" y="%slider_text_y%" placement="4" />
- <text>Swipe to Restore</text>
- </object>
-
- <object type="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%" />
+ <placement x="%col1_x%" y="%row15_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" />
+ <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="%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 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="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 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="%row15_text_y%" placement="5" />
- <text>Package Date: %tw_restore_file_date%</text>
+ <placement x="%center_x%" y="%slider_text_y%" placement="4" />
+ <text>Swipe to Restore</text>
</object>
<object type="action">
@@ -1980,216 +1752,70 @@
</object>
</page>
- <page name="mount">
+ <page name="selectstorage">
<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>
-
- <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 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="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 type="action">
+ <touch key="home" />
+ <action function="page">main</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 type="action">
+ <touch key="back" />
+ <actions>
+ <action function="page">%tw_back%</action>
+ </actions>
</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="template" name="footer" />
+ </page>
- <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>
+ <page name="mount">
+ <object type="template" name="header" />
- <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 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="%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 6e05987c1..000000000
--- 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 82423709f..97fdf44cd 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,220 +1241,92 @@
<object type="template" name="footer" />
</page>
- <page name="mount">
+ <page name="selectstorage">
<object type="template" name="header" />
- <object type="text" color="%text_color%">
- <font resource="font" />
- <placement x="%center_x%" y="%row1_text_y%" placement="5" />
- <text>Mount Menu</text>
- </object>
-
- <object type="button">
- <condition var1="tw_has_usb_storage" var2="1" />
- <placement x="%col1_x%" y="%row1_y%" />
- <font resource="font" color="%button_text_color%" />
- <text>Mount USB Storage</text>
- <image resource="main_button" />
- <action function="page">usb_mount</action>
+ <object 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="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 type="action">
+ <touch key="home" />
+ <action function="page">main</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 type="action">
+ <touch key="back" />
+ <actions>
+ <action function="page">%tw_back%</action>
+ </actions>
</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="template" name="footer" />
+ </page>
- <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>
+ <page name="mount">
+ <object type="template" name="header" />
- <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 type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>Mount Menu</text>
</object>
- <object type="button">
- <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 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%" />
- <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" />
+ <condition var1="tw_is_encrypted" var2="1" />
+ <condition var1="tw_is_decrypted" var2="0" />
</conditions>
- <text>Using external SD</text>
- <image resource="radio_false" />
- <action function="togglestorage">external</action>
+ <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">
- <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>
+ <condition var1="tw_has_usb_storage" var2="1" />
+ <placement x="%col4_x%" y="%row1_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>Mount USB Storage</text>
+ <image resource="main_button" />
+ <action function="page">usb_mount</action>
</object>
<object type="button">
- <placement x="%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>
+ <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=mount</action>
+ <action function="page">selectstorage</action>
+ </actions>
</object>
<object type="action">
@@ -1549,191 +1391,133 @@
<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">
+ <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="%row1_y%" />
+ <placement x="%col3_x%" y="%wipe_button_y%" />
<font resource="font" color="%button_text_color%" />
- <text>Dalvik Cache</text>
+ <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=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>
+ <action function="page">formatdata</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" />
+ <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=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>
+ <action function="page">action_page</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 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="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 type="action">
+ <touch key="home" />
+ <action function="page">main</action>
</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 type="action">
+ <touch key="back" />
+ <action function="page">main</action>
</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%" />
- <font resource="font" color="%button_text_color%" />
- <text>Format Data</text>
- <image resource="main_button" />
- <actions>
- <action function="set">tw_back=wipe</action>
- <action function="set">tw_action=wipe</action>
- <action function="set">tw_action_param=DATAMEDIA</action>
- <action function="set">tw_has_action2=1</action>
- <action function="set">tw_action2=set</action>
- <action function="set">tw_action2_param=tw_zip_location=/sdcard</action>
- <action function="set">tw_text1=Format Data? (This wipes all media</action>
- <action function="set">tw_text2=including backups & removes encryption)</action>
- <action function="set">tw_text3=Most of the time you do not need to do this.</action>
- <action function="set">tw_action_text1=Formatting Data...</action>
- <action function="set">tw_complete_text1=Data Format Complete</action>
- <action function="set">tw_slider_text=Swipe to Format</action>
- <action function="set">tw_show_exclamation=1</action>
- <action function="page">confirm_action</action>
- </actions>
+ <object 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="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="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=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=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="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 Wipe</text>
</object>
<object type="action">
@@ -1743,182 +1527,160 @@
<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="backup">
+ <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>Back Up Device</text>
+ <text>Format Data will wipe all of your apps, backups, pictures,</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>
+ <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="%col_right_x%" y="%row2_text_y%" placement="1" />
- <text>Backup Name: %tw_backup_name%</text>
+ <placement x="%center_x%" y="%row3_text_y%" placement="5" />
+ <text>This cannot be undone. Press back to cancel.</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="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="checkbox">
- <placement x="%nandcheck_col1%" y="%nandcheck_row2%" />
+ <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>Data (%tw_backup_data_size% MB)</text>
- <data variable="tw_backup_data" />
- <image checked="checkbox_true" unchecked="checkbox_false" />
+ <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="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="template" name="keyboardtemplate" />
- <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 type="action">
+ <touch key="home" />
+ <action function="page">main</action>
</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 type="action">
+ <touch key="back" />
+ <action function="page">wipe</action>
</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="template" name="footer" />
+ </page>
- <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" />
+ <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="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 type="action">
+ <condition var1="tw_confirm_formatdata" op="!=" var2="yes" />
+ <action function="page">formatdata</function>
</object>
+ </page>
- <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>
+ <page name="backup">
+ <object type="template" name="header" />
- <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 type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%center_x%" y="%row1_text_y%" placement="5" />
+ <text>Back Up Device</text>
</object>
- <object type="checkbox">
- <placement x="%col1_x%" y="%nandcheck_row6%" />
- <font resource="font" color="%text_color%" />
- <text>Enable Compression (Requires more time)</text>
- <data variable="tw_use_compression" />
- <image checked="checkbox_true" unchecked="checkbox_false" />
+ <object 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="checkbox">
- <placement x="%col3_x%" y="%nandcheck_row6%" />
- <font resource="font" color="%text_color%" />
- <text>Skip MD5 generation on backups</text>
- <data variable="tw_skip_md5_generate" />
- <image checked="checkbox_true" unchecked="checkbox_false" />
+ <object type="text" color="%text_color%">
+ <font resource="font" />
+ <placement x="%col_right_x%" y="%row2_text_y%" placement="1" />
+ <text>Backup Name: %tw_backup_name%</text>
</object>
<object type="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>
+ <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">
- <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>
+ <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">
- <placement x="%col3_x%" y="%nandcheck_row7%" />
+ <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="%col3_x%" y="%nandcheck_row6%" />
<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>
+ <text>Enable Compression (Requires more time)</text>
+ <data variable="tw_use_compression" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
</object>
- <object type="button">
+ <object type="checkbox">
<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>
+ <text>Skip MD5 generation on backups</text>
+ <data variable="tw_skip_md5_generate" />
+ <image checked="checkbox_true" unchecked="checkbox_false" />
</object>
<object type="slider">
@@ -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>
-
- <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 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="%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 8b5804494..d2be865b3 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 @@ void GUIFileSelector::SetPageFocus(int inFocus)
scrollingSpeed = 0;
mUpdate = 1;
}
-} \ No newline at end of file
+}
diff --git a/gui/fill.cpp b/gui/fill.cpp
index 094814e0f..11b700fc5 100644
--- a/gui/fill.cpp
+++ b/gui/fill.cpp
@@ -35,8 +35,10 @@ GUIFill::GUIFill(xml_node<>* node)
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 605172348..910a6a399 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 3a39fe565..973c3cfe9 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 @@ using namespace rapidxml;
#include "../data.hpp"
#include "resources.hpp"
#include "pages.hpp"
+#include "../partitions.hpp"
class RenderObject
{
@@ -357,6 +375,8 @@ protected:
bool mRendered;
bool hasHighlightColor;
bool renderHighlight;
+ bool hasFill;
+ COLOR mFillColor;
COLOR mHighlightColor;
};
@@ -586,6 +606,92 @@ protected:
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 c4a65b43a..40de44f79 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 @@ bool Page::ProcessNode(xml_node<>* page, xml_node<>* templates /* = NULL */, int
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 000000000..9f9321c0b
--- /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 dc7a2d119..1eceab1f5 100644
--- a/gui/text.cpp
+++ b/gui/text.cpp
@@ -165,7 +165,10 @@ int GUIText::Update(void)
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 @@ int GUIText::GetCurrentBounds(int& w, int& h)
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 e319a9c61..5a23c1d4a 100644
--- a/openrecoveryscript.cpp
+++ b/openrecoveryscript.cpp
@@ -215,52 +215,41 @@ int OpenRecoveryScript::run_script_file(void) {
DataManager::SetValue("tw_restore", folder_path);
PartitionManager.Set_Restore_Files(folder_path);
+ string Partition_List;
+ DataManager::GetValue("tw_restore_list", Partition_List);
if (strlen(partitions) != 0) {
- int tw_restore_system = 0;
- int tw_restore_data = 0;
- int tw_restore_cache = 0;
- int tw_restore_recovery = 0;
- int tw_restore_boot = 0;
- int tw_restore_andsec = 0;
- int tw_restore_sdext = 0;
- int tw_restore_sp1 = 0;
- int tw_restore_sp2 = 0;
- int tw_restore_sp3 = 0;
+ string Restore_List;
memset(value2, 0, sizeof(value2));
strcpy(value2, partitions);
ui_print("Setting restore options: '%s':\n", value2);
line_len = strlen(value2);
for (i=0; i<line_len; i++) {
- if ((value2[i] == 'S' || value2[i] == 's') && DataManager::GetIntValue(TW_RESTORE_SYSTEM_VAR) > 0) {
- tw_restore_system = 1;
+ if ((value2[i] == 'S' || value2[i] == 's') && Partition_List.find("/system;") != string::npos) {
+ Restore_List += "/system;";
ui_print("System\n");
- } else if ((value2[i] == 'D' || value2[i] == 'd') && DataManager::GetIntValue(TW_RESTORE_DATA_VAR) > 0) {
- tw_restore_data = 1;
+ } else if ((value2[i] == 'D' || value2[i] == 'd') && Partition_List.find("/data;") != string::npos) {
+ Restore_List += "/data;";
ui_print("Data\n");
- } else if ((value2[i] == 'C' || value2[i] == 'c') && DataManager::GetIntValue(TW_RESTORE_CACHE_VAR) > 0) {
- tw_restore_cache = 1;
+ } else if ((value2[i] == 'C' || value2[i] == 'c') && Partition_List.find("/cache;") != string::npos) {
+ Restore_List += "/cache;";
ui_print("Cache\n");
- } else if ((value2[i] == 'R' || value2[i] == 'r') && DataManager::GetIntValue(TW_RESTORE_RECOVERY_VAR) > 0) {
- tw_restore_recovery = 1;
- ui_print("Recovery\n");
+ } else if ((value2[i] == 'R' || value2[i] == 'r') && Partition_List.find("/recovery;") != string::npos) {
+ ui_print("Recovery -- Not allowed to restore recovery\n");
} else if (value2[i] == '1' && DataManager::GetIntValue(TW_RESTORE_SP1_VAR) > 0) {
- tw_restore_sp1 = 1;
- ui_print("%s\n", "Special1");
+ ui_print("%s\n", "Special1 -- No Longer Supported...");
} else if (value2[i] == '2' && DataManager::GetIntValue(TW_RESTORE_SP2_VAR) > 0) {
- tw_restore_sp2 = 1;
- ui_print("%s\n", "Special2");
+ ui_print("%s\n", "Special2 -- No Longer Supported...");
} else if (value2[i] == '3' && DataManager::GetIntValue(TW_RESTORE_SP3_VAR) > 0) {
- tw_restore_sp3 = 1;
- ui_print("%s\n", "Special3");
- } else if ((value2[i] == 'B' || value2[i] == 'b') && DataManager::GetIntValue(TW_RESTORE_BOOT_VAR) > 0) {
- tw_restore_boot = 1;
+ ui_print("%s\n", "Special3 -- No Longer Supported...");
+ } else if ((value2[i] == 'B' || value2[i] == 'b') && Partition_List.find("/boot;") != string::npos) {
+ Restore_List += "/boot;";
ui_print("Boot\n");
- } else if ((value2[i] == 'A' || value2[i] == 'a') && DataManager::GetIntValue(TW_RESTORE_ANDSEC_VAR) > 0) {
- tw_restore_andsec = 1;
+ } else if ((value2[i] == 'A' || value2[i] == 'a') && Partition_List.find("/and-sec;") != string::npos) {
+ Restore_List += "/and-sec;";
ui_print("Android Secure\n");
- } else if ((value2[i] == 'E' || value2[i] == 'e') && DataManager::GetIntValue(TW_RESTORE_SDEXT_VAR) > 0) {
- tw_restore_sdext = 1;
+ } else if ((value2[i] == 'E' || value2[i] == 'e') && Partition_List.find("/sd-ext;") != string::npos) {
+ Restore_List += "/sd-ext;";
ui_print("SD-Ext\n");
} else if (value2[i] == 'M' || value2[i] == 'm') {
DataManager::SetValue(TW_SKIP_MD5_CHECK_VAR, 1);
@@ -268,29 +257,14 @@ int OpenRecoveryScript::run_script_file(void) {
}
}
- if (DataManager::GetIntValue(TW_RESTORE_SYSTEM_VAR) && !tw_restore_system)
- DataManager::SetValue(TW_RESTORE_SYSTEM_VAR, 0);
- if (DataManager::GetIntValue(TW_RESTORE_DATA_VAR) && !tw_restore_data)
- DataManager::SetValue(TW_RESTORE_DATA_VAR, 0);
- if (DataManager::GetIntValue(TW_RESTORE_CACHE_VAR) && !tw_restore_cache)
- DataManager::SetValue(TW_RESTORE_CACHE_VAR, 0);
- if (DataManager::GetIntValue(TW_RESTORE_RECOVERY_VAR) && !tw_restore_recovery)
- DataManager::SetValue(TW_RESTORE_RECOVERY_VAR, 0);
- if (DataManager::GetIntValue(TW_RESTORE_BOOT_VAR) && !tw_restore_boot)
- DataManager::SetValue(TW_RESTORE_BOOT_VAR, 0);
- if (DataManager::GetIntValue(TW_RESTORE_ANDSEC_VAR) && !tw_restore_andsec)
- DataManager::SetValue(TW_RESTORE_ANDSEC_VAR, 0);
- if (DataManager::GetIntValue(TW_RESTORE_SDEXT_VAR) && !tw_restore_sdext)
- DataManager::SetValue(TW_RESTORE_SDEXT_VAR, 0);
- if (DataManager::GetIntValue(TW_RESTORE_SP1_VAR) && !tw_restore_sp1)
- DataManager::SetValue(TW_RESTORE_SP1_VAR, 0);
- if (DataManager::GetIntValue(TW_RESTORE_SP2_VAR) && !tw_restore_sp2)
- DataManager::SetValue(TW_RESTORE_SP2_VAR, 0);
- if (DataManager::GetIntValue(TW_RESTORE_SP3_VAR) && !tw_restore_sp3)
- DataManager::SetValue(TW_RESTORE_SP3_VAR, 0);
+ DataManager::SetValue("tw_restore_selected", Restore_List);
+ } else {
+ DataManager::SetValue("tw_restore_selected", Partition_List);
}
- PartitionManager.Run_Restore(folder_path);
- ui_print("Restore complete!\n");
+ if (!PartitionManager.Run_Restore(folder_path))
+ ret_val = 1;
+ else
+ ui_print("Restore complete!\n");
} else if (strcmp(command, "mount") == 0) {
// Mount
DataManager::SetValue("tw_action_text2", "Mounting");
@@ -493,20 +467,10 @@ string OpenRecoveryScript::Locate_Zip_File(string Zip, string Storage_Root) {
int OpenRecoveryScript::Backup_Command(string Options) {
char value1[SCRIPT_COMMAND_SIZE];
int line_len, i;
+ string Backup_List;
strcpy(value1, Options.c_str());
- DataManager::SetValue(TW_BACKUP_SYSTEM_VAR, 0);
- DataManager::SetValue(TW_BACKUP_DATA_VAR, 0);
- DataManager::SetValue(TW_BACKUP_CACHE_VAR, 0);
- DataManager::SetValue(TW_BACKUP_RECOVERY_VAR, 0);
- DataManager::SetValue(TW_BACKUP_SP1_VAR, 0);
- DataManager::SetValue(TW_BACKUP_SP2_VAR, 0);
- DataManager::SetValue(TW_BACKUP_SP3_VAR, 0);
- DataManager::SetValue(TW_BACKUP_BOOT_VAR, 0);
- DataManager::SetValue(TW_BACKUP_ANDSEC_VAR, 0);
- DataManager::SetValue(TW_BACKUP_SDEXT_VAR, 0);
- DataManager::SetValue(TW_BACKUP_SDEXT_VAR, 0);
DataManager::SetValue(TW_USE_COMPRESSION_VAR, 0);
DataManager::SetValue(TW_SKIP_MD5_GENERATE_VAR, 0);
@@ -514,34 +478,31 @@ int OpenRecoveryScript::Backup_Command(string Options) {
line_len = Options.size();
for (i=0; i<line_len; i++) {
if (Options.substr(i, 1) == "S" || Options.substr(i, 1) == "s") {
- DataManager::SetValue(TW_BACKUP_SYSTEM_VAR, 1);
+ Backup_List += "/system;";
ui_print("System\n");
} else if (Options.substr(i, 1) == "D" || Options.substr(i, 1) == "d") {
- DataManager::SetValue(TW_BACKUP_DATA_VAR, 1);
+ Backup_List += "/data;";
ui_print("Data\n");
} else if (Options.substr(i, 1) == "C" || Options.substr(i, 1) == "c") {
- DataManager::SetValue(TW_BACKUP_CACHE_VAR, 1);
+ Backup_List += "/cache;";
ui_print("Cache\n");
} else if (Options.substr(i, 1) == "R" || Options.substr(i, 1) == "r") {
- DataManager::SetValue(TW_BACKUP_RECOVERY_VAR, 1);
+ Backup_List += "/recovery;";
ui_print("Recovery\n");
} else if (Options.substr(i, 1) == "1") {
- DataManager::SetValue(TW_BACKUP_SP1_VAR, 1);
- ui_print("%s\n", "Special1");
+ ui_print("%s\n", "Special1 -- No Longer Supported...");
} else if (Options.substr(i, 1) == "2") {
- DataManager::SetValue(TW_BACKUP_SP2_VAR, 1);
- ui_print("%s\n", "Special2");
+ ui_print("%s\n", "Special2 -- No Longer Supported...");
} else if (Options.substr(i, 1) == "3") {
- DataManager::SetValue(TW_BACKUP_SP3_VAR, 1);
- ui_print("%s\n", "Special3");
+ ui_print("%s\n", "Special3 -- No Longer Supported...");
} else if (Options.substr(i, 1) == "B" || Options.substr(i, 1) == "b") {
- DataManager::SetValue(TW_BACKUP_BOOT_VAR, 1);
+ Backup_List += "/boot;";
ui_print("Boot\n");
} else if (Options.substr(i, 1) == "A" || Options.substr(i, 1) == "a") {
- DataManager::SetValue(TW_BACKUP_ANDSEC_VAR, 1);
+ Backup_List += "/and-sec;";
ui_print("Android Secure\n");
} else if (Options.substr(i, 1) == "E" || Options.substr(i, 1) == "e") {
- DataManager::SetValue(TW_BACKUP_SDEXT_VAR, 1);
+ Backup_List += "/sd-ext;";
ui_print("SD-Ext\n");
} else if (Options.substr(i, 1) == "O" || Options.substr(i, 1) == "o") {
DataManager::SetValue(TW_USE_COMPRESSION_VAR, 1);
@@ -551,6 +512,7 @@ int OpenRecoveryScript::Backup_Command(string Options) {
ui_print("MD5 Generation is off\n");
}
}
+ DataManager::SetValue("tw_backup_list", Backup_List);
if (!PartitionManager.Run_Backup()) {
LOGE("Backup failed!\n");
return 1;
diff --git a/partition.cpp b/partition.cpp
index 681604f21..426faa564 100644
--- a/partition.cpp
+++ b/partition.cpp
@@ -56,6 +56,7 @@ using namespace std;
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 @@ TWPartition::TWPartition(void) {
Is_Decrypted = false;
Decrypted_Block_Device = "";
Display_Name = "";
+ Backup_Display_Name = "";
+ Storage_Name = "";
Backup_Name = "";
Backup_FileName = "";
MTD_Name = "";
@@ -87,6 +90,7 @@ TWPartition::TWPartition(void) {
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 @@ bool TWPartition::Process_Fstab_Line(string Line, bool Display_Error) {
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 @@ bool TWPartition::Process_Fstab_Line(string Line, bool Display_Error) {
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 @@ bool TWPartition::Process_Fstab_Line(string Line, bool Display_Error) {
#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 @@ bool TWPartition::Process_Fstab_Line(string Line, bool Display_Error) {
} 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 @@ bool TWPartition::Process_Fstab_Line(string Line, bool Display_Error) {
#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 @@ bool TWPartition::Process_Fstab_Line(string Line, bool Display_Error) {
#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 @@ bool TWPartition::Process_Fstab_Line(string Line, bool Display_Error) {
} 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_Fstab_Line(string Line, bool Display_Error) {
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 @@ bool TWPartition::Process_Flags(string Flags, bool Display_Error) {
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 @@ bool TWPartition::Process_Flags(string Flags, bool Display_Error) {
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 @@ bool TWPartition::Process_Flags(string Flags, bool Display_Error) {
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 @@ bool TWPartition::Process_Flags(string Flags, bool Display_Error) {
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_Image(bool Display_Error) {
}
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 @@ bool TWPartition::Wipe_AndSec(void) {
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 @@ bool TWPartition::Backup_Tar(string backup_folder) {
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 @@ bool TWPartition::Restore_Tar(string restore_folder, string Restore_File_System)
char split_index[5];
if (Has_Android_Secure) {
- ui_print("Wiping android secure...\n");
if (!Wipe_AndSec())
return false;
} else {
@@ -1406,12 +1485,12 @@ bool TWPartition::Restore_Tar(string restore_folder, string Restore_File_System)
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_Media_Folder(void) {
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 4364a2252..f40b35eeb 100644
--- a/partitionmanager.cpp
+++ b/partitionmanager.cpp
@@ -56,6 +56,7 @@ extern RecoveryUI* ui;
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 @@ int TWPartitionManager::Process_Fstab(string Fstab_Filename, bool Display_Error)
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 @@ void TWPartitionManager::Output_Partition(TWPartition* Part) {
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 @@ void TWPartitionManager::Output_Partition(TWPartition* Part) {
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 @@ void TWPartitionManager::Output_Partition(TWPartition* Part) {
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 @@ int TWPartitionManager::Check_Backup_Name(bool Display_Error) {
// 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 @@ int TWPartitionManager::Check_Backup_Name(bool Display_Error) {
// 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 @@ bool TWPartitionManager::Backup_Partition(TWPartition* Part, string Backup_Folde
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 @@ bool TWPartitionManager::Backup_Partition(TWPartition* Part, string Backup_Folde
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 @@ int TWPartitionManager::Run_Backup(void) {
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);
- }
- }
- 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);
+ start_pos = end_pos + 1;
+ end_pos = Backup_List.find(";", start_pos);
}
}
-#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 @@ int TWPartitionManager::Run_Backup(void) {
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 @@ bool TWPartitionManager::Restore_Partition(TWPartition* Part, string Restore_Nam
}
}
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 @@ int TWPartitionManager::Run_Restore(string Restore_Name) {
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++;
- }
- }
- 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;
+ } 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);
}
- 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");
+ }
+
+ if (partition_count == 0) {
+ LOGE("No partitions selected for restore.\n");
+ return false;
+ }
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 @@ int TWPartitionManager::Run_Restore(string Restore_Name) {
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 @@ void TWPartitionManager::Set_Restore_Files(string Restore_Name) {
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 @@ void TWPartitionManager::Set_Restore_Files(string Restore_Name) {
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 @@ int TWPartitionManager::Wipe_Dalvik_Cache(void) {
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 @@ int TWPartitionManager::Partition_SDCard(void) {
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 47436b0ea..704ba68d6 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 @@ public:
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:
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 @@ protected:
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 @@ private:
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 @@ public:
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 49872f7c6..3808212d4 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"