diff options
-rw-r--r-- | data.cpp | 4 | ||||
-rwxr-xr-x | gui/devices/1024x600/res/ui.xml | 12 | ||||
-rw-r--r-- | gui/devices/1024x768/res/ui.xml | 12 | ||||
-rw-r--r-- | gui/devices/1280x800/res/ui.xml | 12 | ||||
-rw-r--r-- | gui/devices/1920x1200/res/ui.xml | 12 | ||||
-rw-r--r-- | gui/devices/2560x1600/res/ui.xml | 12 | ||||
-rw-r--r-- | gui/devices/320x480/res/ui.xml | 12 | ||||
-rw-r--r-- | gui/devices/480x800/res/ui.xml | 12 | ||||
-rw-r--r-- | gui/devices/480x854/res/ui.xml | 12 | ||||
-rw-r--r-- | gui/devices/540x960/res/ui.xml | 12 | ||||
-rw-r--r-- | gui/devices/720x1280/res/ui.xml | 12 | ||||
-rwxr-xr-x | gui/devices/800x1280/res/ui.xml | 12 | ||||
-rwxr-xr-x | gui/devices/800x480/res/ui.xml | 12 | ||||
-rw-r--r-- | minuitwrp/graphics.c | 18 | ||||
-rw-r--r-- | partitionmanager.cpp | 122 |
15 files changed, 221 insertions, 67 deletions
@@ -629,14 +629,14 @@ void DataManager::SetDefaultValues() if (strlen(EXPAND(SP2_DISPLAY_NAME))) mConstValues.insert(make_pair(TW_SP2_PARTITION_NAME_VAR, EXPAND(SP2_DISPLAY_NAME))); #else #ifdef SP2_NAME - if (strlen(EXPAND(SP2_NAME))) mConstValues.insert(make_pair(TW_SP1_PARTITION_NAME_VAR, EXPAND(SP2_NAME))); + if (strlen(EXPAND(SP2_NAME))) mConstValues.insert(make_pair(TW_SP2_PARTITION_NAME_VAR, EXPAND(SP2_NAME))); #endif #endif #ifdef SP3_DISPLAY_NAME if (strlen(EXPAND(SP3_DISPLAY_NAME))) mConstValues.insert(make_pair(TW_SP3_PARTITION_NAME_VAR, EXPAND(SP3_DISPLAY_NAME))); #else #ifdef SP3_NAME - if (strlen(EXPAND(SP3_NAME))) mConstValues.insert(make_pair(TW_SP1_PARTITION_NAME_VAR, EXPAND(SP3_NAME))); + if (strlen(EXPAND(SP3_NAME))) mConstValues.insert(make_pair(TW_SP3_PARTITION_NAME_VAR, EXPAND(SP3_NAME))); #endif #endif diff --git a/gui/devices/1024x600/res/ui.xml b/gui/devices/1024x600/res/ui.xml index 1a2503627..4bed8502b 100755 --- a/gui/devices/1024x600/res/ui.xml +++ b/gui/devices/1024x600/res/ui.xml @@ -2061,6 +2061,18 @@ </actions> </object> + <object type="button"> + <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> diff --git a/gui/devices/1024x768/res/ui.xml b/gui/devices/1024x768/res/ui.xml index b6da352d2..1cdd77ab7 100644 --- a/gui/devices/1024x768/res/ui.xml +++ b/gui/devices/1024x768/res/ui.xml @@ -2061,6 +2061,18 @@ </actions> </object> + <object type="button"> + <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> diff --git a/gui/devices/1280x800/res/ui.xml b/gui/devices/1280x800/res/ui.xml index 9904b5acc..11fa7dc44 100644 --- a/gui/devices/1280x800/res/ui.xml +++ b/gui/devices/1280x800/res/ui.xml @@ -2061,6 +2061,18 @@ </actions> </object> + <object type="button"> + <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> diff --git a/gui/devices/1920x1200/res/ui.xml b/gui/devices/1920x1200/res/ui.xml index c0dd0b615..c829e9b73 100644 --- a/gui/devices/1920x1200/res/ui.xml +++ b/gui/devices/1920x1200/res/ui.xml @@ -2061,6 +2061,18 @@ </actions> </object> + <object type="button"> + <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> diff --git a/gui/devices/2560x1600/res/ui.xml b/gui/devices/2560x1600/res/ui.xml index debe1b2c0..ac00deeb6 100644 --- a/gui/devices/2560x1600/res/ui.xml +++ b/gui/devices/2560x1600/res/ui.xml @@ -2061,6 +2061,18 @@ </actions> </object> + <object type="button"> + <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> diff --git a/gui/devices/320x480/res/ui.xml b/gui/devices/320x480/res/ui.xml index 64764d842..778d49f55 100644 --- a/gui/devices/320x480/res/ui.xml +++ b/gui/devices/320x480/res/ui.xml @@ -2117,6 +2117,18 @@ <action function="page">usb_mount</action> </object> + <object type="button"> + <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> diff --git a/gui/devices/480x800/res/ui.xml b/gui/devices/480x800/res/ui.xml index 798e9b949..0c2c03f99 100644 --- a/gui/devices/480x800/res/ui.xml +++ b/gui/devices/480x800/res/ui.xml @@ -2116,6 +2116,18 @@ <action function="page">usb_mount</action> </object> + <object type="button"> + <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> diff --git a/gui/devices/480x854/res/ui.xml b/gui/devices/480x854/res/ui.xml index 62fb909db..b1cf00c6d 100644 --- a/gui/devices/480x854/res/ui.xml +++ b/gui/devices/480x854/res/ui.xml @@ -2115,6 +2115,18 @@ <action function="page">usb_mount</action> </object> + <object type="button"> + <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> diff --git a/gui/devices/540x960/res/ui.xml b/gui/devices/540x960/res/ui.xml index 5e90ae0ba..481beca5f 100644 --- a/gui/devices/540x960/res/ui.xml +++ b/gui/devices/540x960/res/ui.xml @@ -2116,6 +2116,18 @@ <action function="page">usb_mount</action> </object> + <object type="button"> + <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> diff --git a/gui/devices/720x1280/res/ui.xml b/gui/devices/720x1280/res/ui.xml index 9be4086cf..4e6ba9f82 100644 --- a/gui/devices/720x1280/res/ui.xml +++ b/gui/devices/720x1280/res/ui.xml @@ -2121,6 +2121,18 @@ <action function="page">usb_mount</action> </object> + <object type="button"> + <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> diff --git a/gui/devices/800x1280/res/ui.xml b/gui/devices/800x1280/res/ui.xml index c435cf94e..dd86e23ca 100755 --- a/gui/devices/800x1280/res/ui.xml +++ b/gui/devices/800x1280/res/ui.xml @@ -2117,6 +2117,18 @@ <action function="page">usb_mount</action> </object> + <object type="button"> + <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> diff --git a/gui/devices/800x480/res/ui.xml b/gui/devices/800x480/res/ui.xml index 3241e9945..6096c57af 100755 --- a/gui/devices/800x480/res/ui.xml +++ b/gui/devices/800x480/res/ui.xml @@ -2061,6 +2061,18 @@ </actions> </object> + <object type="button"> + <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> diff --git a/minuitwrp/graphics.c b/minuitwrp/graphics.c index b30a92ef0..dc79db881 100644 --- a/minuitwrp/graphics.c +++ b/minuitwrp/graphics.c @@ -51,6 +51,8 @@ #define PIXEL_SIZE 2 #endif +#define NUM_BUFFERS 2 + // #define PRINT_SCREENINFO 1 // Enables printing of screen info to log typedef struct { @@ -63,9 +65,10 @@ typedef struct { static GRFont *gr_font = 0; static GGLContext *gr_context = 0; static GGLSurface gr_font_texture; -static GGLSurface gr_framebuffer[2]; +static GGLSurface gr_framebuffer[NUM_BUFFERS]; static GGLSurface gr_mem_surface; static unsigned gr_active_fb = 0; +static unsigned double_buffering = 0; static int gr_fb_fd = -1; static int gr_vt_fd = -1; @@ -199,6 +202,12 @@ static int get_framebuffer(GGLSurface *fb) fb++; + /* check if we can use double buffering */ + if (vi.yres * fi.line_length * 2 > fi.smem_len) + return fd; + + double_buffering = 1; + fb->version = sizeof(*fb); fb->width = vi.xres; fb->height = vi.yres; @@ -230,8 +239,8 @@ static void get_memory_surface(GGLSurface* ms) { static void set_active_framebuffer(unsigned n) { - if (n > 1) return; - vi.yres_virtual = vi.yres * 2; + if (n > 1 || !double_buffering) return; + vi.yres_virtual = vi.yres * NUM_BUFFERS; vi.yoffset = n * vi.yres; // vi.bits_per_pixel = PIXEL_SIZE * 8; if (ioctl(gr_fb_fd, FBIOPUT_VSCREENINFO, &vi) < 0) { @@ -244,7 +253,8 @@ void gr_flip(void) GGLContext *gl = gr_context; /* swap front and back buffers */ - gr_active_fb = (gr_active_fb + 1) & 1; + if (double_buffering) + gr_active_fb = (gr_active_fb + 1) & 1; #ifdef BOARD_HAS_FLIPPED_SCREEN /* flip buffer 180 degrees for devices with physicaly inverted screens */ diff --git a/partitionmanager.cpp b/partitionmanager.cpp index 57e110867..d845f74e2 100644 --- a/partitionmanager.cpp +++ b/partitionmanager.cpp @@ -129,68 +129,68 @@ void TWPartitionManager::Output_Partition_Logging(void) { void TWPartitionManager::Output_Partition(TWPartition* Part) { unsigned long long mb = 1048576; + printf("%s | %s | Size: %iMB", Part->Mount_Point.c_str(), Part->Actual_Block_Device.c_str(), (int)(Part->Size / mb)); if (Part->Can_Be_Mounted) { - printf("%s | %s | Size: %iMB Used: %iMB Free: %iMB Backup Size: %iMB\n Flags: ", Part->Mount_Point.c_str(), Part->Actual_Block_Device.c_str(), (int)(Part->Size / mb), (int)(Part->Used / mb), (int)(Part->Free / mb), (int)(Part->Backup_Size / mb)); - if (Part->Can_Be_Wiped) - printf("Can_Be_Wiped "); - if (Part->Wipe_During_Factory_Reset) - printf("Wipe_During_Factory_Reset "); - if (Part->Wipe_Available_in_GUI) - printf("Wipe_Available_in_GUI "); - if (Part->Is_SubPartition) - printf("Is_SubPartition "); - if (Part->Has_SubPartition) - printf("Has_SubPartition "); - if (Part->Removable) - printf("Removable "); - if (Part->Is_Present) - printf("IsPresent "); - if (Part->Can_Be_Encrypted) - printf("Can_Be_Encrypted "); - if (Part->Is_Encrypted) - printf("Is_Encrypted "); - if (Part->Is_Decrypted) - printf("Is_Decrypted "); - if (Part->Has_Data_Media) - printf("Has_Data_Media "); - if (Part->Has_Android_Secure) - printf("Has_Android_Secure "); - if (Part->Is_Storage) - printf("Is_Storage "); - printf("\n"); - if (!Part->SubPartition_Of.empty()) - printf(" SubPartition_Of: %s\n", Part->SubPartition_Of.c_str()); - if (!Part->Symlink_Path.empty()) - printf(" Symlink_Path: %s\n", Part->Symlink_Path.c_str()); - if (!Part->Symlink_Mount_Point.empty()) - printf(" Symlink_Mount_Point: %s\n", Part->Symlink_Mount_Point.c_str()); - if (!Part->Primary_Block_Device.empty()) - printf(" Primary_Block_Device: %s\n", Part->Primary_Block_Device.c_str()); - if (!Part->Alternate_Block_Device.empty()) - printf(" Alternate_Block_Device: %s\n", Part->Alternate_Block_Device.c_str()); - if (!Part->Decrypted_Block_Device.empty()) - printf(" Decrypted_Block_Device: %s\n", Part->Decrypted_Block_Device.c_str()); - if (Part->Length != 0) - printf(" Length: %i\n", Part->Length); - if (!Part->Display_Name.empty()) - printf(" Display_Name: %s\n", Part->Display_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_FileName.empty()) - printf(" Backup_FileName: %s\n", Part->Backup_FileName.c_str()); - if (!Part->Storage_Path.empty()) - printf(" Storage_Path: %s\n", Part->Storage_Path.c_str()); - if (!Part->Current_File_System.empty()) - printf(" Current_File_System: %s\n", Part->Current_File_System.c_str()); - if (!Part->Fstab_File_System.empty()) - printf(" Fstab_File_System: %s\n", Part->Fstab_File_System.c_str()); - if (Part->Format_Block_Size != 0) - printf(" Format_Block_Size: %i\n", Part->Format_Block_Size); - } else { - printf("%s | %s | Size: %iMB\n", Part->Mount_Point.c_str(), Part->Actual_Block_Device.c_str(), (int)(Part->Size / mb)); - } + 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_Wiped) + printf("Can_Be_Wiped "); + if (Part->Wipe_During_Factory_Reset) + printf("Wipe_During_Factory_Reset "); + if (Part->Wipe_Available_in_GUI) + printf("Wipe_Available_in_GUI "); + if (Part->Is_SubPartition) + printf("Is_SubPartition "); + if (Part->Has_SubPartition) + printf("Has_SubPartition "); + if (Part->Removable) + printf("Removable "); + if (Part->Is_Present) + printf("IsPresent "); + if (Part->Can_Be_Encrypted) + printf("Can_Be_Encrypted "); + if (Part->Is_Encrypted) + printf("Is_Encrypted "); + if (Part->Is_Decrypted) + printf("Is_Decrypted "); + if (Part->Has_Data_Media) + printf("Has_Data_Media "); + if (Part->Has_Android_Secure) + printf("Has_Android_Secure "); + if (Part->Is_Storage) + printf("Is_Storage "); + printf("\n"); + if (!Part->SubPartition_Of.empty()) + printf(" SubPartition_Of: %s\n", Part->SubPartition_Of.c_str()); + if (!Part->Symlink_Path.empty()) + printf(" Symlink_Path: %s\n", Part->Symlink_Path.c_str()); + if (!Part->Symlink_Mount_Point.empty()) + printf(" Symlink_Mount_Point: %s\n", Part->Symlink_Mount_Point.c_str()); + if (!Part->Primary_Block_Device.empty()) + printf(" Primary_Block_Device: %s\n", Part->Primary_Block_Device.c_str()); + if (!Part->Alternate_Block_Device.empty()) + printf(" Alternate_Block_Device: %s\n", Part->Alternate_Block_Device.c_str()); + if (!Part->Decrypted_Block_Device.empty()) + printf(" Decrypted_Block_Device: %s\n", Part->Decrypted_Block_Device.c_str()); + if (Part->Length != 0) + printf(" Length: %i\n", Part->Length); + if (!Part->Display_Name.empty()) + printf(" Display_Name: %s\n", Part->Display_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_FileName.empty()) + printf(" Backup_FileName: %s\n", Part->Backup_FileName.c_str()); + if (!Part->Storage_Path.empty()) + printf(" Storage_Path: %s\n", Part->Storage_Path.c_str()); + if (!Part->Current_File_System.empty()) + printf(" Current_File_System: %s\n", Part->Current_File_System.c_str()); + if (!Part->Fstab_File_System.empty()) + printf(" Fstab_File_System: %s\n", Part->Fstab_File_System.c_str()); + if (Part->Format_Block_Size != 0) + printf(" Format_Block_Size: %i\n", Part->Format_Block_Size); if (!Part->MTD_Name.empty()) printf(" MTD_Name: %s\n", Part->MTD_Name.c_str()); string back_meth = Part->Backup_Method_By_Name(); |