summaryrefslogtreecommitdiffstats
path: root/gui (unfollow)
Commit message (Collapse)AuthorFilesLines
2017-12-19There's a missing translaton in the Greek language file.Pierre Roth1-1/+1
Change-Id: Ibba47a1361c892159b704182b5d06aca8418aaac
2017-12-05Fix the inconsistencies in the spelling of SD cardDevUt1-10/+10
Change-Id: I30d7a3d38654292d38e3f69a196bc03928b7d22e
2017-11-28Support v2 fstab formatEthan Yonker5-17/+37
Auto detect and support both the v1 and v2 fstab formats Support putting TWRP style flags in a separate /etc/twrp.flags file twrp.flags format is the same as twrp.fstab (v1 with TWRP flags) Support using a wildcard in a block device and find all partitions: /usb-otg vfat /dev/block/sda* Support using sysfs entries (voldmanaged) and read uevents and scan for wildcard partitions from uevent data. (twvold?) May not be complete for some of the newer flags found in fstabs in newer build trees and there is a slim chance of a crash if the user removes a removable device while TWRP is performing actions. May need to add some kind of mutex to prevent the 2 threads from causing this crash. We need to start somewhere though and this change is pretty innocuous when not using a v2 fstab. Change-Id: I617d97c7db332cbe671a9d2b8ad98b3d9c4f03cc
2017-11-27ADB Backup: add ability for TWRP GUI to restorebigbiff bigbiff6-29/+44
Restore adb backup files that TWRP made to your PC. Put files in your backup directory to see them. e.g. /sdcard/TWRP/BACKUPS/<sn> Change-Id: I2c57970d77b64c39a302159041456e761c185259
2017-11-20Improve greek translationleskal1-62/+84
Change-Id: I1642a2c89e50438fdd7308dba318d52440b0809f
2017-11-17Auto detect possible use of legacy propsnkk714-20/+1
* Revert: Make legacy props an option disabled by default (reverted from commit 75aa615767457f2b62dda65b16ded41b0e6df11f) * Instead check for ANDROID_PROPERTY_WORKSPACE in the updater- binary to determine whether legacy property service can be used Change-Id: If68d5cca9a2b56edcb1c73db0474668cf46d8c91
2017-09-08Make legacy props an option disabled by defaultEthan Yonker4-1/+20
Change-Id: Id0bb17ebd11e120b4676c41d6553e6a830ac7ee9
2017-08-18Remove duplicate entries & Improve Chinese translationandroid-7.1kaneawk3-7/+10
Change-Id: I3ed9b5731d63f69748fbbf99c626669db39a1eb4
2017-08-08Show scrollbar on TWRP Settingsnkk713-0/+3
* The scrollbar is not shown when more options are actually available. Change-Id: I78b223c5fe12f0cbd73357ca6615f83ff04201e1
2017-08-08SHA2: Enable in landscape and watch xmlbigbiff bigbiff2-0/+8
Change-Id: I8bdb4b8a24cbdd0f68d45676f2858eb63f74677b
2017-06-17twrpDigest refactorbigbiff bigbiff34-1676/+1671
This patch is to refactor twrpDigest using polymorphism and inheritance to use the same call patterns for creating and reading a digest. Now a library. Use SHA2 from libcrypto. SHA2 is default if device has libcrypto. Change string MD5 everywhere to use digest or Digest instead. Updated string tags to digest. Translation will be required. Switch out digest code into a driver class from partitionmanager. SHA2 is better for digest creation due to decreased collision space compared to MD5 and SHA1. See https://en.wikipedia.org/wiki/SHA-2 Change-Id: I74b5546789990b12aa4ce2e389d25f80a3fe213f
2017-06-07Fix typos / inconsistencies in German languagePierre Roth1-4/+4
Change-Id: Id3b4cca16ec18f63fb71f7e0ae09d2cc2d8516f8
2017-05-15gui: fix line wrapping in terminal, issue #876that1-8/+11
Apparently we are supposed to delay going to the next line until the next character is printed. Change-Id: I5cd0cc128cc00dcdd0dd2dd9508281f1249db257
2017-05-12Fix reboot when no OS is presentEthan Yonker3-3/+15
Change-Id: Idc3d3c79b8a7acf0f632ed39703766005d73de29
2017-03-06vold_decrypt: Add back missing xml and get rid of compiler warningnkk711-0/+1
Change-Id: I883112e2618f560e96002e2076e2735cc20cfac3
2017-03-06Add TWRP app install to landscape and watch themesEthan Yonker3-15/+213
Change-Id: Id48245218dc3ee3c6506521ce0134e6a579b6f4a
2017-03-01gui: preserve order of gui_print vs gui_msgthat3-39/+53
- rename __gui_print to internal_gui_print (__* is reserved for compiler) - translate outstanding messages in internal_gui_print - add locking because background thread could print while we render - minor cleanup Change-Id: Ib687d2cfb4763ad08ad4d4b76daf5b129d61d2e2
2017-02-28languages: update chinese translationkaneawk2-0/+4
Change-Id: I48ac4bfe55cfd4ee7805b86f5af31e915dfaaaa7
2017-02-25Update Hungarian localizationWechy771-37/+59
Change-Id: I13c1b6be4e1f7dcd026bfaa03d0c097200d498ba
2017-02-21Update Russian localizationSevenMaxs1-17/+14
Added new strings (Scripts language_helper.py and compare_xml.py were used). Change-Id: Id6f220d17e748cd10ff8ff8b21c2e40d84be5ec9
2017-02-16GUI: Fix typo in warning messageMatt Mower1-1/+1
Change-Id: I991ad86a453273139bcafbb9f68898631dfb6b51
2017-02-12DE language updatez31s1g1-10/+32
Change-Id: I20b8e99bf011e8f3894f20fef1a5d46cca4cd3b6
2017-02-10languages: update italian translationStefano Gottardo1-6/+28
Change-Id: I03c194ccf270ef9dfb910626741d6be76945df05
2017-02-10Update ru.xml for TWRP ver. 3.0.3.0SevenMaxs1-9/+29
Added new strings and minor fix for Russian localization. Change-Id: I696b9088813a543e5b05366552a6630828dd12df
2017-02-08Improve backup display names with emulated storageEthan Yonker1-0/+2
-Change backup display name to say that we are excluding storage -Add warning message during backup of any partition with data media -Also eliminate unused variable from twrpTar class Maybe this will make the people in issue 276 happy, but probably not because they already lost their data, or because the warning text is yellow instead of red. https://github.com/TeamWin/Team-Win-Recovery-Project/issues/276 Change-Id: I98303fe7f6b7a25fea029637c90145258d41ee46
2017-02-06Fix crash during check for TWRP appEthan Yonker1-10/+10
Make sure that opendir succeeds before continuing. Change-Id: I3c96002ab830f4df2041044d411a7bac42a5b8f4
2017-02-03Fill uid/gid for screenshots at compile timeMatt Mower2-10/+8
It's not necessary to rely on the success of a call to getpwnam() for the uid/gid of a file stored to sdcard (or external storage). Use the definitions in system/core/include/private/android_filesystem_config.h Change-Id: I979cfa0c74ecc927b88b0967cc56a66da237cc60
2017-02-02GUI: Improve automatic determination of TW_THEMEMatt Mower1-32/+59
* If TW_THEME is not defined, then check both DEVICE_RESOLUTION and TARGET_SCREEN_WIDTH x TARGET_SCREEN_HEIGHT for width/height. Use the determined width and height to automatically select landscape, portrait, or watch, as well as associated mdpi/hdpi. * Improve the display of the error message so it fits in a standard 80 character width terminal without line wraps. * Write relevant errors for missing themes that clarify what went wrong. Change-Id: I94b02349ce38bf6a9cecde403d78ff2490821d8a
2017-02-02gui: Fix Android.mk for TW_CUSTOM_THEMEnkk711-16/+22
Change-Id: I7814e3960914ebefdc03cf9cf6f44e193efea932
2017-01-21Support power key on slideoutMatt Mower3-0/+15
Change-Id: Ic1cba57b6d0fbefee2391d06d140da9e4e3dbb32
2017-01-21Whitespace cleanup in ThemesMatt Mower3-54/+52
Commit 'Copy Kernel Logs' did not adhere to tab spacing. Change-Id: Ie036aa6b973e01f992199787c64b54a6ccb73a7e
2017-01-20Add another license headerMatt Mower1-0/+18
* Missed this one in the first sweep Change-Id: I5f2753f93ce3e9888c553de4c2e510137e818a29
2017-01-18Fix detection of TWRP app in /dataEthan Yonker1-1/+2
Change-Id: Icab9db0ceb63edba021cc190eea2ebbc87cf3442
2017-01-18gui: bump theme version to 2that11-11/+13
Commit 9472ba1d introduced new behavior for KEY_POWER which needs a corresponding change in the theme to call the setbacklight action whenever the power button is pressed. Change-Id: Iacd46436b04aba1ecb1adbb684c56c3ef994bfe0
2017-01-18gui: Initialize button render positionMatt Mower1-1/+1
Change-Id: I716ae0664ea454706cb940d1bfd38259da53d176
2017-01-18HardwareKeyboard: Update event loggingMatt Mower1-4/+5
Use LOGERR(), consistent with rest of TWRP. Change-Id: I75a44d807a17aea6027830d58c37ac130fee12a7
2017-01-18GUI: Mark local flip() function as staticMatt Mower1-1/+1
Change-Id: Ib92e294872c1408cc749fdb0db3bbf56579eb070
2017-01-18Move sh selection out of GUI makefileMatt Mower1-11/+0
* The TWRP_SH_TARGET variable is only used if TW_USE_TOOLBOX == false, so it doesn't really need to be defined. * Move the busybox sh symlink creation nearer to the toolbox/busybox build rules and take advantage of LOCAL_POST_INSTALL_CMD which has been around since Android 4.3. Change-Id: I7850f9c3e113d43ad519dd5c9a7d25e36ec1c426
2017-01-18Move pigz symlinks out of GUI makefileMatt Mower1-3/+0
* Unify the building of pigz and its symlinks under the same module. LOCAL_POST_INSTALL_CMD has been around since Android 4.3, use it. Change-Id: I6a1f74216b6f5a5283fc17839b9b6f19571f3be5
2017-01-18Add missing license headersMatt Mower13-0/+234
Change-Id: I7f807a2f140068181524d8e868d029b4d94c70e8
2017-01-18gui: Actions: Toggle backlight on power keyMatt Mower13-6/+69
Create GUIAction to handle KEY_POWER with a screen backlight toggle. Change-Id: Iad0a7923b4a776e0336722db74d6fc46cd0107a2
2017-01-18SELinux can be assumed for Android 4.4+Matt Mower1-3/+0
Change-Id: I7410a0c8e439eec90a955ee9201efd9a92bb9635
2017-01-18Unused variable cleanupMatt Mower5-15/+2
Change-Id: I2397d0bd221dcf5c9d0f971ba157519bcf014a70
2017-01-18Very minor code cleanupMatt Mower1-2/+1
Change-Id: Ie0b97da2cce7bb93307ed49b1138bc2f36df34d0
2017-01-18Whitespace cleanupMatt Mower23-153/+157
Change-Id: I93c65973679894bb8587da4b38b410d38036b8bd
2017-01-18gui: remove old unmaintained 2.x themethat185-13949/+4
Change-Id: I1181307989c7478ac6b84bf77732ee5dcff52ed1
2017-01-18gui: Detect device resolution with TARGET_SCREEN_HEIGHT/WIDTHniks2551-0/+3
* Ease the compilation with Lineage/CM configurations when TW_THEME or DEVICE_RESOLUTION are not defined Change-Id: I35a8ce651ba5333c8426baa3d70fcbc42a2e5e59
2017-01-11Support theme width and height offsetsJames Christopher Adduono3-5/+34
Current use condition is LG V20, where the secondary screen is actually just a corner chunk of the main screen. In this case, we need to shift the UI down some pixels in order to see it all, but just using Y offsets resulted in losing the rest of the GUI below. Example in BoardConfig.mk: # Shift TWRP off the secondary screen TW_Y_OFFSET := 160 TW_H_OFFSET := -160 Change-Id: I5a06638ba0d05e5b9fd8a6245c630d6ea3394f78
2017-01-11Fix compile error on 4.4 treeEthan Yonker1-6/+6
Change-Id: Id85fdf0f4dee02f8ee3ae50ec42423c6a154a3eb
2016-12-28Adjust & Improve Chinese translations for zh_CN/TW againkaneawk2-641/+685
Change-Id: I08690d5a6f4551cb8c8a0d063a09230fd4773487
2016-12-16Update Ukraine language translation (via jemmini)Ethan Yonker1-254/+681
Change-Id: Ice2bb6c66d47ca2da968f223dd47207159cc0b66
2016-12-16Add TWRP app install via TWRP recoveryEthan Yonker4-6/+270
Note: I will have to add a build flag for excluding the app later for watches and maybe Android TV. I will also have to add support in the tablet and watch layouts later. I will merge this for the initial roll out to select devices and finish up later. Change-Id: Ia4ce5522fae542afa1539b10c0691315392a19ab
2016-12-15TWRP Language UpdateMiroslav Brzychcy1-640/+640
Update slovak language on behalf of translator. Change-Id: I90f289dd082aef1780d63b4880092f57c48ad9ac
2016-12-13Support File Based EncryptionEthan Yonker1-0/+1
Change-Id: Ib688ddd0c32d3999590cacd86b6d9b18eac336e9
2016-12-13Add boot slot supportEthan Yonker4-0/+96
Change-Id: I7eaf80e327985f53791f90fbdebad022a9650d31
2016-12-05Support new AB OTA zipsEthan Yonker1-1/+1
Change-Id: I1ff883375a0a769bf27a834c9bf04c6cdbb42117
2016-12-02Copy Kernel Logsbigbiff bigbiff5-32/+125
Give user option to copy kernel logs to current storage Change-Id: I0c61122fb34826ddb08977e6cbf98e3adf477acd
2016-11-30Improve backup & wipe exclusion handlingEthan Yonker3-1/+3
Rename twrpDU.* to exclude.* Remove global variable for du and replace with partition specific variables. Use separate exclusion lists for backups and wiping. Clean up some includes Fix some parenthesis in twrp.cpp that I messed up. Note: twrpTarMain command line utility compiles but probably does not work correctly yet due to not properly setting part_settings Change-Id: Idec9c3e6a8782ba53f3420fa79ba33394f4f85fb
2016-11-30Fix adb shell in 7.0 treeEthan Yonker1-0/+2
busybox sh does not seem to work properly in 7.0 trees so use mksh for sh instead. Change-Id: Ia33bc3894f929b1348c8714d4ddd00a2671c7e94
2016-11-30MD5 verification sanityJames Christopher Adduono17-1/+18
We can use switches and enums to make things more understandable and work with results in a more sensible manner. PS2: Move file MD5 verification and error handling into a separate function to reduce code. PS3: Default to false in Check_Restore_File_MD5 function Change-Id: Id3ee0bb444cf13be67bb5dec2c43f7c26a86b954 (cherry picked from commit 5c3950716e5c7c6279efd5f3f338d6d22e5215e2)
2016-11-30Fix image flashingEthan Yonker1-8/+1
PS2: full_filename is not a dir PS3: use a consistent format of always assuming directory is missing the trailing / + fix whitespace alignment Change-Id: Ib963473ae10571b3d069b326d024ca04c7224dda (cherry picked from commit fa4ff144374474c541351d153549ad11d4396614)
2016-09-13Clean up PartitionSettingsEthan Yonker1-3/+5
The PartitionSettings struct contains some data elements that are duplicates of data elements in the TWPartition class that is contained within the PartitionsSettings.Part element. We will eliminate this duplication to help reduce the chances for programming bugs. Specifically, this fixes problems where the current file system does not match the backed up file system. Change-Id: I02f236e72093362050556a2e53a09d1dbb9a269d
2016-08-25Make it backwards compatible with 4.4Ethan Yonker1-1/+1
Change-Id: I668604cddc8e8afbf78709f3f872bea4e9f4aa06
2016-08-22Gui: replace pow() functionnailyk1-3/+6
The old pow function doesn't work for other power than 2 - replace pow function by a squared one Solve the TeamWin/Team-Win-Recovery-Project#646 issue. Change-Id: Id177300d45a7b49ff983795288434d910eb35c2a
2016-08-19GUI: Use standard routine for auto-rebootMatt Mower3-104/+65
If 'reboot after install' is enabled, follow the standard reboot routine to process 'No OS' and 'Install SuperSU' checks. Since the system reboot routine is repeated several times, it has been separated into its own routine. Change-Id: I4c1882ecb8dc2d153ec2378b2e0973ab1a2a8278
2016-08-19Fixup reboot after install variablesMatt Mower3-6/+15
* Create correctly named data manager variable 'tw_install_reboot' * Make configurable through Settings * Remove closing tag space in theme files (not personal preference, but should match surrounding code style) * Fix the "two presses needed to enable" issue for the checkbox on the install screen Change-Id: I0ceb60b4888a672e2f0ecb5672b03cc86615621a
2016-08-19GUI: Add countdown & cancel to install auto-rebootMatt Mower6-7/+197
Provide a countdown from 5 sec for the automated reboot after install. Include a cancel button to interrupt the process. Change-Id: Ib5e1447918adfde45eba361c088800812b690890
2016-08-19Finish creating disable_free_space_check variableMatt Mower4-5/+14
* Create data manager variable for 'tw_disable_free_space' * Make configurable through Settings * Fix the "two presses needed to enable" issue for the checkbox on the backup screen * No need to capitalize every word, but do specify precedes backup Change-Id: Id436cef13e4ca9349618420aac03862ec4e3c35e
2016-08-04Optimize and reduce size of PNG filesJames Christopher Adduono456-0/+0
Done using: find -type f -name *.png -exec optipng -o7 -nc -fix {} + (-nc is required as TWRP png lib can't handle color type changes) find -type f -name *.png -exec advdef -4 -z {} + (use Zopfli compressor on insane prefix to reduce size even more) Total amount of bytes saved: 317,491 Change-Id: I545c678f71942e6ceb95acb631841ea7ef82a049
2016-08-01Remove curtainClose() remnantsMatt Mower1-4/+0
Change-Id: I6ae96b60d34fa4e4b23cd1e5a4fffff3d00451c7
2016-08-01Remove unused identifier from NotifyTouchMatt Mower1-1/+1
The 'state' parameter in GUIAction::NotifyTouch() is used in the function. Change-Id: I0744c7aa1542d771dbd2916638fbdd53e9681f86
2016-08-01Move cursor after appending date to backup nameMatt Mower1-0/+2
* Send the cursor to the end of the input text Change-Id: Id4f20717134cd38188cc1107f73dcd6bb995f377
2016-08-01gui: fix Enter key in terminalthat1-2/+0
Translating CR to LF was an old hack that breaks Enter in nano. Change-Id: If259e8b133f2f56f4126a1fb68856bf014a2daae
2016-08-01ADB: Add adb backup for TWRP.bigbiff8-17/+54
Functionality for client side to backup tar and image streams over adbd to the client under backup.ab. Using adb backup on the client side you can backup the partitions TWRP knows about. On the client side you can do the following: adb backup -f <filename> --twrp <options> where options are --compress: compress data system: backup system cache: backup cache data: backup data boot: backup boot etc for each partition. You can string multiple options, i.e. adb backup -f <filename> --twrp --compress cache system data adb backup in TWRP will take any option corresponding to TWRP fstab partitions, e.g. efs boot as well. If you do not specify the filename with the -f option, adb will backup your data to a filename backup.ab on the client. You can then rename the file and encrypt it with desktop tools. If you don't want to use command line arguments: adb backup --twrp will bring up the gui and allow you to choose partitions from the backup page. To restore the backup use the following convention: adb restore <filename> Structures are used to store metadata in binary inside of the file itself. If the metadata structure is modified, update the adb version so that it will invalidate older backups and not cause issues on restore. When restoring, we currently do not support picking specific partitions. It's all or nothing. Change-Id: Idb92c37fc9801dc8d89ed2a4570e9d12e76facf8
2016-04-28Improve greek translationAlex Kalles1-19/+19
Some words are too big for the boxes Change-Id: I48c2361dd9c7937361c3fb63b9bd8834c57fe0e0
2016-04-28Languages: Add font for JapaneseAndroPlus2-0/+93
Japanese font is NotoSans which is licensed under SIL OFL. Change-Id: I6f50edbca72c7e58ce0e96aee98a0303bd1a4254
2016-04-28Languages: Update Japanese translationAndroPlus1-27/+71
Change-Id: I4ec685a9d70173c1e008beb61cdead6af5c2aae0
2016-04-09Update spanish translationmagdeoz1-228/+270
Change-Id: I4591a5fae396e7a993d4f70d80a1d1f3b2a83654
2016-04-06Update hungarian translationWechy771-0/+2
Change-Id: Iabd66596c0d1b83935c4adc4ac048f3881284269
2016-04-05translate install reboot option to dutchthecrazyskull1-0/+2
Change-Id: I23b2c44afca5c903becd201503f81766828c9304
2016-04-04Greek Translation from the updated en.xmlAlex Kalles1-0/+651
Change-Id: I5cd1b9c394c2777503e5567aaaa01210cfdb4caa
2016-04-04gui: don't mix up display value with actual valueSultan Qasim Khan2-33/+32
In the case of password entry, the two differ. Password entry was broken by the earlier commit entitled "Improve input box text handling" because it started using the displayValue as the actual value, even in cases where they differ because of a mask value. Change-Id: Iaf5a67e1d928f34595962a1f1b80eebb64e8b493
2016-04-04language: add 2 new strings in it.xmlSlimShadys1-0/+2
Change-Id: I45a6a75d2b9332e523a7f61f19594c4029665ed7
2016-04-04languages: add 2 new strings for RUSevenMaxs1-1/+3
Added translation Reboot Option and minor fix for Russian localization. Change-Id: Ibeade0ce85ac65daf68dfd6b085a32148f66d1cb
2016-04-03fix typothecrazyskull1-1/+1
Change-Id: I65f16530565c4b510274c72227a5f1483519a677
2016-03-31language: add 2 new strings to DEz31s1g1-0/+2
Change-Id: Ic9d51ddb7a8e47c62399d2e3101e788994276104
2016-03-31languages: add Reboot Option translationDaniel Sikorski1-0/+2
Change-Id: I33acec5b4d0a371978bf2a6ab3beb26d0d18400f
2016-03-31HACK: fix input focus on terminalEthan Yonker1-1/+5
This makes the terminal grab focus no matter what on SetPageFocus which isn't ideal but it's unlikely that any other visible input elements will be on the page with a terminal anyway. Credit _that for pointing me in the right direction for this fix. Change-Id: I2b0e6fc1169521f58e863c58f7ef3578413dfb21
2016-03-31TWRP Install Reboot Optionbigbiff6-1/+29
This is a simple patch to allow users to reboot after installation of zip queue. Current timeout is 5 seconds before reboot. Change-Id: I1a18cbf7025086e35031ab7241b330babebb8343
2016-03-31Improve progress bar handling for backup / restore / image flashEthan Yonker1-1/+6
The progress bar will now be updated during image backups, restores and during image flashing (except for sparse images which will require significant changes to libsparse, and except for mtd nand using flash_utils). The progress bar will now be updated mid-file for file systems (tar) so the user will see changes even during large file backup / restore. Add a new progress tracking class to simplify handling of progress bar updates. The class will only update the progress bar 5 times a second to reduce the CPU load from updating the GUI frequently which does affect backup times. Change-Id: Iff382faef3df1f86604af336c1a8ce8993cd12c5
2016-03-31languages: fix and improve german translationAndreas Blaesius1-2/+2
Change-Id: I7c5a0fbb1853836cfb5a7d1dfbbeb5f5613572b7
2016-03-31languages: add Polish translationdadi111-0/+670
translated by @dadi11 & @linar10 Change-Id: I09a550c3ee99d44c4ada0bb7d71eb763471c7fda
2016-03-31twrp: update Dutch translationsAndreas Blaesius1-1/+555
Change-Id: Ibcad999a1276b4519fc2b104b458ee77c984dc8b
2016-03-31Update & Fix ru.xmlSevenMaxs1-52/+52
Updating and minor fix of the translation for Russian localization. Change-Id: Ic68e0580a12521e71a8da926901a30a31489a079
2016-03-31recovery: update italian translationAndreas Blaesius1-491/+491
Translated by: Death Mask Salesman Change-Id: I87f1f4417689b62c171264bfc05bf58e2ddfea03
2016-03-31gui: add italian translationDiegool1-0/+670
Change-Id: Ia0bf0a3e1831016a0a418095356e236d55b07fe6
2016-03-31TWRP: hungarian translationWechy771-2/+33
add more strings and fixes my mistakes in crowdin ps2 remove whitespace Change-Id: If79e61fba5c1b2e54be29286b23a1b418095b07c
2016-03-31Stop loading languages for the splash screenEthan Yonker1-2/+4
We don't translate anything for the splash screen currently so this will slightly reduce startup times and prevent the code from running when it's not needed. Change-Id: I8a8e8be5247d8e8b148db578c12bce5d370123a8
2016-03-31Stop trying to load /script/ui.xmlEthan Yonker1-1/+1
I think this feature was used way back in the very early days of TWRP 2.0 on the Kindle Fire and has not been used since. I see no reason to keep it around for now and we can always reinstate it later if for some reason we need this feature again. Change-Id: Ie9f3e5db7190732f813ae1e152aab2d85a4ca98c
2016-03-29Improve input box text handlingEthan Yonker3-329/+187
Change-Id: I79cfaac1adf85d1ee5514bf5266930823c1a15ff
2016-03-29gui: rewrite theme loading codethat2-208/+183
- Reduce code duplication for parsing of include files - Fix crash when styles and templates from included files are referenced - Fix bug with path concatenation if more than one file is included Change-Id: I06cd720188df272180fb359097afd73a85952fa8
2016-03-17gui: fix font scaling for zip themesthat2-18/+12
All fonts were extracted to /tmp/extract.bin which was deleted after the initial load, so reloading for scaling failed. - extract fonts to /tmp with original name and don't delete them - minor code cleanup Change-Id: If8a0f657a7ef4c418fd5cc8550a24de44a38f303
2016-03-05recovery: czech translationAndreas Blaesius1-0/+639
Uploaded on XDA from XDA-User "kodein" http://forum.xda-developers.com/showpost.php?p=65371227&postcount=1400 Change-Id: I6c3c4fe90b91a21400b11541f3895d92cc80ea1d
2016-02-29Unix file endings and remove execute permissionMatt Mower7-3489/+3489
Change-Id: Iceaae3f7f20c3c6f23da807786b4cf4739c887c9
2016-02-19Fix OEM compileEthan Yonker1-2/+0
Change-Id: I39218f2485a2c2c95f0e400c31356bedc4973f6c
2016-02-17patternpassword: update large grid password schemeSultan Qasim Khan1-13/+23
CM13 and up no longer use the two method scheme. Change-Id: I21154becb5d7e77a54a5a07e649fe64829173a01
2016-02-05twrp: translations: formatting and fix Turkish language fileAndreas Blaesius6-3227/+3228
Change-Id: I3159a2a0c37589f9472aba83b699840356da33a7
2016-02-05GUI: Set brightness after gr_init()Matt Mower1-0/+1
On at least one device I've tested (htc msm8960), setting the brightness after gr_init() is necessary for the splash to show. Note that at this point in the boot process, the settings file has not yet been read, so tw_brightness has its default value of max brightness. When settings are finally loaded, the correct brightness is loaded for the GUI. Change-Id: Ifc58c1dc80ed9e6f6b2a269a9bb6764038626c84
2016-02-05More languages, some partial, from Omni crowdinEthan Yonker7-0/+3546
Change-Id: I05d0e8516686ba2610ea4b437c83323e84eb4595
2016-02-05Add font settings to some language filesEthan Yonker3-0/+18
Change-Id: I949fe4bd99d2a4471fef3e3967980a6163943e71
2016-02-05Import approved translations from crowdinAndreas Blaesius4-0/+1999
- PS2: generic xml instead android xml - PS3: formatting Change-Id: I4c552e172d670278ab2bad1897ceb89b7ee7fec2
2016-02-05Fix spelling error on string nameEthan Yonker1-1/+1
Change-Id: I06ab906ed94b1aaea35c32494880bf85d7564d4d
2016-02-05gui: imrove Russian translationAlexander Agura1-163/+162
Seems that previous translator is overmind Anyway, thanx him for initial translation Change-Id: Ia98e344c24671cb60a0765e7c6dcb8aace6428fb
2016-02-05gui: add german translationz31s1g7-30/+674
also correct typo in all language files also remove dummy language files for ES and FI german translation was done on omni crowdin by multiple translators: https://crowdin.com/project/OmniROM/de# result was updated in line with latest changes (as of 02032016) to en.xml Change-Id: Iddd8dbee7e050833a4dc61174288514d408267f7 Signed-off-by: z31s1g <z31s1g@googlemail.com>
2016-02-03sort languages by display valueXuefer2-0/+8
Change-Id: I79d58fd680dd04161b89d42fed04a86a931defd3 Signed-off-by: Xuefer <xuefer@gmail.com>
2016-02-03Add ru.xml to translation engine on behalf on jemminiMax Matviychuk1-0/+672
Change-Id: I5d2d92f0d24228de9c63640d866e087542499d9d
2016-02-03Language: Update & Fix zh_TW.xmlEve Kane1-66/+66
Fix incorrect translation Again. Sync en.xml changes. Change-Id: Icc9020095f7b795758457ba5a661c22a8ef13267
2016-02-03update Chinese Simplified languageXuefer1-272/+272
1. ws fix 2. typos 3. use double-width Chinse punct Change-Id: I561295c2e5562c59ce005459d1f178241130c6cd
2016-02-03Update some string names in Chinese (Simplified)Ethan Yonker1-19/+19
sync with en.xml and update translations accordingly Change-Id: Ic67b0496145c8a450c198520d7bb667dfe31f16d Signed-off-by: Xuefer <xuefer@gmail.com>
2016-02-03gui: remove unused struct translate_later_structthat1-9/+0
Change-Id: I663f327585b4037eba62508a1f6484ca152bf3c5
2016-02-03gui: fix conditions that compare with resource stringsthat1-0/+4
fixes auto-generating backup name before editing the backup name. Change-Id: Ied1c07b7dbdec9fa7fc80b3345970d95ac0ed1bb
2016-02-02gui: tweak storage selectionz31s1g2-13/+15
minor changes to the storage selection that was intrduced with commit 16373 (improve sdcard partitioning) Change-Id: I50437111f45d0b7e2b78a655424daa63aea374cc Signed-off-by: z31s1g <z31s1g@googlemail.com>
2016-01-31gui: fix partition list height for image flashingz31s1g2-2/+2
list height now accomodates 4 entries Change-Id: Ib5a5e2bad408f393abbd433b5f23a5d25711ca6c Signed-off-by: z31s1g <z31s1g@googlemail.com>
2016-01-29Remove execute permissions from source filesthat31-0/+0
Change-Id: I5deef665ab374491c0f498b498971abd525d1111
2016-01-29Replace fix permissions with fix contexts for emulated storageEthan Yonker6-66/+56
Fix permissions rarely fixed anything on more recent versions of Android and usually made things worse. Instead we will replace it with a more dumbed down option that should fix contexts on /data/media with a few improvements to ensure that contexts get fixed for multiple users and on adopted storage. Change-Id: If5523781936a0b04196e2ad871cae767ebae2583
2016-01-29adds TW_ADDITIONAL_RES to TW_RESXuefer1-0/+1
make it easier to add aditional resource files not just complete new theme Change-Id: I6daca75929da03031812e66f25455e189b37a780 Signed-off-by: Xuefer <xuefer@gmail.com>
2016-01-29add Simplified and Tranditional Chinese languageXuefer4-0/+1344
Change-Id: I417779259b08834d0bd9ec12ce31dda8c62d669b Signed-off-by: cofface <cofface@163.com> Signed-off-by: 996314227@qq.com Signed-off-by: kaneawk <kaneawk@gmail.com> Signed-off-by: Xuefer <xuefer@gmail.com>
2016-01-29Fix translation spellingssndnvaps4-8/+8
Change-Id: I16f71797901ed21763b52a5cf750f383a460ce4d Signed-off-by: sndnvaps <sndnvaps@gmail.com>
2016-01-29gui: move "(Up A Level)" in file selector to resource stringthat2-12/+9
Doing it at display time is easier. Change-Id: Ic0f2ca1f425f6267452157524a05b51d9324be16
2016-01-27ifdef and comment out libjpegEthan Yonker10-15/+10
Chances are there are not many themes in widespread use that are using jpeg images, but this will be easy to revert back or even just temporarily modify if we need jpeg support in a pinch. Change-Id: If17b05ce3ebccce724fd74b26ed8ea91b287c3cf
2016-01-27Update minuitwrp graphics in line with latest minuiEthan Yonker26-53/+56
Note: events.cpp is still old code renamed to cpp to make it easier to call functions like gr_fb_width(). I had to modify AOSP fbdev code to provide a separate memory surface for drawing to as drawing directly to the framebuffer resulted in rendering taking about 5 times longer. I also modified AOSP adf code to provide a separate memory surface for drawing for the same performance reasons. The Nexus 9 supports adf graphics. Overlay graphics work on at least one device. Overlay provides a separate memory buffer already so performance is good. I do not have a drm device yet that I know of. I made some attempt to update the drm code to determine the correct pixel format based on the drm graphics format, but what is available in pixel flinger and what is available in drm do not line up all that well. Reports are that the Pixel C is using drm graphics, but performance is slow, likely due to the use of a mmap instead of a memory buffyer. Change-Id: Ibd45bccca6ac2cb826037aa9b2aa5065cf683eed
2016-01-25Adopted Storage supportEthan Yonker4-0/+14
-Detects, decrypts, and mounts an adopted SD card if a secondary block device is defined (usually mmcblk1) -Handles unified storage -Displays the adopted storage in MTP along with internal -Factory Reset - wiped just like a data media device, we retain the keys folder and the storage.xml during a factory reset -Backup / Restore -Disable mass storage when adopted storage is present -Read storage nickname from storage.xml and apply it to display names in the GUI -Read storage.xml and determine what storage location is in use for /sdcard and remap accordingly libgpt_twrp is source code mostly kanged from an efimanager project. It is GPL v2 or higher, so we will opt for GPL v3. Change-Id: Ieda0030bec5155ba8d2b9167dc0016cebbf39d55
2016-01-25gui: add icons on settings tabsz31s1g13-22/+64
use icons instead of text on settings tabs portrait themes only, landscape has no problems if a translated label needs more space Change-Id: I611ee9e34d5641c00d8894e219502a6198648339 Signed-off-by: z31s1g <z31s1g@googlemail.com>
2016-01-25Fix bracket in watch themeEthan Yonker1-1/+1
Change-Id: Ic30b56840f32215c2f171e043c99e679d33957fd
2016-01-25gui: use XML-based page for splash screen instead of a static jpgthat23-117/+270
For devices with an unusual aspect ratio, stretching a bitmap to the screen resolution is sub-optimal. So let's reuse our XML engine that allows assembling the splash screen from individual parts. The splash page is loaded from a separate XML file for quick loading. Change-Id: I2d3dad26e42fcefaf563dacdf0ffa61f209dada1
2016-01-23Update mStartPage to make language selection work on other pagesEthan Yonker3-2/+9
We should offer language selection on any start page such as decrypt or system read only. However, if the mStartPage variable was not being updated properly so selecting a different language was dumping the user back on either the decrypt prompt or the system read only page. This patch set fixes the problem and places the user back on the proper page when they choose a new language. Change-Id: I5153d3b9525d8c93d3863f4b17ecf55b5209e3c7
2016-01-23gui: add language selection to several pagesz31s1g4-102/+539
Language selection for decrypt, decrypt_pattern and system_readonly pages. Done: portrait landscape watch Change-Id: I5fd595cadcdebdd06e9dbb164d0736c84426ff1b Signed-off-by: z31s1g <z31s1g@googlemail.com>
2016-01-22Fix (Auto Generate) handling for backup namesEthan Yonker2-5/+6
Change-Id: I29f3823d03c005fb55a0e0a98818d40bd1eb039d
2016-01-22gui: language EN fixesz31s1g1-2/+4
-swipe to reboot added -added comment regarding "type yes to confirm format data" -Remove the word "Settings" from the from some header subheadings (some had it, some don't) Change-Id: Id3810c4f3aa5c02e94d854118805da7e51d309f3 Signed-off-by: z31s1g <z31s1g@googlemail.com>
2016-01-22Android 6.0 needs permission +x to create screenshot filesXuefer1-1/+1
Change-Id: Id4a6c04712238b86787696337874239591082d39 Signed-off-by: Xuefer <xuefer@gmail.com>
2016-01-22Improve max brightness handlingTatsuyuki Ishi1-9/+6
If we can detect the directory, why don't we detect maximum as well? Additional patch by: Matt Mower Replace clunky /nobrightness handling Cleanup TWFunc::Set_Brightness() and blanktimer::getBrightness() a bit, primarily for the purpose of relying on the value in tw_has_brightnesss_file instead of checking for a phony brightness path. Change-Id: Ib22595df53cefa8db7a1172a581984c42ad461c6
2016-01-22Fix a bunch of messagesMatt Mower6-46/+44
* Find and rename/remove duplicate string variable names * Add missing string variables to en language file * Fix display of some strings missing @ in front of variable name * Fix several %s --> {1} * Be consistent in usage of cancelled vs. canceled (both spellings acceptable) Tip for finding strings missing from language files: 1) Find all messages: egrep -hr "gui_msg.+=" > /tmp/msgs.txt 2) Regex replace to trim them down WHAT: ^\s+gui_msg(?:[^"]+)"([a-zA-Z0-9_]+)=([^"]+).+ WITH: $1 Note that $2 can be used to retain the message 3) Find missing strings: for i in $(cat /tmp/msgs.txt); do if ! grep -q $i gui/theme/common/languages/en.xml; then echo $i; fi done Change-Id: Ic193162e4b5468bf027472928a370be39840ea1d
2016-01-21Ensure that a base language is loaded before custom themeEthan Yonker2-10/+14
Main goal of this patch is to improve error handling when a custom theme does not contain a valid theme version. We were getting a message saying that the theme_ver_err resource did not exist as well as an error saying that the package had failed to load. Now we properly get a single error message about the theme version. Change-Id: I361ef2d139220bbeaf2e856be919dc3a50ae4299
2016-01-19gui: fix return value of NotifyKeythat2-2/+7
Only the last action got its keys and ate all of them (om nom nom). This fixes the power button action that activates the lock screen. Change-Id: Ia724568b159090c2c14a282cf3927915b2dc70e7
2016-01-18gui: make tw_show_kb non-persistentz31s1g5-6/+5
Change-Id: Icb3dd2342cc3bdc349aaf933d306b9f5315d1e98 Signed-off-by: z31s1g <z31s1g@googlemail.com>
2016-01-18Make listbox translation workEthan Yonker2-2/+11
Change-Id: I446f4499a43e6348a2b95846f3e5ea86967abbdc
2016-01-18Delete leading spaces after word wrapping in consolethat1-0/+3
Change-Id: I11887ebc1a3afd8f9acb1e85a212e2fe6299441c
2016-01-18Do not require mounting during zip flashing if path existsEthan Yonker1-2/+9
Change-Id: Ideb4bb39b5e864a43b62e807c38b6395c56a8466
2016-01-16Add theme version checkingEthan Yonker7-2/+27
Add a themeversion value to the ui.xml details section. Check this value against a define during early theme loading. If we are loading a custom theme, then reject the custom theme if the version does not match (or not defined) and load the stock theme. If it is the stock theme, show a warning but continue loading. Also fix an issue with changing overlays. Not sure how it ever worked before, but it works now. TLDR: Use the stock theme if the custom theme version does not match. Change-Id: I0277cbe035cbec7e16b6327500762dadf9c1c5c8
2016-01-14Improve sdcard partitioning processEthan Yonker5-59/+269
-Improve code for partitioning sdcards -Allow user to select a device for partitioning (must be removable) -Use sgdisk to partition sdcards -Set default sizes for ext and swap to 0 -Change increments for ext to 256MB and swap to 64MB Note: sgdisk is included in 6.0. I have included a static prebuilt sgdisk for trees that do not have sgdisk, however the prebuilt sgdisk is a decent bit larger than the old parted binary. The old parted binary is quite old at this point and we only have it for armv7a. sgdisk should be maintained by AOSP and can be built from source so it should work across architectures. Change-Id: Ib80882d9b5776e5e9358b11340fba392e6f1ae09
2016-01-13gui: theme changes for terminalz31s1g53-2510/+3086
Done: Portrait HDPI, MDPI Landscape HDPI, MDPI Watch Also still includes ugly changes for the old portrait theme to test the terminal emulator. Change-Id: If32af1c69b85417522a8a2fb9c20be515b4d70fc
2016-01-11gui: reap terminal child process to avoid zombiesthat1-10/+21
Change-Id: Ia46d8acb8b13075a2519df1deb91dd30a5969a48
2016-01-07gui: add terminal emulatorthat5-0/+949
Emulates enough of a VT-100 to run busybox vi. Change-Id: I99c829c6c9de2246194ecb8b8b3cdf4ac34a0606
2016-01-07gui: add keyboard support for Ctrl layer and more special keysthat7-152/+226
- rename NotifyKeyboard to NotifyCharInput - input: handle arrow keys in NotifyKey with standard KEY_* codes - fix page handler to return 0 from NotifyKey if key was handled - fix GUIAction::NotifyKey to not swallow all keys - change home button code from KEY_HOME to KEY_HOMEPAGE (to avoid collision with Home/End, conforms to Android 3.0+) Change-Id: Ib138afa492df8d0c1975415e8b5334c8778ccc90
2016-01-05Fix translation spellingsEthan Yonker4-11/+12
Change-Id: I3fc40c61d78cf017c6753ddd9520aa2ef2e853fc
2016-01-04gui: Fix partition repair messageGreg Wallace2-0/+2
The message was named something non-existent. Fix the spelling error and add the default message into the language files. Change-Id: I4e9e10d2705b1edf75b185d3badba59eb86ffb8b
2016-01-04gui: Fix typo of formatting_using messageGreg Wallace2-2/+2
Change-Id: I6df4937658815350366ed3dd2cf92156f98c96c4
2016-01-02gui: PatternPassword: allow any N*N gridAleksa Sarai21-61/+548
Rather than only supporting a 3x3 grid, allow for multiple grid sizes (using the CyanogenMod method of generating passphrases for non-3x3 grids). Also fix the detection of touches, as the old code was far too sensitive for larger grids (and also didn't make much sense). Change-Id: I343ef654e6d29ce0cb790a28281be7c7c9b171d9 Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
2015-12-29twrp: fix a typo and remove whitespaceAndreas Blaesius1-2/+2
Change-Id: I783e2bbc15ad8e10aab81d14d140a995681e860f
2015-12-29gui: fix screenshot_saved messagethat2-1/+2
Change-Id: I7d047fe3436100dbe7c7515860a143a97f7ef0d4
2015-12-29get rid of console thread for OpenRecoveryScriptthat6-173/+68
- CLI commands run in a threaded action "twcmd" - Console is displayed via "singleaction_page" - move ORS execution code from GUI action to OpenRecoveryScript class - remove unused function gui_changePackage - don't change PageManager package in home action - fix that /tmp/openrecoveryscript was not deleted after execution Change-Id: Ic688c0b04647ce09e9db979b0bc5123f47cf4f70
2015-12-23do not include stlport headers unless link to itXing1-1/+5
Change-Id: I8344d270ddb601694b5fef0fa7b22ea437030728
2015-12-23Set twrp.action_complete after completing actionLuK13371-0/+2
Change-Id: I078f0659696cc57564b5db0076a0ed9aaea822d4
2015-12-22exfat: Build fsck and update path to mkfsMatt Mower1-1/+1
* Usage of fsck.exfat is already included in partition.cpp, but the tool is missing. * Update the path to mkexfatfs so the button is available when changing filesystem. Change-Id: I5f4e27357c6b5a8606043d1bdc2488cc83e55d90
2015-12-21Improve string resource lookup in twmsgEthan Yonker1-15/+19
Change-Id: Iaac7d3df0bd12a4d817d4ad273254662865b775a
2015-12-21twmsg: fix notfound detectionEthan Yonker1-1/+1
Change-Id: Ie95fdfaed7011994ac11202d070edeb95032b805
2015-12-20twmsg: fix build error (isdigit not declared)that1-0/+1
Change-Id: I3101d15e5d94241cf8e583d1e06e09f3bc8b31f7
2015-12-19Multiple Language SupportEthan Yonker27-1690/+3501
This is similar to https://gerrit.omnirom.org/#/c/14014 A lot of the features built in the older patch set have been split out into separate patches, most of which have already been merged. The remaining functionality here should all be directly related to language selection and loading. We always load English as a base before loading other languages over the top of the base. The idea is that if another language is missing a translation, then we will still display the English. Maybe still to do: read the /cache/recovery/last_locale file and load a language based on that. For me, this file contains just: en_US We probably won't bother with region specific translations so we would have to look at either trimming off the _US or using some other method like perhaps a symlink or a combination of the two. Thanks to _that for twmsg.cpp class Change-Id: I9647a22e47883a3ddd2de1da51f64aab7c328f74
2015-12-19gui: stock theme reworkz31s1g244-1/+16576
Tries to combine the current theme with a touch of material. Page structure is untouched for the most part. Layout grid is changed to achieve a "less random" placement of objects on a page. Change-Id: Icaf796be410431b17d5be6ccc1134d40912bef0b
2015-11-26Update dosfstoolsMatt Mower1-1/+1
* Version 3.0.28 * Update filenames in source * Remove unnecessary symlink to fsck * Commit "Recode short filenames from DOS codepage (default 437)." has been reverted since we do not have access to iconv * Commits cherry-picked on top of 3.0.28: - mkfs.fat: fix incorrect int type - Prevent out of bound array read in date_dos2unix() Change-Id: I50310235c62ec2e6bc90afcd10f2814d3afb5113
2015-11-09Move reloading of theme outside of the action threadEthan Yonker4-46/+78
Reloading the GUI while the GUI is running and rendering is very dangerous as we may be deleting GUI resources before or while we are trying to render those same items. This change will allow us to safely load new resources and delete the old ones. Fixed a double free situation that was causing a crash on every other theme reload. Clear parsed xml documents when we are done loading the theme instead of keeping them in memory for the life of the theme to help save a little memory. Store starting page so that if we request a reload, we can enter the theme at the same starting point, which may come in handy if we allow for language selection on alternate starting pages such as the decrypt prompt or the system read only prompt. Change-Id: I45a7e3fb3daeefac56d70f8d4936938eb1244b99
2015-11-06Fix bution action position when using textplacement TEXT_ONLY_RIGHTEthan Yonker1-1/+4
This makes the touch target include both the text and the image for buttons masquerading as a check box. Change-Id: If8432c5863de136b1a215dabb3e06109ccce4410
2015-11-05Treat /vendor like /system for read onlyEthan Yonker1-0/+15
The vendor partition is verity checked just like system so we should treat vendor as read only same as system. Change-Id: Ida65c9f44d8610e52fcdcef0b4a50faf5c7110d2
2015-11-05gui: fix default styles if object type is in element namethat1-8/+8
Change-Id: I4bc46d1772fee2ec77d95732fa3f69c267c2c34e
2015-11-05gui: fix initial state of checkboxes in listboxthat1-2/+4
The GUI is initialized before DataManager loads the settings file, so we need to update the checkboxes on page change too. Change-Id: If4c694872608ec4014220364bd759c1399502994
2015-10-27Fix screen timeout text placementEthan Yonker3-6/+6
Change-Id: I7b020c7048f9bbb550e9f5100c604c01809e4fbd
2015-10-26GUI TextBoxEthan Yonker6-34/+199
Allows the GUI to create a scrollable text box for long text that may not all fit on the screen. Also includes code to allow the console to wrap on spaces and other such characters instead of wrapping in the middle of a word. To see an example of how to add a text box to the XML, see: https://gerrit.omnirom.org/#/c/14183/ Change-Id: Ifd139172ede290046b58ea3fe526e2e06da1d4ef
2015-10-25Fix a bunch of warningsEthan Yonker9-54/+54
Mostly adding __unused where needed. Change-Id: Ia4f675b9b360782728c361ed1699db0cc277c3a5
2015-10-16Allow text to scale to fitEthan Yonker14-69/+97
Change-Id: Iacd4bb78f551b51d092ecde09521b5541e7dadcd
2015-10-16gui: support conditions for listbox itemsthat2-66/+71
Change-Id: Iea189ac53ec3d7c1bea83da7b77684778b1c0f46
2015-10-16gui: extract methods for condition list handlingthat2-27/+21
This is a preparation for list item conditions. Change-Id: Iec731d1986a53b0362c534adf504dfe8db87d3f0
2015-10-16Allow listbox to have a list of check boxesEthan Yonker2-7/+48
For an example of how to implement a list of check boxes, see: http://bit.ly/1Giacw2 https://gerrit.omnirom.org/#/c/14284/2/ Change-Id: I0752a084625f4a0ef8cc6d99597f2fb9aa2ab9e0
2015-10-16Use unified LoadFileToBuffer functionEthan Yonker2-79/+81
Create a single function for loading xml files to a memory buffer to reduce code duplication. Change-Id: I0ff64463072118f61a2eb8052f74019715020253
2015-10-15Remove support for non-TTF fontsEthan Yonker32-49/+13
This patch set removes support in TWRP for the old .dat file format as well as support for the AOSP style fonts in header files. We need TTF for scaling. Note that the old AOSP style header font is still supported in minui which is not used by TWRP. Change-Id: I6124a3333d479f1fc668138f7e32c4be9b519552
2015-10-15Unicode for temperatureKetut Putu Kumajaya5-5/+5
Change-Id: Ie86dc63f83ae51e9947debc7191fd91d61b83008
2015-08-09ORS: Report success if AOSP script succeedsMatt Mower1-0/+1
When AOSP recovery commands are processed, the GUI reports a failure just before reboot even when all commands succeeded. Set op_status before reboot to indicate success. Change-Id: I09e9357b04cd81f418264bf00a75311f48357414
2015-07-27gui: support new theme directory structurethat1-10/+26
Change-Id: I8622da5ae321ba69a55b38e2f0b878b7ec149d02
2015-07-22Really fix background color on 480x800 themeEthan Yonker1-0/+2
Change-Id: I70324ae3e4fffe88bc2b5a02becb7d1f4f0ceab0
2015-07-14Make system read only show no matter what on first TWRP bootEthan Yonker3-3/+3
Initial value for tw_mount_system_ro is now 2. If the value of tw_mount_system_ro is 2 during boot, then we will show the system read only prompt and ignore the value from the lifetime writes check. Note: Changed the value of FILE_VERSION which will trigger the data manager to throw out previous settings and start with default values so that existing TWRP users will get the prompt at least once. Change-Id: I447767b64617f855156a19a5dc15c4ece6dff7b8
2015-07-14gui: allow listbox to be used as menu and as read-only listthat2-6/+18
Also enable string insertion for list items. Example how to make a menu item: <listitem name="Lights on!"> <action> <action function="setbrightness">255</action> </action> </listitem> If no <data> element and no actions on any items exist, the list is read only and no item selection is possible. Change-Id: Ib2668a982df2514484d44faa0396dd17550f39f3
2015-07-14gui: keyboard: support longpress label offset, code cleanupthat2-150/+120
To position the longpress label: <longpress font="..." textcolor="..." x="5" y="0"/> x and y is the distance from the upper right corner. - extract method GUIKeyboard::DrawKey - clean up handling of currently pressed key - integrate key highlighting into main key drawing loops Change-Id: I80ccf2975d30cffa2a48627a74ab3693c84e4fa4
2015-07-13Fix minor background bug in 480x800 xmlEthan Yonker1-2/+0
Change-Id: Ib67a356f8d5e6bb0f982c081fc88b6462c7fbd74
2015-07-13gui: allow specifying object type in element namethat2-27/+19
e.g. '<button ...>' instead of '<object type="button" ...>' Also get rid of default parameters to make things more explicit. Change-Id: Ie4d1231b725aeb6cbf0041622c9780c86cf8e1c1
2015-06-20[WIP] gui: software drawn keyboard (code only)that2-13/+184
Change-Id: I9f05c85f8d43ab012228a78b79220a27876a299d
2015-06-17Make sure that adbd restarts after sideloadDees Troy1-1/+1
Change-Id: I7d82b95cd8749c6f8569739162708705faa6f1f7
2015-06-17Fix ORS scripts displaying an error after completingEthan Yonker1-2/+5
Change-Id: I1329705fca870b4e3017607ad7c7875aa00d664b
2015-06-01gui: set tw_file to the currently flashed file name without paththat1-3/+7
To allow themes to show more of the file name on narrow displays. Change-Id: I4962eed5e4a01f73a3cde126f2ba56428209fccc
2015-06-01gui: move retainaspect handling to the resource ctorsthat2-14/+10
LoadResources should only decide on the resource type, everything else is handled by the resources themselves. Change-Id: I30f68293960c23560979f650efc4393992cf5824
2015-05-30Fix unable to uncheck the mount read only check boxEthan Yonker4-37/+28
Change-Id: I1bbc25df6f35f79549f1eb06feb4db9ec0475aa5
2015-05-29remove useless memset and \nXuefer1-1/+0
fgets reads up to one byte less than size then with \0 at the end adding \n after \0 is useless too Change-Id: I7758d7a8f885bdde2b491a9cb75800f831d77c1f
2015-05-28Add resize2fs and ability to run resize2fs via GUIEthan Yonker5-0/+85
Note: Only works on ext2/3/4 partitions. Only tested on ext4. We can use this in some cases to resize the data partition if an incorrect fstab caused recovery to not reserve the 16KB for a crypto footer. Sometimes the BoardConfig for a custom ROM does not have the correct size for the system partition and if the ROM flashes a raw system image, that image will not take up the full block device. Running resize2fs can fix the size and may allow more room in the system partition for customizations like busybox or a larger gapps package. Sometimes flashing a factory image may flash userdata with an image with a file system that does not take up the full size of the block device (e.g. factory images for the Nexus 6 will flash userdata with a ~24GB userdata image, wasting ~30GB of space). Using resize2fs we can easily fix this issue without having to do a full format data. Change-Id: I631f5c6f567bbc6a9241e5dd95f1e435820a1b13
2015-05-27Mount system as read-only by defaultEthan Yonker8-1/+382
Mounting system as rw can prevent future OTA updates. The purpose of this patch set is to prevent TWRP from mounting sytem as rw on the first boot. Device maintainers should update their twrp.fstab files on these devices to include an additional line: /system_image emmc /dev/block/../system This line will allow TWRP to create a raw system image backup to ensure that the user can return to an original state for future OTA updates. Change-Id: I8929d85bc3a5b96cc564bc7f734b58d5612ec833
2015-05-18GUI: Prevent duplicate page overlaysMatt Mower1-0/+11
If a page is requested for overlay, ensure it doesn't already exist in the stack of existing overlays. If it does, erase the existing page and push_back the new one. Change-Id: I9feeea06cf7aad2e08a8c3bc567aaa761db2c3bc
2015-03-25gui: add DST rules to time zones for USA and Europethat3-21/+21
This should fix daylight saving time display for most users. For fully correct time zones we need the tzdata database. Change-Id: I7b7693ab0abaf20be217bd06d525f03fb89b7217
2015-03-19Allow multiple overlaysEthan Yonker3-20/+52
This effectively allows us to support popup dialogs and the like. Change-Id: Iafb3fa60ed635287cb59dce118f74dc8f2a4e60a
2015-03-19Fix non-working "Do Not Install" button on "installsu" page.codelover1-1/+1
* Applicable to non-rooted devices running portrait mode only. * Touching the button has no effect, supposed to reboot/poweroff. Change-Id: If67649c4c83ddf549c833f94c66829e0877969c5
2015-03-19Fix GUIPatternPassword when the pattern crosses already visited dotsVojtech Bocek1-8/+13
Change-Id: I59b3f8c5604c036dbc74c020ee21aeeef28132d3 Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
2015-03-15gui: keyboard: introduce struct Layout and simplify caps handlingthat2-78/+71
Also minor cleanups: - move array limits from #defines to a protected enum - zero fill layouts in ctor Change-Id: I8fe0f8465ebc646ad3bf3cc3f8490dbdd384f43d
2015-03-14gui: keyboard: add HitTestKey method, minor simplificationsthat2-121/+107
Change-Id: I6cd0251dd9d933e6ebef977a553be7473e2d7034
2015-03-14gui: fix 1920x1200 keyboard "_", ":", "!" and "?"that1-3/+3
"_" was broken due to a bad XML attribute name, and the others didn't produce the highlighted character in shift mode. Change-Id: I271fbf4e083ccdb69c469cbdae44101afed4fd1e
2015-03-14gui: keyboard doesn't need its own actionthat2-29/+2
This was questionable design and is unused anyway. Also reduced a few redundant #includes. Change-Id: I65bb01120e6072c5695755920242f6f9d73c816e
2015-03-13Add UI for entering pattern for device decryptionVojtech Bocek12-1/+534
Change-Id: Ia2d3268a96423e9ca3846500c57e674c4f8fa60b Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
2015-03-13Allow touch to use a key code to sync touch eventsEthan Yonker2-2/+22
This is needed to make touch work on the x86-64 emulator target though I have seen the key code used on other devices as a way to synchronize touch events. Change-Id: I31a3cc56e6470f2c707641b537140e44f5e686aa
2015-03-13GUI: Add monospace TTFMatt Mower6-0/+5
Change-Id: I287722719c1f73cc8f7214549f9a890f03d4a586
2015-03-13Reduce themes to 5 and rely on scalingEthan Yonker533-6134/+195
This will significantly reduce theme maintainence and should be a lot more sustainable over time. Eliminate most themes leaving only 5 remaining in 3 categores: * watch_mdpi: 320x320 * portrait_mdpi: 480x800 * portrait_hdpi: 1080x1920 * landscape_mdpi: 800x480 * landscape_hdpi: 1920x1200 Add handling to map the old DEVICE RESOLUTION to the new TW_THEME build flag. New devices should specify a theme using the new TW_THEME build flag using one of the 5 values from the list above. Long term we will eliminate the use of the DEVICE_RESOLUTION flag in favor of the new flag. Change the way sliders render so that they completely follow the placement="5". This will probably break some custom themes but is necessary so that we can retain the aspect ratio on slider images and still have them rendered at the center of the screen. Add code to the console slideout button so that it can be centered. Centering the slideout button allows us to keep the button at the center of the screen when retaining aspect ratios on the image. Add more retain aspect ratios for home, back, slideout, folder, file, and lock screen images. Change the way we build the top bar in TWRP. It is now mostly drawn using fill objects and the TWRP logo is a separate image so that we can retain its aspect ratio during scaling. Thanks to Mark Norelus for providing the TWRP logo. Change-Id: I801a7b3163cad9ef353461f4c327690a9ccbb3aa
2015-03-11gui: support string resourcesthat5-60/+39
storing strings in a map (for fast lookup) in resource manager To define a string resource in <resources>: <string name="foo">Hello</string> To use a string, e.g.: <text>%@foo%</text> Not yet done: language-specific resources (should be solved not only for strings, but for all kinds of resources - e.g. for localized images) Change-Id: I3ba5cf5298c09e0d28a83973e9662f179271b33f
2015-03-11gui: allow specifying resource type in element namethat1-8/+8
e.g. '<image ...>' instead of '<resource type="image" ...>' Change-Id: I5ce04ae0845351c8a4640d12e36f1aaf32e1ebc9
2015-03-11gui: type safe resources part 2that4-59/+69
- separate collections for fonts, images, animations - no more ugly casts - fix crash if main ui.xml did not define any resources but include did - don't stop loading resources if one "type" attribute is missing Change-Id: I70c1c9ca66ca65d9fba1ba3eded34f3d8a07488e
2015-03-06gui: make scroll bars smaller and transparentthat19-76/+76
Not all themes tested. To center the scrollbar horizontally on the line, the width must be fastscroll_linew + 2 * something. Change-Id: I3c2878734ffbd2e8ef3bc7c64b2f16d4f61aeda5
2015-03-05gui: kinetic scrolling for consolethat7-234/+156
- Rebase console on ScrollList - Add fastscroll bar to console - ScrollList now has a mode that ignores selections - Increase kinetic scrolling speed for lists showing many items Change-Id: I6298d717d2e403f3e85e2c633d53c4284a066012
2015-03-05gui: introduce virtual RenderItem method in ScrollListthat5-80/+83
- so derived lists can draw whatever they want (multi-line etc.) - replace GetListItem with RenderItem - minor cleanup Change-Id: I062e0a354f1c18ce0a5232b7542c4987b480e232
2015-03-05minuitwrp: fix crash issue, when the console use TTF font to display unicode font.xiaolu1-2/+1
gui: fix terminal command unusual line breaks and missing characters at the end of a read buf. Change-Id: I8d3d740b6066b1594c5148b2012f0e7bcbecc22b
2015-03-05GUI: Terminal command: minor improvementsMatt Mower4-0/+7
* Use mono font for terminal command input * Recognize 'exit' command (go to main page) Change-Id: I5f383cd8d19959a49d2ae0b18f839b86e4145693
2015-03-05GUI: Use valid XML syntaxMatt Mower22-128/+128
Safer handling: & --> &amp; > --> &gt; < --> &lt; Broken tags: </function> --> </action> <folders="1"...> --> <filter folders="1"...> Change-Id: Iaddaf9db163e08250cb4deefdfdb814c589ccb47
2015-02-25GUI: Restore text input field for restore decryptMatt Mower1-0/+1
The portrait placement was mistakenly removed in commit I6e314efb4bb454d496555ff7e003d743063a1308 Change-Id: Ida5f908e61df0f99e0f5327c298e6a1a915d0f66
2015-02-23gui: fix missing icons in fileselectorthat1-6/+6
Style support was missing. Change-Id: I9a9a8c6a42e2a3d0dcdee871a639c9842a2ff668
2015-02-23Theme: Add ability to disable size checking before backupbigbiff13-3/+33
(for compressed backup users with low space). Clean up backup folder and copy only recovery.log for debugging. Conflicts: gui/devices/watch/res/watch.xml Change-Id: If8aa3580dbc082d0fe4882d4af8dc3cdb362a8b5
2015-02-23gui: don't truncate values to 0 after scalingthat3-4/+8
Avoids invisible lines (e.g. input cursor) when scaling down. Change-Id: I595e8bdb2fa468c30f104867ad77be2423ec287f
2015-02-23Fix reboot system on watch themeEthan Yonker1-1/+1
Change-Id: I008664109360d937a31232c8cc15c7c9d3dd0ba5
2015-02-21gui: proportional scrollbarsthat2-53/+63
- Attribute "recth" in the <fastscroll> element is now the *minimum* height for the scrollbar. - Dragging the scrollbar moves the list. - Touching outside the scrollbar jumps to the relative position. Change-Id: Ic1f20b5ec68cf49e5be56be34f0c58c0f474618b
2015-02-21GUI: Support styles in xml to reduce xml file sizeEthan Yonker25-2977/+1055
Also allow sliders to have their own text label instead of requiring a whole separate text object for the label in the xml. Change-Id: I6e314efb4bb454d496555ff7e003d743063a1308
2015-02-15gui: make kinetic scrolling deceleration more awesomethat1-8/+10
Change-Id: Ia674676c847e429c41ddbe6de3e1778c3d5c8302
2015-02-15gui: support scrollable lists without headersthat2-175/+77
If the <header> element doesn't exist, the header is not drawn. - minuitwrp: add function for clipping all drawing to a rectangle ...and another one to cancel it. Change-Id: If0f688a5debee6ebd9c457999fe571705a42c5cc
2015-02-15gui: make resources type safethat21-407/+254
- add string, int, color and resource loading helpers - use typed resource classes, and some cleanup in loading code - remove abstract GetResource() to enforce type safe access - add height and width query methods to resources and use them - minor cleanup - simplify LoadPlacement Change-Id: I9b81785109a80b3806ad6b50cba4d893b87b0db1
2015-02-15Retain and display previous selection for image flashingEthan Yonker2-7/+7
Change-Id: Ib9963d8d393cf4428e43a3d6552d98ae67c1d7bf
2015-02-13gui: fix condition handling for liststhat3-6/+6
Base class must be called first, otherwise the condition can never again become true. Fixes font size switching in Material theme. Change-Id: I160a733549495e1bde3cead56b0a3582f0dc744c
2015-02-10Scale the GUI to fit the screenEthan Yonker32-149/+322
With this patch set, if needed, we scale the images during early boot. TTF support is needed to properly scale the font. No font scaling is done on the old style fixed width font used in the console. Special thanks to _that for figuring out the scaling and blending function calls to make this possible. Change-Id: If2f79bef16d6db2e1298bfc3d00c9bcca2bee37a
2015-02-10Remove deletes for images from scroll list GUI ElementsEthan Yonker6-12/+0
Resources are deleted by ~PageSet and do not need to be deleted by the the scrollable list elements. This fixes a crash when reloading the theme. Also remove some deletes for items that should not be deleted in button and input GUI elements. Change-Id: Ie1c1b85c81c10f648d085746a5fdba6220468a5f
2015-02-09gui: avoid high CPU usage while waiting for inputthat2-12/+25
- add a timeout to ev_get - set timeout to 1 second when idle - delay timeout for 15 frames to keep animation objects working - stop kinetic scrolling immediately at end of list Change-Id: I77138055c464b65b71e296f9c7ef63ea06809bc1
2015-02-09Reset data manager variables before running runPagesEthan Yonker1-1/+3
Fixes a problem where, if you decrypt the device, the promtp for installing SuperSU appears briefly before it automatically reboots without letting you confirm or deny. Change-Id: I6f7b1c7096e788ccabd8f5aac9eb01d38bfbc0f7
2015-02-06gui: fix console lockup when scrollingthat2-17/+17
Apparently fixing all the signed/unsigned warnings was good. :) Change-Id: I62faa23179e8b2436fe0d24d2152af341cd42fe9
2015-02-06gui: make kinetic scrolling more naturalthat1-2/+2
Speeding up scrolling after releasing is distracting, get rid of it. Instead reduce friction to its previous value. Change-Id: I5c99cc71b631747697e967bd75669aa3d908c637
2015-02-05Unify scrollable list codeEthan Yonker6-2434/+1173
The goal of this patch set is to eliminate the code duplication caused by copy/paste of the code in the file selector, listbox, and partition list GUI elements. Those classes will now utilize a single GUIScrollList class that will handle rendering and scrolling. Change-Id: I0cb98ab36cf47178296034293435225658c779cd
2015-02-02Disable stock recovery replacing TWRP during ORSEthan Yonker1-0/+2
-Create a separate function to disable stock recovery flashing -Add a call to that function to the reboot section of the ORS action so that an OTA update will not inadvertantly replace TWRP Change-Id: I43eae81e0e76971b6e8d34c38785dc73772242d2
2015-02-01gui: simplify code in GUIKeyboardthat2-131/+73
- merge duplicated code into new ParseKey method - convert some unsigned int to int to avoid warnings - add local variable for current key in NotifyTouch to reduce clutter Change-Id: I98ddbaca50d487c97ab6e98938df91ef03b9aed5
2015-02-01gui: fix potential invalid memory accessthat1-5/+1
A single char should never be treated as a string. Change-Id: I5f8459495f7d0f907ac7c0ae6dd73a3428d92d23
2015-02-01gui: fix hardware keyboardthat3-73/+64
- Power+voldown works again for taking screenshots - Right shift key isn't stuck until users presses "s" - Don't use DataManager for local variables - Simplify handling of Shift keys - Clean up #includes a bit Change-Id: Iff0453107beaa336a9c04422b43e92225fdbe069
2015-02-01gui: fix lag (and event logging)that1-18/+18
- Process multiple input events per frame even if rendering takes longer than 33 ms. Limit minimum frames per second to 2 instead, allowing us to catch up with the input events. The lag was especially visible when using the mouse. - Move blankTimer calls to the main input function so that moving the mouse also unblanks. - Fix a compile error with event logging. Change-Id: If9e0360f5cc0562c4356611afc61b6d583fb1ec4
2015-01-30gui: run cancel action in another threadthat2-52/+79
Some actions did not have an operation_end where needed especially when dealing with cancel actions. Cancel actions now do not run operation_start or operation_end and let the original action handle the operation_end so that the GUI waits until the original action acutally cancels. Change-Id: I28e6260abb058acb982cecd108c09fc89e0ffeed
2015-01-30gui: move input handling into a classthat2-221/+244
Change-Id: I97e08a23369af0112875af84b3fb529cf42e929e
2015-01-30Move input handling into the main threadEthan Yonker2-181/+552
This also makes the hardwarekeyboard.cpp file that I created for the Asus Transformer tablets with a keyboard dock the default hardware keyboard handler. USB keyboards should work properly now if present for keyboard input. Change-Id: I724606e91ffe2a55265a9d1cb1ec714de244d38b
2015-01-29gui: fix IsInRegionthat2-5/+5
(0,0) was inside the region of "locationless" action objects, leading to all kinds of strange behavior when clicking in the upper left corner. Change-Id: I222db4ff499f3c30605b05267f005accb2e0dc99
2015-01-29Use macro to add actions to the action mapVojtech Bocek1-56/+58
Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: I283b33087817eb87dae916a3183a9024dd35effd
2015-01-27Use TWAtomicInt in gui.cpp to make it thread safeEthan Yonker1-35/+23
Change-Id: If05202355d3773e73541288c922fa6c69b1a9ad7
2015-01-27Add cancel backup capability.bigbiff6-10/+119
This will stop the iteration of the partition objects, kill the current twrpTar thread and remove the backup directory. Implement TWAtomicInt class to give us a wrapper that automatically uses mutexes before the read and write to help ensure that the reads and writes will be atomic based on documentation. Change-Id: I645b22bc980a292e9c7202acb24ffd22ebe68c63
2015-01-22Use /twres instead of /res for theme resourcesDees Troy5-19/+23
AOSP and other ROM trees now do a rm -rf of the res folder during the ramdisk creation process that removes the TWRP resources. Using /twres instead of /res works around this issue making TWRP more compatible with AOSP and other build trees. Change-Id: I0d4c7e06ca381ac5aa0069b6f2b8c47f7dec49e7
2015-01-22Hide some non critical error messagesEthan Yonker1-1/+1
Change-Id: I6e43242e44ce63cea9472c75a9f7fedf1b34fbbe
2015-01-22Move ORS command line into main threadEthan Yonker2-140/+111
Also eliminate the mostly similar runPage function in favor of using a single runPages function to avoid code duplication. Change-Id: I46ef414beb4009fee16d4de13d8a5ab2b9678409
2015-01-18gui: clean up error handling in resource managerthat1-61/+24
Change-Id: Ib94e661ab0c608deb2d119168709c85a9a44b2fa
2015-01-13Fix handling of custom themes after decryptEthan Yonker3-34/+41
Loading a custom theme from the decrypt action was preventing the runPage function from exiting. This moves the loading of a custom theme out of the action. Change-Id: I86904b63a67a25ded56e3e1e569fe906264dc055
2015-01-12Fix some crashes during theme (re)loadingVojtech Bocek3-15/+29
Change-Id: I01405fbe86a48ae79f2cbe633b89f2dcfb1ef266 Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
2015-01-12Fix some actions being incorrectly threadedVojtech Bocek1-1/+1
Change-Id: Ic8406344994ef2a9972207f9281b52e64e22826b Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
2015-01-11gui: simplify blanktimerthat7-142/+76
- get rid of separate thread, check timer in rendering thread instead - use an enum for the blanking state instead of magic integers - move #ifdefs for TW_NO_SCREEN_TIMEOUT inside blanktimer class - move some #includes and enum TOUCH_STATE to pages.hpp Change-Id: Id4b104e3680dc5db41d8ba85e32d722cf4086299
2015-01-09Allow for X and Y offsets in GUIEthan Yonker6-5/+37
These can be used to center a lower resolution theme onto a higher resolution screen. May be useful for Nexus 9 unless or until we decide to do a 1536x2048 theme or on devices like the Moto 360 and LG G Watch R. The build flags will only affect the stock theme. If a custom theme wishes to apply an offset, it can be done by setting tw_x_offset and / or tw_y_offset in the variables section of the XML. Change-Id: I2390769ed861b96a4a3bb8a0f06d9021ec91b6b9
2015-01-09Use power button to go back in watch themesVojtech Bocek3-3/+3
Change-Id: I1463a0ba62a23c68c15f05e79a99fa8509314373 Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
2015-01-09Improve GUI handling of zip flashingEthan Yonker2-12/+10
- change the page sooner so that users cannot activate the slider twice - improve GUI messaging if a zip requests a cache wipe - move update of the file count to the end so it is less visible to the user (e.g. during a cache wipe the counter should not read 0) Change-Id: I5d478f07effe61ca37f3521a77c9e9243a9cb692
2015-01-09Allow flashing of images via the GUIEthan Yonker25-11/+565
- Use the Images... button in the lower right of the zip install page - Unify image flashing functions between restore and image flash - boot and recovery partitions are flashable by default - use fstab flag flashimg=1 or 0 to override defaults - file system partitions are currently not flashable Change-Id: I822dc446030543c55d2153e219d67a1292374ffc
2015-01-09gui: fix action threading if background thread is busythat2-11/+16
When the background thread is already running and we have at least one threaded action in the list, we should not run any non-threaded actions before ignoring the threaded action and following ones - it might cause invalid state variables to be set. Run or ignore the whole list in the background thread instead. Change-Id: Ie634105b80f038893898a21539886bd757eb47ce
2015-01-09Run some actions in a separate threadthat2-158/+217
Some actions need to be threaded so we will run those in a separate thread and deny requests to thread more actions if new requests come in while a thread is already running. Change-Id: I966c538e67860a6d8fe556e5a2eb7f7d1a987e74 Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
2015-01-05Thread openrecoveryscript action to properly display action pageEthan Yonker2-22/+39
The action page fails to display properly during ORS processing unless we thread the ORS action. Based upon the work done in this patch set by _that: https://gerrit.omnirom.org/#/c/11226 Change-Id: I6dac790ac26d9b3a02df778516fea011d67aea70
2015-01-04fix adb sideloadthat2-82/+89
- "Cancel" button handling requires another thread - simplify handling of child pid - merge duplicated code for reinjecting TWRP after installation - fix error that showed on host PC after sideload finished - fix problem where adbd sometimes does not stop correctly Change-Id: I536877f024b606756c6a3289c6ddfdba423a60d6
2015-01-03Fix GUIAction::operation_startEthan Yonker1-1/+1
We need to set the value of tw_operation_state a little sooner to make the decrypt page work correctly. Without this change, decrypt would incorrectly display the main page during the first decrypt cycle. This fix may also fix ORS and possibly other things that use the runPage function. Change-Id: I85ad6e4add6726a2746eeb7116f3eab3f7ff5d84
2015-01-01gui: remove dead build flag TWRP_SIMULATE_ACTIONSthat1-6/+0
isn't used by the code, can be set via datamanager instead. Change-Id: I3d98c85c91ce41f32de90345715f2f456f628419
2014-12-30gui: Move action functions to function pointer map.that2-1060/+1149
This allows the functions to be more readable and make doActions readable. Patch set 5: gui: remove threading in GUIAction Multiple actions were started in another thread that was joined immediately after starting it, so the input thread was blocked anyway. Selected single actions were started in their own thread, but this caused bugs like being able to install the same package twice in parallel by quickly swiping the slider twice. Change-Id: I28adadaedd032efc7bff3aaa48e659627aa3a3b3
2014-12-29gui: fix DEVICE_RESOLUTION warnings in Android.mkthat1-12/+12
Indenting the warnings with tab resulted in a make error "*** commands commence before first target. Stop." instead of the intended message. Using spaces instead. Also fixed the web link to point to the current build guide on XDA instead of the outdated one on rootzwiki. Change-Id: I8b25d39edae16dbc479c0e36bd11e12b49b4fbb0
2014-12-22fixPermissions: simplify code, fix bugsthat3-30/+201
- avoid parsing permission strings - fix memory leaks, a fix new/free mismatch and a compiler warning - fix that only first updated-package was processed - fix a potential stack overflow if packages.xml is huge - minor refactoring for reducing duplicated code - don't process packages without codePath - fix path for deleting app data (currently unused anyway) - fix file ownership on libs - try not to mess up Android 5.0 app permissions Patch set 4 - make fixing SELinux contexts an option with a check box - add some notes / text to the themes Patch set 6 - decouple "fix permissions" from "fix contexts" Change-Id: Icc77ecc581befc5ce6e419b1f3b8ca189208c234
2014-12-21Allow non datamedia devices to wipe encryptionEthan Yonker3-12/+75
With 5.0 L, we decrypt automatically if the default_password is used. Non datamedia devices do not get the format data button so they cannot wipe encryption off the device. This patch add a wipe encryption button where the format data button would normally be located on the Wipe page. This patch also attempts to remove / delete the dm-crypt block device before formatting. Change-Id: I100d5d154d6c49254fd48e23279df973db5f23ae
2014-12-19MTP add/remove storage instead of disabling MTPEthan Yonker2-0/+2
Implement a pipe between TWRP and MTP to allow TWRP to tell MTP to remove storage partitions as they become unavailable (e.g. during a wipe, unmount, etc) instead of disabling MTP completely. This includes some fixes and improvements in destructors to properly remove / delete various items. This also means that we will not be toggling adb off and on quite as often. I do not like that we had to add another thread, but we were unable to use select() on the mtp_usb character device because this device does not support polling. Select always returned indicating that the mtp file descriptor was ready to be read and the resulting read would block. The read block prevented us from being able to include reading of the pipe between TWRP and MTP in the main MTP thread. We might want to add a return pipe letting TWRP know if the removal of the storage device was successful, but I am not sure how we want to implement this. It would invovle timeouts in both TWRP and MTP to ensure that we returned a failure indicator in a timely manner to TWRP and prevent deleting the storage device in the case of a failure. Right now we make no attempt to ensure that an MTP operation is underway like a large file transfer, but we were not doing anything like this in the past. In some respects we have limited control over what happens. If the user installs a zip that unmounts a storage partition, we will not know about the change in storage status anyway. Regular Android does not have these troubles because partitions rarely get unmounted like in recovery. At some point, we have to hold the user accountable for performing actions that may remove a storage partition while they are using MTP anyway. Ideally we do not want to toggle the USB IDs and thus toggle adb off and on during early boot, but I am not sure what the best way to handle that at this time. Change-Id: I9343e5396bf6023d3b994de1bf01ed91d129bc14
2014-12-18Toggle MTP during ADB sideloadEthan Yonker1-0/+2
Windows does not do very well if you try to sideload while MTP is enabled due to drivers. This will toggle MTP off and back on if MTP is currently enabled before and after a sideload operation. Change-Id: I022dbedecc97565b50b6ae1fda8922b822f63440
2014-12-18Fix adb sideload page on 1440x2560 layoutEthan Yonker1-2/+2
Change-Id: If79086b0128e57087fd87f07d56984eb2a15d8b2
2014-12-12Improve resource error loggingEthan Yonker1-10/+21
Actually display the name of the item or the filename of the item that we were unable to load in the log to make it easier to determine what went wrong. Change-Id: I027b35aab286e4d0f1957bcfb28ed40d81f9bbb2
2014-12-12Attempt to set the proper uid/gid/contexts on new files and dirsEthan Yonker2-1/+9
Files and folders that we create during backups, copy log, or MTP operations often do not have the proper uid/gid/contexts assigned. We will attempt to read the proper contexts from the settings storage path and assign those same contexts to any files or dirs that we create. Change-Id: I769f9479854122b49b499de2175e6e2d026f8afd
2014-12-10make header layout more readable for 1440x2560bigbiff1-2/+2
Change-Id: I109c7ae5963b5b4d9d1a8190e364a7685c41dbdd
2014-12-10Use one mizip for allEthan Yonker7-49/+0
The new minzip did not compile in older trees due to needing mmap64. For older trees we will just use mmap instead. Remove all files and code pertaining to minzipold. Updater should now build properly in older trees as well. Eliminate use of PLATFORM_VERSION in favor of PLATFORM_SDK_VERSION which should be more consistent and reliable. Change-Id: I38d2b604a73d1b17a2072c7d60e990b81ece0c10
2014-12-09Fix slidervalue not showing up in some casesEthan Yonker1-1/+1
The button vibration slider was not showing up on portrat layouts. This commit fixes that issue and maybe some other issues. Change-Id: Ia0c0ed319358db3b99887b3b37aa7737c7caf0cc
2014-12-03bootable recovery: we upgraded to 5.0.1erikcas1-1/+1
Change-Id: I9e2f359dd7274e1ae885f6a3b392d5ab5ca99ac9
2014-12-02 Make the android-5.0 branch compile in 4.4 to 4.1Ethan Yonker2-0/+23
Migrate previous minzip to minzipold replacing the existing minzipold. This will break compatibility with trees that do not support selinux (ICS and older). Migrate former verifier files to verifierold. Add fuse.h to recovery source because older trees do not have it. Add LOCAL_MODULE_TAGS where needed for 4.1 tree. Change-Id: Iade57cb2b0115af7fce9f56aa98636b1744a1ef4
2014-11-16Thanks to _that, return null if vector is emptybigbiff2-3/+2
Change-Id: Idc44455dd0c971c876ae283528c4367a82e145bd
2014-11-12Make TWRP compile for arm64Ethan Yonker1-0/+2
-Remove dosfstools for arm64 until we can make it compile -Fix TW_USE_TOOLBOX flag to work again -Fix symlinking and handling of sh when using mksh -Fix legacy properties to find futex_wake function -Fix libcrecovery to not use bsd_signal anymore -Fix rules for building with regards to libcrecovery -Update toolbox_recovery rules to compile tools in lollipop -Fix a few compile errors specific to arm64 Testers report that TWRP does not boot on Nexus 9 and we fail to get a shell for adb shell. At least it compiles without errors. Change-Id: I286be8628defb60cc527b8a548c0bdfcb0ebb574
2014-11-12update theme thanks to Alexey71 on xda.bigbiff1-30/+30
Change-Id: Id5a0d40d05b0d7e56fb3e8f0578c201957508b70
2014-11-08Make custom themes work againEthan Yonker2-4/+25
Change-Id: Ib9ad011428603979f7dd8a2708989feb9b13e075
2014-11-08Update adb sideload featureEthan Yonker1-22/+36
Change-Id: Ib503d0e87434e1a28430779302d6565211c26592
2014-11-07Fix zip installEthan Yonker1-26/+1
We never used the feature for running a custom theme during zip install. We can re-implement this later if we like. For now, we will remove this feature until we are ready to make it work. Change-Id: Ice71b0b863c7ef17376e3f973d48b810be567c33
2014-11-07Disable custom theme and fix png loadingEthan Yonker1-1/+1
We will have to update the zip handling later. Now at least TWRP boots up to the GUI. Change-Id: I4182896eb095cab52fb0f1c9c20b6605e35677b9
2014-10-22Fix crash when rapid firing command line commandsEthan Yonker1-0/+4
Change-Id: I0caaa51720fe3608b8c4cb02f046afb3cbaa54f9
2014-10-20gui: Disable unnecessary checks if TW_CUSTOM_THEME is definedHandyMenny1-6/+8
if TW_CUSTOM_THEME is defined there's no need to check if $(commands_recovery_local_path)/gui/devices/$(DEVICE_RESOLUTION) exist. Change-Id: I234374eb1db187758102ca64884a94a81c938b54
2014-10-20Fix placement of Android Secure and SD-EXT on wipe pageCaptain Throwback3-31/+31
Change-Id: Iac1c13b38df2ac66106abcda7c9d171a1549b65f
2014-10-14Update reference to 24-hour clockCaptain Throwback3-3/+3
Change-Id: Ic864fae4fda9707fc84d6d8b33587863b7664e1e
2014-10-14display cpu temperature in twrpJenkins19-21/+192
use TW_NO_CPU_TEMP := true to disable display use TW_CPU_CUSTOM_PATH := path to set custom path Change-Id: Id260ecbb4ec36a78442387329944f67003d0f6a0
2014-10-14Add support for TrueType fontsVojtech Bocek30-58/+133
* Keeps original font system in place * Uses the same API as original font system: - You can render only one line at a time - You can only use one font and color for one gr_text* call * Caches all rendered text, with a string cache limited to 400 entries, then it trucates to 250, which results in memory usage hovering around 5-10MB Change-Id: I36107b9dcd8d57bae4486fce8b8f64e49ef3d906 Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
2014-10-08performance profile supportTom Hite1-0/+4
Many device trees support the recovery.perf.mode property to set various core frequencies and online/offline mode. TWRP is highly threaded, and support for multiple cores on many operations dramatically recudes the time, e.g., backups, zip flashes, etc. p2: removed user notifications Change-Id: I957b8ca40b241c0af0471327eeb329cce1816017
2014-09-20Attempt to automatically identify data/media devicesEthan Yonker1-6/+0
Change-Id: Ia3007fbced9ce3bc94efdb3dacc582a5e68a49a4
2014-09-03Build block TWRP with RECOVERY_VARIANTMatt Mower1-2/+2
Enable TWRP to reside alongside other recoveries with the naming convention: bootable/recovery(-flag). If TWRP resides at bootable/recovery and a device does not specify RECOVERY_VARIANT, then it will build like normal. If TWRP resides at bootable/recovery-twrp, then its makefiles will only be parsed if a device specifies 'RECOVERY_VARIANT := twrp'. This prevents TWRP specific makefile warnings/errors (notably, missing DEVICE_RESOLUTION) when another recovery is being built. Change-Id: I8f02fffcd79c309c7123b9428eedc69af02e126e
2014-09-03Refresh partition details after changing file systemDees Troy3-18/+78
Change-Id: I24f3c8587f778c4f0ef43737243c8378a3fd0e00
2014-09-03add mtp responder to TWRP.bigbiff bigbiff5-2/+120
Big thanks to Dees_Troy for helping with the implementation. Change-Id: I6c9c522b9c9de5dc139e2ecb0141008182ba07f0
2014-08-10Support reading since_epoch and secondary brightness filesxNUTx6-34/+21
TWFunc::Fixup_Time_On_Boot: Will now try to read /sys/class/rtc/rtc0/since_epoch to correct time, if that fails it will try to use the ats files to correct time. TWFunc::Set_Brightness: One single function to set brightness from both the automated functions and the gui actions. It is able to set a second brightness path if present, it will set them both the same value. Many Sony devices have 2 brightness files in the sysfs that must be set to properly set the brightness. Change-Id: I7ca582109085dfbcb46b8de73ad031e4b7903fca
2014-08-09Add command line capabilitiesEthan Yonker5-2/+123
Allows sending openrecoveryscript commands to TWRP via shell. This may be handy for visually impaired users, for various one click utilities to drive TWRP commands from a computer, for using TWRP when a catastrophic hardware failure like a shattered screen prevents you from being able to use touch, or even on devices like a TV stick where touch and USB mouse input is unavailable. This patch also includes a few minor changes to openrecoveryscript including proper support for rebooting via the script and for decrypting the device via the command line. Change-Id: I796ad168efdd2da9c25334ac93d1079daaa7b0bc
2014-08-07Add possibility to use images as background or handle of slidevalueVojtech Bocek2-21/+67
* Add tag <resource background="x" handle="y" handlehover="z" /> to the slidervalue object. * All images are optional, e.g. you can use just handle or just background image or no images whatsoever Change-Id: Ie0fee92965c6e883c4e532732756008dcc9e385e Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
2014-08-07update 1440x2560 keyboard mappingbigbiff bigbiff1-16/+16
Change-Id: I9777e92ca26967d41625e726383ae6aa5406161d
2014-08-07Allow using variables and addition/subtraction in variablesEthan Yonker2-18/+44
Change-Id: I1acba95302e414e1a471d27474508a7c48df0328
2014-08-04Add 280x280 themeEthan Yonker35-1/+407
Change-Id: Iea2fac2f1b300c312819ea2d83e1762669d357b6
2014-07-30Minor tweaks to watch ui.xml filesEthan Yonker2-8/+5
Change-Id: I9448eed41e43c4fce575b7ed12b5270a1d75f99b
2014-07-30Add 320x320 theme and split out watch.xml for square watch layoutEthan Yonker37-3836/+4252
Change-Id: I7fe38b20913a981942105637a527a2d26ed035a5
2014-07-29Update 240x240 themeEthan Yonker2-243/+647
Change-Id: I1a50fa0bb750b229220c217d24253b65f24d2920
2014-07-29add 1440x2560 theme to TWRPbig biff37-3/+422
Based on work by Chris Phelps <cphelps76@droidconcepts.com> https://github.com/TEAM-Gummy/android_bootable_recovery_TWRP/commit/58963336b81ea8bcc03b8d7e4dfe4598f5afc972 https://github.com/TEAM-Gummy/android_bootable_recovery_TWRP/commit/4ec10303cb76592044c3aa449dc68a33356a6e09 https://github.com/TEAM-Gummy/android_bootable_recovery_TWRP/commit/c48bd2412332916eafd0db727d923c8c16cd35ed https://github.com/TEAM-Gummy/android_bootable_recovery_TWRP/commit/f0944ded30e98917ca85db0185add1207ea5f4b6 But with other original changes too. Change-Id: I809a37a3983187e62568a1e2403b6637a692220d
2014-07-29Revert "add 1440x2560 theme to TWRP"Dees Troy38-422/+3
This reverts commit c45181db0902762fb670b56a173db7c331e564cb. Change-Id: I9dfb2733d9eb30c32bc1e307e382ee8e4e47a0b6
2014-07-28add 1440x2560 theme to TWRPbigbiff bigbiff38-3/+422
Change-Id: I9e54d2bcfe89e1e0e3205ce2f4156cfd22dca5b5
2014-07-28Allow ui.xml to include additional xml files to readEthan Yonker22-58184/+7988
Use common portrait and landscape xml files based on resolution defined by the device. Change-Id: Iec528f9d846d49857ff98de1ac201e25dbb60339
2014-07-09Implement "take a screenshot" featureVojtech Bocek16-0/+154
* Like in android - press power+volume down, screenshots are saved in /sdcard/Pictures/Screenshots (if /sdcard is mounted) or /tmp Change-Id: Iaefa15b11a1d5fdfac57d77388db1621f378a8d4 Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
2014-07-09Track backup and restore progressEthan Yonker15-2/+272
Track backup and restore progress based on the sizes of the files as they are being added to the tar backup file. Update the progress bar based on the sizes of the files. Change-Id: Idf649efa1db3e91830b4b2add86203a3f30042ff
2014-07-09Color in the consoleEthan Yonker19-15/+99
Allow each gui_print command to specify a color Change LOGERR to use the error color Theme should specify colors for error, warning, and highlight Change-Id: Ie8ece34111f604e25fcb79e5b731cd4e61038ff9
2014-07-07Refresh after partition changesjrior0011-2/+2
Change-Id: Id16c84f815b1c4b8e95da142648a5a759116ee6e
2014-06-30GUI: Add -fno-strict-aliasing to GUI for VanirMotorhead19911-0/+2
Change-Id: Id772737d2856698861686671152f14bad800cd5c
2014-06-04Whitespace and minor code cleanupMatt Mower52-2096/+144
This is by no means comprehensive, but is quite a bit better already. Change-Id: Ibc8654a5dfb0eec39cbd0b64bdb52bb4fbfe2f7e
2014-06-04Add options to repair or change file systemEthan Yonker16-41/+5213
Change-Id: I9043e98e1e1ed4722f05c13a60b43d2d0bf739f6
2014-04-16Make blank timer read brightness path from data managerEthan Yonker2-10/+4
After implementing the find_file class, the blank timer code needed to be updated to pull the brightness path from the data manager instead of using the build flag to ensure that we use the proper path for brightness. Change-Id: I084983ac0bd68b2fcdd69b93c2d18e2862ba0c77
2014-04-16Add support for actions triggered by key combinationVojtech Bocek6-47/+116
Change-Id: I9dfa7de40229f00412d63fc9c1eb3a809a6eb2e6 Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
2014-04-16Support alternative .android_secure locationMatt Mower17-17/+68
Some devices (jewel, m8) have .android_secure at a non-standard location. Allow a different partition to be specified as the home of .android_secure using the fstab flag 'andsec'. Using the /data/media variant of jewel as an example, recovery.fstab or twrp.fstab could be edited like follows: /external_sd vfat /dev/block/mmcblk1p1 flags=display="MicroSD";andsec Note, this is NOT a method to move .android_secure in your ROM. Your ROM must already write to this alternative location. Change-Id: I3a6e4e63aaddb35870b79e80938b0f9c2c902443
2014-04-15Allow device files to specify a custom themeEthan Yonker1-3/+8
Change-Id: I360f93e70c6a48eed502a5aacd6d8d654ca7b570
2014-04-15Improve handling of shell symlink in recovery ramdiskEthan Yonker1-11/+6
Change-Id: I06351f8ecdfe5b119bbae0d6800258adef844c66
2014-04-15Fix touch on Sprint HTC One m8Dees Troy1-8/+10
Change-Id: Ia9fba3be16a33b3cb0c4a3458398a2e60ba7f001
2014-04-04Add option to build TWRP with toolbox instead of busyboxEthan Yonker1-0/+11
Makes a smaller TWRP Uses mksh for shell Change-Id: If78d7745dda8919fcb2e9c9b60c6696063c14114
2014-04-04Allow building of an OEM friendly TWRPEthan Yonker3-4/+10
Disable theming Disable creating the TWRP folder for the settings file Change factory reset on data/media devices to a full wipe Change-Id: I3104282b5dd3f55dfff7c8cf39c72750af08563d
2014-04-02Refresh page after updating partition sizesMatt Mower16-16/+64
Some (all?) devices do not update the partition size displayed on the backup screen when selecting "Refresh Sizes". Refresh the page after recalculating sizes. Change-Id: Id34da6c738f86501f73cbd7874f6921d1cda32c4
2014-04-02Convert 1600x2560 ui.xml to unix line endingsMatt Mower1-3928/+3929
Change-Id: I98dd6b25cbb1616f6032e9dcb4174461add53498
2014-03-24add 1600x2560 to TWRP. Thanks to nrage123 and Gunthermic for creatingbigbiff bigbiff35-0/+3928
the theme. Change-Id: If633af291689b2ac686c41331bb9adac34c425ad
2014-03-10Fix incorrect alignment of Restore Defaults button in some themesKra1o58-64/+64
Change-Id: I11bd9fea2a900a92794c5c297846eb87265eeee7
2014-03-07Remove size parameter from substr callEthan Yonker1-1/+1
Change-Id: I2745bcf8f242fe4a1992aa547efaccf33db0fb5b
2014-03-06Fix "\n\n" string in gui_print(), remove unused gui_print_overwrite()Vojtech Bocek2-47/+8
Change-Id: Ib23354a706013c8cee6665c720fa3b890f3fb3de Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
2014-03-06Tweak 240x240 themeDees Troy1-4/+6
Change-Id: I0801d29aeb66678157123e3630b09a2b527ad4df
2014-03-04Fix wordwrap in console eating last char if str.size() == max_line_lenVojtech Bocek1-1/+1
Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: I4a23cd78bd63d63f4d6ec8f34dcc6eced824123b
2014-02-26Allow sideloading from /tmpEthan Yonker1-4/+5
Change-Id: I7ba9a8a496536ed55241e45e18297bd824d7e28c
2014-02-26Add word wrap to console output and fix scrolling in consoleDees Troy2-42/+52
Change-Id: Ibcf89952ee1391350c715f1ec82cf0cdb9b0ca7d
2014-02-17Add capslock support to keyboardEthan Yonker16-17/+112
Change-Id: I4be3849ff0485536575395d798aa5edbe12651a7
2014-02-16Remove some unneeded codeEthan Yonker2-83/+8
Change-Id: I52b34a316950e92a3aa4c1675475fca8dc08d2c8
2014-02-12Cache results of GUIObject::isConditionTrue()Vojtech Bocek11-44/+65
Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: Ia50f7c365b2dc0a65ee046bb42972e3594264878
2014-02-12Properly delete all GUIObjects and pages on theme reloadVojtech Bocek4-7/+31
Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: I8df41877f8f4439a434becfd47a9914b50649b34
2014-02-12Conditional -> GUIObject and make all gui objects children of GUIObjectVojtech Bocek19-42/+119
Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: Ic0a7d6354dabe5919b83942f2f1aa0715625e522
2014-02-08Add vibrations to Checkbox, Fileselect, Listbox and PartitionlistVojtech Bocek4-0/+10
Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: I7b0e27930857add1ac88671a71310bea56fc4e74
2014-02-07Implement mouse cursorVojtech Bocek34-4/+384
Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: I66d6db7b3ed9cca50b469d125b36224332e06913
2014-02-07Expansion of vibrate optionsEthan Yonker18-51/+783
Improve location / timing of vibration Split out vibrate settings for buttons, keyboard, and long actions Change-Id: I282825cc5f3e44ed6dcabe65dc1f4cb21b407b67
2014-02-06Add option to print render time of each frame to log fileVojtech Bocek1-0/+27
Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: Id158a6375fbadf4cdf0a8c7d143759e602419e7f
2014-02-06Add haptic feedbackSamer Diab (S.a.M.e.R_d)6-1/+55
Change-Id: I15d723f73c0b0bb4a40645d1c3f4c1c616f36998
2014-01-29Don't switch between fast and normal scroll during drag in listviewsVojtech Bocek2-4/+12
Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: I925adda7f417c6e578f501babc8ef2bec638f66b
2014-01-21Force GUI render after setting brightnessMatt Mower1-0/+1
Change-Id: I4470a3a090d10f400575d45338a8349fbee8a027
2014-01-15Initial 240x240 thememasteroftime34-0/+3821
Change-Id: I478f172e1a549b50ebe29cf9a8b8618a84b3cb17
2014-01-14Fix white point on top-bar images in some themesKra1o53-0/+0
Change-Id: Ic6a0b4b3e41818ff510ca652d5f14bdecd531826
2013-12-07Add support for persistent variables in theme's <variables> sectionVojtech Bocek1-5/+10
* Add support for variables with persist="1", which will cause them saved into settings file and reloaded on next boot. * This is handy for theme makers, who can use this to implement "theme settings". Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: I6415979011b38cbb15dec9909c445b02da6eadc0
2013-11-29Fix render issue when button has conditionalDees Troy1-5/+9
If the button has a conditional, the image render function will return a 0 which indicated that an image was present even if it was not if the condition was not being met during boot. When the condition is met, mButtonImg was not set to NULL causing a render request failure. Change-Id: I32be0ddcdc1bf7ad22440d66018ef09484280afa
2013-11-26Update partition sizes after sideloadDees Troy1-0/+1
Change-Id: I4dbb4677f1c3bcfa0b0a9248ae0b411c155f927e
2013-11-16Add check for making sure theme exists for devicebigbiff bigbiff1-1/+9
Change-Id: I9b178cebbb2834cd0c86088c8e78678f55d14e62
2013-11-16Add warning if DEVICE_RESOLUTION is not set in BoardConfig.mkbigbiff bigbiff1-0/+8
Change-Id: Ifc71c2e2078dbcd4b4893205bea9988e1e129f83
2013-10-24Update licenses to all matchDees Troy6-49/+85
Change-Id: I3be70a897e563658736b2dec3a9ea2697b69b225
2013-10-22Update licenses to all matchDees Troy6-49/+85
2013-10-11Add conditions support to GUIImageVojtech Bocek2-2/+5
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
2013-09-12Add 1200x1920 themeVojtech Bocek34-0/+3862
Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: I558c988c94f750607f58aa3dd22736447c78a214
2013-09-12Add TWFunc::Exec_Cmd() with no 'result' agrumentVojtech Bocek1-14/+10
Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: Id8acff1ac9b3c7e4b562c80562a8ff42a1d132b9
2013-09-12Make fixing su perms automaticDees Troy14-704/+3
In 4.3+ with SELinux, su perms will be lost on every reboot so users will get the prompt to fix su perms in TWRP every time. Make fixing the su perms automatic instead of nagging the user. Change-Id: Ia8a2652018db5e1f6ffc5fec2a4ac0db3a8f32bb
2013-09-12Pull ROM info from build.prop for backup namesDees Troy16-101/+237
Change-Id: I7847fca22b5d4f0a35da41625b15bd677a1e9768
2013-09-10Kang in older minzip for building in CM9 & CM7Dees Troy6-1/+29
CM7 and CM9 do not have libselinux needed in the newer minzip.
2013-08-30Fix backup list height on 1080x1920Dees_Troy1-1/+1
2013-08-25Add a TW_NO_TIMEOUT optionRicardo Gomez17-2/+84
Change-Id: Ifb3a5bd9f1e6c2e9810c90b0aec198e91d5956fc
2013-08-24Unify indentation and little clean-up in TWRP filesVojtech Bocek23-3294/+3327
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
2013-08-24Add ability to run scripts after screen timeout/wakeDees_Troy1-0/+2
2013-08-24Revert "Fix touch not working due to gr_fb_width returning 0 in some cases"Dees_Troy1-3/+1
This reverts commit 70e1129612765b14e5aace0155d4683c91cde951. No longer needed after http://review.teamw.in/#/c/655/
2013-08-22Remove graphics.c from libguitwrpDees_Troy1-2/+2
2013-08-11Fix touch not working due to gr_fb_width returning 0 in some casesDees_Troy1-1/+3
Change-Id: Id5ce607a181110118ebc647fc07d387a7a3dc660
2013-07-06Fix background image for 1920x1200Dees_Troy1-0/+0
2013-07-05Update themesDees_Troy44-162/+180
Change-Id: Iedb50aca0132259bfe4297e187dbc2d40a38a34b
2013-07-01Fix some issues with wipe partition listDees_Troy1-0/+7
Change-Id: Ie7d5878faf86b8fa824b72211be7fd3596b471d7
2013-06-22Support encrypted backup filesDees_Troy14-162/+4083
Also includes features merged from: Update twrpTar by kokotas Revised function entryExists(). Added function to get archive's uncompressed size. Added option to exclude item(s) from the archive. Revised forks() http://review.teamw.in/#/c/590/ Change-Id: I01fa2c81643161984eff2625247af75990684bd9
2013-06-08Do not render the GUI when the blanktimer turns off the display.gordon13373-0/+14
Normally, when the display has been turned off by blanktimer, the GUI actually still renders the GUI elements (eg. progressbar while doing backup/restore/etc.) This patch will check whenever the display is turned off, and if it is turned off simply dont render. This avoids heating up the device and will save battery.
2013-06-08Console Render Bug caused by touch drag eventgordon13371-0/+1
With starting the console the touch drag event is active without even touching the display. This causes to render the console at any time it is displayed, which consumes alot of battery and heats up the device. What the patch does is resetting the touch drag state to ensure it is only re-rendering the console when it it really needed.
2013-04-05Improve handling of XML errors for fix permissionsDees_Troy2-10/+29
2013-04-04Add new SliderValue GUI widgetVojtech Bocek18-1008/+992
Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: Ic5d44314f501341140dd7059d1cb753341f5844c
2013-04-04Move all AOSP code out of recovery binaryDees_Troy22-183/+165
Improves license compatibility between GPL and Apache Change-Id: I2b165aa575bb6213af6b07936f99610c113443f0
2013-03-30Add partition list GUI elementDees_Troy69-8239/+8596
Add partition list GUI element and update backup, restore, mount, storage selection, and wipe sections of GUI and partition manager code to reflect the new GUI element. Update ORS engine to handle new backup and restore setup. Fix a bug with decrypt. Add 1080x1920 layout. Change-Id: Iaa2f44cb707167e66f935452f076ba00e68a2aa4
2013-03-11add no fb blankingbigbiff bigbiff2-0/+7
Change-Id: Iaf771257d8f904807ca6f6c1a6c3d7993abadb85
2013-03-11Remove unused fonts from 320x480Dees_Troy3-0/+0
2013-03-11Remove mutex from file seselectorDees_Troy2-13/+4
mutex would, in some rare cases fail to lock and cause a freeze of the GUI. Also restored some code that was removed before and should not have been removed to fix a bug with folder selection where you select the same file or folder twice (e.g. select a backup on the restore page, press back, then select that backup again.)
2013-03-04More file selector fixesDees_Troy2-12/+31
Fix a freeze that occurs when you move or delete a file in the file manager Make file sort buttons work again Change-Id: Ifcb68edf3c29c475946d538748729485d0840842
2013-03-01Add 2 second pre-dim and bugfix blank timerDees_Troy2-27/+33
2 second predim code courtesy of bigbiff Change-Id: I052ac422f78dc82c05f58c188587534b800b935a
2013-02-28Fix file selector crashDees_Troy2-13/+19
Sometimes a var change event came in while the file selector was being rendered. Changes to the mFolderList or mFileList vectors sometimes resulted in a crash. This patch set moves the GetFileList call to the Render function to prevent the vectors from changing while the render is taking place.
2013-02-28Load user saved setting for blank timer on recovery startupbigbiff bigbiff2-1/+4
Fix persistence of military time
2013-02-27Copy fast scroll feature to listboxDees_Troy2-2/+101
2013-02-27Add fast scroll bar to fileselectorVojtech Bocek14-2/+256
Also fix build problems with libblkid in CM7 Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: I1cd4573e25b247171e4bd8cc05b70543f897a454
2013-02-21Remove ignore image size settingDees_Troy12-122/+175
Move military time setting up and remove the now unused ignore image size setting from XML layouts.
2013-02-21Check for root and root perms and offer to install/fixDees_Troy14-31/+1665
Also fix sort order for file selector by date and file sizes Change-Id: Idff9fe4232c19d4ed1082e78fabe6f921aa0a114
2013-02-21add military time optionbigbiff bigbiff12-1/+98
2013-02-20Configurable timeout and brightness settingsDees_Troy14-314/+1663
Change-Id: I924297ab0dcf920cd4b4b617949c3b16cbc68e43
2013-02-19Minor fix for listbox codeDees_Troy1-1/+1
2013-02-15Fix keyboard layout on 800x1280Dees_Troy1-6/+6
2013-02-15Update listbox codeDees_Troy14-297/+656
2013-02-15Add highlight to file selectorDees_Troy14-80/+236
2013-02-15Add button highlightDees_Troy14-13/+1040
2013-02-13This adds a 60 second screen timeout for TWRP. Might consider making this configurable in the future.bigbiff bigbiff6-480/+751
Will also set overlay to lockscreen so we don't have inadvetent screen selections. Touching the screen will bring the display back up. add back check script for poweroff move diff time function to twrp-functions.cpp make sure we chmod after copy_file add read_file and write_file functions to twrp-functions.cpp make single thread try to force update screen add forceRender drop caches after tar processing Change-Id: I3c5c509dd39dbb05451bbfe5d8b56d53c90d8d1b
2013-01-28file manager updates for exFATDees_Troy1-2/+9
Change-Id: I06fa6120a975cbc3d4eef9bc2ca034ec716740ee
2013-01-28Remove thread logging from actions.cppDees_Troy1-3/+0
Change-Id: I2d2af963f4d6990191d91a336f682516af61d734
2013-01-25Fix file manager displays empty list when folder is deletedDees_Troy1-14/+14
2013-01-25adding sideload page with wipe cache and dalvikbigbiff bigbiff13-135/+741
fix variable Change-Id: I72eed7b4d709a184e53cc94165a1817a7dcf041e
2013-01-25Use GUI for ORS instead of console onlyDees_Troy14-207/+93
2013-01-24Convert AOSP commands to ORS for encrypted devicesDees_Troy1-0/+12
Change-Id: I6a76a51cd9efd7db67d7abeeb26f9bdd0eebf5a9
2013-01-24change tar create to pthreadbigbiff bigbiff1-1/+2
Change-Id: I5a33d207ec6683de20da37e6f4f174c67785fc52
2013-01-18Improve ORS sideload to display GUI with cancel buttonDees_Troy3-5/+82
2013-01-16Fix problems with thread creation on some devicesDees_Troy1-1/+35
This fixes a problem with not reaching the backup completed page after a backup is complete on certain devices (GNex, Note2). Changing the stack size to 512KB seems to be the actual fix but leaving the other changes in place as they may be helpful or are better practices.
2013-01-10Increase char array sizes to allow for null char for strcpyDees_Troy1-1/+1
2013-01-09Add libtar to TWRP instead of using busybox tarbigbiff bigbiff2-29/+32
Add proper mkdosfs tool Add fuse to TWRP Add experimental exfat-fuse to TWRP Convert all system() functions to use new Exec_Cmd function
2012-12-18Fix keyboard layout on 800x1280 layoutDees_Troy1-1/+1
2012-12-18Fix defines on pages.hpp to not collide with pages.hDees_Troy1-4/+3
2012-11-22add Decrypt Data buttonGary Peck12-0/+144
Allow to decrypt /data even if decryption was skipped during the initial loading of recovery Change-Id: If2251757a276dd069578e93e5a038b25a825bff6
2012-11-19Fix renaming of backups with spaces, 2.3.2.3Dees_Troy11-11/+11
2012-11-19Finish 2560x1600 themeDees_Troy41-120/+120
2012-11-15Fixes for multi-user in 4.2Dees_Troy51-11/+3634
Also fixed inability to delete backups with a space in the name. Change-Id: I2f6639d33caa3c4542960f76adbd59b25ab64f5d
2012-10-20Add keyboard key highlightDees_Troy14-15/+117
2012-10-19Add ability for buttons to have highlights on touchDees_Troy4-4/+66
2012-10-16Update injecttwrp for Epic 4G TouchDees_Troy1-1/+23
2012-10-15Fix weird keyboard problemDees_Troy1-3/+3
2012-10-10Remove text about fix perms taking a few minsDees_Troy11-22/+0
2012-10-10Finalize 2.3.0.0Dees_Troy1-14/+4
Fix permission setting for other Add new fix permissions to GUI actions Update version number
2012-10-08Add reboot system button after sideload, backup, and restoreDees_Troy11-341/+385
A few other minor xml tweaks
2012-10-08Fix exclamation point on 720x1280 themeDees_Troy1-2/+4
2012-10-01Fix output of version numberDees_Troy1-1/+0
2012-09-28Fix some derpsDees_Troy2-0/+1
2012-09-28Revert busybox for CM7 compatibility, add exclamation point to format dataDees_Troy21-17/+169
2012-09-27Save version number to storageDees_Troy1-0/+1
2012-09-27Create symlinks at compile time for busyboxDees_Troy1-1/+2
2012-09-27Update sdcard partitioning to C++Dees_Troy1-68/+4
2012-09-27Port backup name checking to Partition ManagerDees_Troy1-3/+2
2012-09-27Port reboot functions to C++Dees_Troy1-12/+11
2012-09-27Display symlinks and block devices in file managerDees_Troy1-1/+1
2012-09-26Add option to wipe android secureDees_Troy12-0/+200
2012-09-26Fix permissions updatesDees_Troy1-8/+17
Also redirect stderr output on terminal commands for display in GUI console
2012-09-26Fix SDCard partitioningDees_Troy12-14/+22
2012-09-26Fix a problem with scrolling in the consoleDees_Troy1-1/+1
2012-09-26Allow spaces in backup namesDees_Troy11-22/+22
2012-09-26Unify portrait layouts againDees_Troy6-409/+404
2012-09-24Change curtain to file and remove curtain raiseDees_Troy23-31899/+6
2012-09-24Update tablet layouts with ADB sideloadDees_Troy5-2/+187
2012-09-22Fix 320x480 themeDees_Troy1-37/+37
2012-09-20Update portrait themes with ADB sideloadDees_Troy3-27/+141
2012-09-20Various fixesDees_Troy1-0/+38
Modify AOSP mount and wipe functions to use Partition Manager. Update wipe code to reset the log file index when wiping cache. Add ADB sideload to 540x960 theme.
2012-09-20Add and improve OpenRecoveryScript supportDees_Troy1-3/+3
Improve zip finding in ORS engine Add support for restoring with just a backup name
2012-09-19Fix ext storage and zip pathsDees_Troy2-0/+29
Fix a bug with handling external storage during boot. Check zip root path when switching storage and ensure that the path is in the new storage path to prevent user confusion.
2012-09-19Improve adb sideload - use storage vs tmpDees_Troy1-11/+8
2012-09-19Improve adb sideload -- add cancelDees_Troy2-7/+97
Also copy zip from /tmp to storage and remove from /tmp to prevent running out of RAM.
2012-09-18Cleanup extra-functionsDees_Troy1-27/+13
2012-09-17Update backup and restore code, adb sideloadDees_Troy2-5/+53
Fixed a problem with using make_ext4fs by making its lib a dynamic lib. Added ADB sideload zip install feature - no way to cancel it yet. Improve backup and restore code.
2012-09-14Add wipe functions, compiles in CM7, text shows in UI, zips installDees_Troy1-39/+34
Zip install works, had to move mincrypt code into TWRP to prevent a crash when checking the zip signature. Added wipe functions Made it compile in CM7 Made text show up in console and logging
2012-09-12Make text appear in GUI console, Zip install works.Dees_Troy3-0/+9
Move TW zip install code to C++ so that it can use the ui->functions. Bring in mincrypt code to fix a crash during signature checking.
2012-09-11Zip install works againDees_Troy2-10/+15
2012-09-10Improve storage size code, mount, unmountDees_Troy1-15/+7
Add flag parsing from recovery.fstab
2012-09-07Add processing of fstab, mounting, and decryptDees_Troy5-935/+31
2012-09-06Hax to make it bootDees_Troy6-5/+919
2012-09-05TWRP-ify AOSP codeDees_Troy497-0/+83509
Pull in most TWRP sources Stub out partition management code Make it compile -- probably will not boot Kind of a mess but have to start somewhere