summaryrefslogtreecommitdiffstats
path: root/gui (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Fix crash during check for TWRP appEthan Yonker2017-02-061-10/+10
| | | | | | Make sure that opendir succeeds before continuing. Change-Id: I3c96002ab830f4df2041044d411a7bac42a5b8f4
* Fill uid/gid for screenshots at compile timeMatt Mower2017-02-032-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
* GUI: Improve automatic determination of TW_THEMEMatt Mower2017-02-021-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
* gui: Fix Android.mk for TW_CUSTOM_THEMEnkk712017-02-021-16/+22
| | | | Change-Id: I7814e3960914ebefdc03cf9cf6f44e193efea932
* Support power key on slideoutMatt Mower2017-01-213-0/+15
| | | | Change-Id: Ic1cba57b6d0fbefee2391d06d140da9e4e3dbb32
* Whitespace cleanup in ThemesMatt Mower2017-01-213-54/+52
| | | | | | Commit 'Copy Kernel Logs' did not adhere to tab spacing. Change-Id: Ie036aa6b973e01f992199787c64b54a6ccb73a7e
* Add another license headerMatt Mower2017-01-201-0/+18
| | | | | | * Missed this one in the first sweep Change-Id: I5f2753f93ce3e9888c553de4c2e510137e818a29
* Fix detection of TWRP app in /dataEthan Yonker2017-01-181-1/+2
| | | | Change-Id: Icab9db0ceb63edba021cc190eea2ebbc87cf3442
* Merge "gui: bump theme version to 2" into android-7.1Dees Troy2017-01-1811-11/+13
|\
| * gui: bump theme version to 2that2017-01-1811-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
* | gui: Initialize button render positionMatt Mower2017-01-181-1/+1
| | | | | | | | Change-Id: I716ae0664ea454706cb940d1bfd38259da53d176
* | HardwareKeyboard: Update event loggingMatt Mower2017-01-181-4/+5
|/ | | | | | Use LOGERR(), consistent with rest of TWRP. Change-Id: I75a44d807a17aea6027830d58c37ac130fee12a7
* GUI: Mark local flip() function as staticMatt Mower2017-01-181-1/+1
| | | | Change-Id: Ib92e294872c1408cc749fdb0db3bbf56579eb070
* Move sh selection out of GUI makefileMatt Mower2017-01-181-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
* Move pigz symlinks out of GUI makefileMatt Mower2017-01-181-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
* Add missing license headersMatt Mower2017-01-1813-0/+234
| | | | Change-Id: I7f807a2f140068181524d8e868d029b4d94c70e8
* gui: Actions: Toggle backlight on power keyMatt Mower2017-01-1813-6/+69
| | | | | | Create GUIAction to handle KEY_POWER with a screen backlight toggle. Change-Id: Iad0a7923b4a776e0336722db74d6fc46cd0107a2
* SELinux can be assumed for Android 4.4+Matt Mower2017-01-181-3/+0
| | | | Change-Id: I7410a0c8e439eec90a955ee9201efd9a92bb9635
* Unused variable cleanupMatt Mower2017-01-185-15/+2
| | | | Change-Id: I2397d0bd221dcf5c9d0f971ba157519bcf014a70
* Very minor code cleanupMatt Mower2017-01-181-2/+1
| | | | Change-Id: Ie0b97da2cce7bb93307ed49b1138bc2f36df34d0
* Whitespace cleanupMatt Mower2017-01-1823-153/+157
| | | | Change-Id: I93c65973679894bb8587da4b38b410d38036b8bd
* gui: remove old unmaintained 2.x themethat2017-01-18185-13949/+4
| | | | Change-Id: I1181307989c7478ac6b84bf77732ee5dcff52ed1
* gui: Detect device resolution with TARGET_SCREEN_HEIGHT/WIDTHniks2552017-01-181-0/+3
| | | | | | | * Ease the compilation with Lineage/CM configurations when TW_THEME or DEVICE_RESOLUTION are not defined Change-Id: I35a8ce651ba5333c8426baa3d70fcbc42a2e5e59
* Support theme width and height offsetsJames Christopher Adduono2017-01-113-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
* Fix compile error on 4.4 treeEthan Yonker2017-01-111-6/+6
| | | | Change-Id: Id85fdf0f4dee02f8ee3ae50ec42423c6a154a3eb
* Update Ukraine language translation (via jemmini)Ethan Yonker2016-12-161-254/+681
| | | | Change-Id: Ice2bb6c66d47ca2da968f223dd47207159cc0b66
* Add TWRP app install via TWRP recoveryEthan Yonker2016-12-164-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
* TWRP Language UpdateMiroslav Brzychcy2016-12-151-640/+640
| | | | | | Update slovak language on behalf of translator. Change-Id: I90f289dd082aef1780d63b4880092f57c48ad9ac
* Support File Based EncryptionEthan Yonker2016-12-131-0/+1
| | | | Change-Id: Ib688ddd0c32d3999590cacd86b6d9b18eac336e9
* Add boot slot supportEthan Yonker2016-12-134-0/+96
| | | | Change-Id: I7eaf80e327985f53791f90fbdebad022a9650d31
* Support new AB OTA zipsEthan Yonker2016-12-051-1/+1
| | | | Change-Id: I1ff883375a0a769bf27a834c9bf04c6cdbb42117
* Copy Kernel Logsbigbiff bigbiff2016-12-025-32/+125
| | | | | | Give user option to copy kernel logs to current storage Change-Id: I0c61122fb34826ddb08977e6cbf98e3adf477acd
* Improve backup & wipe exclusion handlingEthan Yonker2016-11-303-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
* Fix adb shell in 7.0 treeEthan Yonker2016-11-301-0/+2
| | | | | | | busybox sh does not seem to work properly in 7.0 trees so use mksh for sh instead. Change-Id: Ia33bc3894f929b1348c8714d4ddd00a2671c7e94
* MD5 verification sanityJames Christopher Adduono2016-11-3017-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)
* Fix image flashingEthan Yonker2016-11-301-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)
* Clean up PartitionSettingsEthan Yonker2016-09-131-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
* Make it backwards compatible with 4.4Ethan Yonker2016-08-251-1/+1
| | | | Change-Id: I668604cddc8e8afbf78709f3f872bea4e9f4aa06
* Update to 7.0Ethan Yonker2016-08-241-1/+1
| | | | Change-Id: I621cc47352f7ac552d9602485825ae3a6f9ae516
* Gui: replace pow() functionnailyk2016-08-221-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
* GUI: Use standard routine for auto-rebootMatt Mower2016-08-193-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
* Fixup reboot after install variablesMatt Mower2016-08-193-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
* GUI: Add countdown & cancel to install auto-rebootMatt Mower2016-08-196-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
* Finish creating disable_free_space_check variableMatt Mower2016-08-194-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
* Optimize and reduce size of PNG filesJames Christopher Adduono2016-08-04456-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
* Remove curtainClose() remnantsMatt Mower2016-08-011-4/+0
| | | | Change-Id: I6ae96b60d34fa4e4b23cd1e5a4fffff3d00451c7
* Remove unused identifier from NotifyTouchMatt Mower2016-08-011-1/+1
| | | | | | | The 'state' parameter in GUIAction::NotifyTouch() is used in the function. Change-Id: I0744c7aa1542d771dbd2916638fbdd53e9681f86
* Move cursor after appending date to backup nameMatt Mower2016-08-011-0/+2
| | | | | | * Send the cursor to the end of the input text Change-Id: Id4f20717134cd38188cc1107f73dcd6bb995f377
* gui: fix Enter key in terminalthat2016-08-011-2/+0
| | | | | | Translating CR to LF was an old hack that breaks Enter in nano. Change-Id: If259e8b133f2f56f4126a1fb68856bf014a2daae
* ADB: Add adb backup for TWRP.bigbiff2016-08-018-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
* Improve greek translationAlex Kalles2016-04-281-19/+19
| | | | | | Some words are too big for the boxes Change-Id: I48c2361dd9c7937361c3fb63b9bd8834c57fe0e0
* Languages: Add font for JapaneseAndroPlus2016-04-282-0/+93
| | | | | | Japanese font is NotoSans which is licensed under SIL OFL. Change-Id: I6f50edbca72c7e58ce0e96aee98a0303bd1a4254
* Languages: Update Japanese translationAndroPlus2016-04-281-27/+71
| | | | Change-Id: I4ec685a9d70173c1e008beb61cdead6af5c2aae0
* Update spanish translationmagdeoz2016-04-091-228/+270
| | | | Change-Id: I4591a5fae396e7a993d4f70d80a1d1f3b2a83654
* Update hungarian translationWechy772016-04-061-0/+2
| | | | Change-Id: Iabd66596c0d1b83935c4adc4ac048f3881284269
* translate install reboot option to dutchthecrazyskull2016-04-051-0/+2
| | | | Change-Id: I23b2c44afca5c903becd201503f81766828c9304
* Greek Translation from the updated en.xmlAlex Kalles2016-04-041-0/+651
| | | | Change-Id: I5cd1b9c394c2777503e5567aaaa01210cfdb4caa
* gui: don't mix up display value with actual valueSultan Qasim Khan2016-04-042-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
* language: add 2 new strings in it.xmlSlimShadys2016-04-041-0/+2
| | | | Change-Id: I45a6a75d2b9332e523a7f61f19594c4029665ed7
* languages: add 2 new strings for RUSevenMaxs2016-04-041-1/+3
| | | | | | Added translation Reboot Option and minor fix for Russian localization. Change-Id: Ibeade0ce85ac65daf68dfd6b085a32148f66d1cb
* fix typothecrazyskull2016-04-031-1/+1
| | | | Change-Id: I65f16530565c4b510274c72227a5f1483519a677
* Merge "language: add 2 new strings to DE" into android-6.0Dees Troy2016-03-311-0/+2
|\
| * language: add 2 new strings to DEz31s1g2016-03-311-0/+2
| | | | | | | | Change-Id: Ic9d51ddb7a8e47c62399d2e3101e788994276104
* | Merge "languages: add Reboot Option translation" into android-6.0Dees Troy2016-03-311-0/+2
|\ \
| * | languages: add Reboot Option translationDaniel Sikorski2016-03-311-0/+2
| |/ | | | | | | Change-Id: I33acec5b4d0a371978bf2a6ab3beb26d0d18400f
* / HACK: fix input focus on terminalEthan Yonker2016-03-311-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
* TWRP Install Reboot Optionbigbiff2016-03-316-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
* Improve progress bar handling for backup / restore / image flashEthan Yonker2016-03-311-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
* languages: fix and improve german translationAndreas Blaesius2016-03-311-2/+2
| | | | Change-Id: I7c5a0fbb1853836cfb5a7d1dfbbeb5f5613572b7
* languages: add Polish translationdadi112016-03-311-0/+670
| | | | | | translated by @dadi11 & @linar10 Change-Id: I09a550c3ee99d44c4ada0bb7d71eb763471c7fda
* twrp: update Dutch translationsAndreas Blaesius2016-03-311-1/+555
| | | | Change-Id: Ibcad999a1276b4519fc2b104b458ee77c984dc8b
* Merge "recovery: czech translation" into android-6.0Dees Troy2016-03-311-0/+639
|\
| * recovery: czech translationAndreas Blaesius2016-03-051-0/+639
| | | | | | | | | | | | | | Uploaded on XDA from XDA-User "kodein" http://forum.xda-developers.com/showpost.php?p=65371227&postcount=1400 Change-Id: I6c3c4fe90b91a21400b11541f3895d92cc80ea1d
* | Update & Fix ru.xmlSevenMaxs2016-03-311-52/+52
| | | | | | | | | | | | Updating and minor fix of the translation for Russian localization. Change-Id: Ic68e0580a12521e71a8da926901a30a31489a079
* | recovery: update italian translationAndreas Blaesius2016-03-311-491/+491
| | | | | | | | | | | | Translated by: Death Mask Salesman Change-Id: I87f1f4417689b62c171264bfc05bf58e2ddfea03
* | gui: add italian translationDiegool2016-03-311-0/+670
| | | | | | | | Change-Id: Ia0bf0a3e1831016a0a418095356e236d55b07fe6
* | TWRP: hungarian translationWechy772016-03-311-2/+33
| | | | | | | | | | | | | | | | | | add more strings and fixes my mistakes in crowdin ps2 remove whitespace Change-Id: If79e61fba5c1b2e54be29286b23a1b418095b07c
* | Stop loading languages for the splash screenEthan Yonker2016-03-311-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
* | Stop trying to load /script/ui.xmlEthan Yonker2016-03-311-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
* | Improve input box text handlingEthan Yonker2016-03-293-329/+187
| | | | | | | | Change-Id: I79cfaac1adf85d1ee5514bf5266930823c1a15ff
* | gui: rewrite theme loading codethat2016-03-292-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
* | gui: fix font scaling for zip themesthat2016-03-172-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
* Unix file endings and remove execute permissionMatt Mower2016-02-297-3489/+3489
| | | | Change-Id: Iceaae3f7f20c3c6f23da807786b4cf4739c887c9
* Fix OEM compileEthan Yonker2016-02-191-2/+0
| | | | Change-Id: I39218f2485a2c2c95f0e400c31356bedc4973f6c
* patternpassword: update large grid password schemeSultan Qasim Khan2016-02-171-13/+23
| | | | | | CM13 and up no longer use the two method scheme. Change-Id: I21154becb5d7e77a54a5a07e649fe64829173a01
* twrp: translations: formatting and fix Turkish language fileAndreas Blaesius2016-02-056-3227/+3228
| | | | Change-Id: I3159a2a0c37589f9472aba83b699840356da33a7
* GUI: Set brightness after gr_init()Matt Mower2016-02-051-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
* More languages, some partial, from Omni crowdinEthan Yonker2016-02-057-0/+3546
| | | | Change-Id: I05d0e8516686ba2610ea4b437c83323e84eb4595
* Add font settings to some language filesEthan Yonker2016-02-053-0/+18
| | | | Change-Id: I949fe4bd99d2a4471fef3e3967980a6163943e71
* Import approved translations from crowdinAndreas Blaesius2016-02-054-0/+1999
| | | | | | | - PS2: generic xml instead android xml - PS3: formatting Change-Id: I4c552e172d670278ab2bad1897ceb89b7ee7fec2
* Fix spelling error on string nameEthan Yonker2016-02-051-1/+1
| | | | Change-Id: I06ab906ed94b1aaea35c32494880bf85d7564d4d
* gui: imrove Russian translationAlexander Agura2016-02-051-163/+162
| | | | | | | Seems that previous translator is overmind Anyway, thanx him for initial translation Change-Id: Ia98e344c24671cb60a0765e7c6dcb8aace6428fb
* gui: add german translationz31s1g2016-02-057-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>
* sort languages by display valueXuefer2016-02-032-0/+8
| | | | | Change-Id: I79d58fd680dd04161b89d42fed04a86a931defd3 Signed-off-by: Xuefer <xuefer@gmail.com>
* Add ru.xml to translation engine on behalf on jemminiMax Matviychuk2016-02-031-0/+672
| | | | Change-Id: I5d2d92f0d24228de9c63640d866e087542499d9d
* Language: Update & Fix zh_TW.xmlEve Kane2016-02-031-66/+66
| | | | | | Fix incorrect translation Again. Sync en.xml changes. Change-Id: Icc9020095f7b795758457ba5a661c22a8ef13267
* update Chinese Simplified languageXuefer2016-02-031-272/+272
| | | | | | | | 1. ws fix 2. typos 3. use double-width Chinse punct Change-Id: I561295c2e5562c59ce005459d1f178241130c6cd
* Update some string names in Chinese (Simplified)Ethan Yonker2016-02-031-19/+19
| | | | | | | sync with en.xml and update translations accordingly Change-Id: Ic67b0496145c8a450c198520d7bb667dfe31f16d Signed-off-by: Xuefer <xuefer@gmail.com>
* gui: remove unused struct translate_later_structthat2016-02-031-9/+0
| | | | Change-Id: I663f327585b4037eba62508a1f6484ca152bf3c5
* gui: fix conditions that compare with resource stringsthat2016-02-031-0/+4
| | | | | | fixes auto-generating backup name before editing the backup name. Change-Id: Ied1c07b7dbdec9fa7fc80b3345970d95ac0ed1bb
* gui: tweak storage selectionz31s1g2016-02-022-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>
* gui: fix partition list height for image flashingz31s1g2016-01-312-2/+2
| | | | | | | | list height now accomodates 4 entries Change-Id: Ib5a5e2bad408f393abbd433b5f23a5d25711ca6c Signed-off-by: z31s1g <z31s1g@googlemail.com>
* Remove execute permissions from source filesthat2016-01-2931-0/+0
| | | | Change-Id: I5deef665ab374491c0f498b498971abd525d1111
* Replace fix permissions with fix contexts for emulated storageEthan Yonker2016-01-296-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
* adds TW_ADDITIONAL_RES to TW_RESXuefer2016-01-291-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>
* add Simplified and Tranditional Chinese languageXuefer2016-01-294-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>
* Fix translation spellingssndnvaps2016-01-294-8/+8
| | | | | Change-Id: I16f71797901ed21763b52a5cf750f383a460ce4d Signed-off-by: sndnvaps <sndnvaps@gmail.com>
* gui: move "(Up A Level)" in file selector to resource stringthat2016-01-292-12/+9
| | | | | | Doing it at display time is easier. Change-Id: Ic0f2ca1f425f6267452157524a05b51d9324be16
* ifdef and comment out libjpegEthan Yonker2016-01-2710-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
* Update minuitwrp graphics in line with latest minuiEthan Yonker2016-01-2726-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
* Adopted Storage supportEthan Yonker2016-01-254-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
* gui: add icons on settings tabsz31s1g2016-01-2513-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>
* Fix bracket in watch themeEthan Yonker2016-01-251-1/+1
| | | | Change-Id: Ic30b56840f32215c2f171e043c99e679d33957fd
* gui: use XML-based page for splash screen instead of a static jpgthat2016-01-2523-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
* Update mStartPage to make language selection work on other pagesEthan Yonker2016-01-233-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
* gui: add language selection to several pagesz31s1g2016-01-234-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>
* Fix (Auto Generate) handling for backup namesEthan Yonker2016-01-222-5/+6
| | | | Change-Id: I29f3823d03c005fb55a0e0a98818d40bd1eb039d
* gui: language EN fixesz31s1g2016-01-221-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>
* Android 6.0 needs permission +x to create screenshot filesXuefer2016-01-221-1/+1
| | | | | Change-Id: Id4a6c04712238b86787696337874239591082d39 Signed-off-by: Xuefer <xuefer@gmail.com>
* Improve max brightness handlingTatsuyuki Ishi2016-01-221-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
* Fix a bunch of messagesMatt Mower2016-01-226-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
* Ensure that a base language is loaded before custom themeEthan Yonker2016-01-212-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
* gui: fix return value of NotifyKeythat2016-01-192-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
* gui: make tw_show_kb non-persistentz31s1g2016-01-185-6/+5
| | | | | Change-Id: Icb3dd2342cc3bdc349aaf933d306b9f5315d1e98 Signed-off-by: z31s1g <z31s1g@googlemail.com>
* Make listbox translation workEthan Yonker2016-01-182-2/+11
| | | | Change-Id: I446f4499a43e6348a2b95846f3e5ea86967abbdc
* Delete leading spaces after word wrapping in consolethat2016-01-181-0/+3
| | | | Change-Id: I11887ebc1a3afd8f9acb1e85a212e2fe6299441c
* Do not require mounting during zip flashing if path existsEthan Yonker2016-01-181-2/+9
| | | | Change-Id: Ideb4bb39b5e864a43b62e807c38b6395c56a8466
* Add theme version checkingEthan Yonker2016-01-167-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
* Improve sdcard partitioning processEthan Yonker2016-01-145-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
* gui: theme changes for terminalz31s1g2016-01-1353-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
* gui: reap terminal child process to avoid zombiesthat2016-01-111-10/+21
| | | | Change-Id: Ia46d8acb8b13075a2519df1deb91dd30a5969a48
* gui: add terminal emulatorthat2016-01-075-0/+949
| | | | | | Emulates enough of a VT-100 to run busybox vi. Change-Id: I99c829c6c9de2246194ecb8b8b3cdf4ac34a0606
* gui: add keyboard support for Ctrl layer and more special keysthat2016-01-077-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
* Fix translation spellingsEthan Yonker2016-01-054-11/+12
| | | | Change-Id: I3fc40c61d78cf017c6753ddd9520aa2ef2e853fc
* gui: Fix partition repair messageGreg Wallace2016-01-042-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
* gui: Fix typo of formatting_using messageGreg Wallace2016-01-042-2/+2
| | | | Change-Id: I6df4937658815350366ed3dd2cf92156f98c96c4
* gui: PatternPassword: allow any N*N gridAleksa Sarai2016-01-0221-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>
* twrp: fix a typo and remove whitespaceAndreas Blaesius2015-12-291-2/+2
| | | | Change-Id: I783e2bbc15ad8e10aab81d14d140a995681e860f
* gui: fix screenshot_saved messagethat2015-12-292-1/+2
| | | | Change-Id: I7d047fe3436100dbe7c7515860a143a97f7ef0d4
* get rid of console thread for OpenRecoveryScriptthat2015-12-296-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
* do not include stlport headers unless link to itXing2015-12-231-1/+5
| | | | Change-Id: I8344d270ddb601694b5fef0fa7b22ea437030728
* Set twrp.action_complete after completing actionLuK13372015-12-231-0/+2
| | | | Change-Id: I078f0659696cc57564b5db0076a0ed9aaea822d4
* exfat: Build fsck and update path to mkfsMatt Mower2015-12-221-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
* Improve string resource lookup in twmsgEthan Yonker2015-12-211-15/+19
| | | | Change-Id: Iaac7d3df0bd12a4d817d4ad273254662865b775a
* twmsg: fix notfound detectionEthan Yonker2015-12-211-1/+1
| | | | Change-Id: Ie95fdfaed7011994ac11202d070edeb95032b805
* twmsg: fix build error (isdigit not declared)that2015-12-201-0/+1
| | | | Change-Id: I3101d15e5d94241cf8e583d1e06e09f3bc8b31f7
* Multiple Language SupportEthan Yonker2015-12-1927-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
* gui: stock theme reworkz31s1g2015-12-19244-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
* Update dosfstoolsMatt Mower2015-11-261-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
* Move reloading of theme outside of the action threadEthan Yonker2015-11-094-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
* Fix bution action position when using textplacement TEXT_ONLY_RIGHTEthan Yonker2015-11-061-1/+4
| | | | | | | This makes the touch target include both the text and the image for buttons masquerading as a check box. Change-Id: If8432c5863de136b1a215dabb3e06109ccce4410
* Treat /vendor like /system for read onlyEthan Yonker2015-11-051-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
* gui: fix default styles if object type is in element namethat2015-11-051-8/+8
| | | | Change-Id: I4bc46d1772fee2ec77d95732fa3f69c267c2c34e
* gui: fix initial state of checkboxes in listboxthat2015-11-051-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
* Fix screen timeout text placementEthan Yonker2015-10-273-6/+6
| | | | Change-Id: I7b020c7048f9bbb550e9f5100c604c01809e4fbd
* GUI TextBoxEthan Yonker2015-10-266-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
* Fix a bunch of warningsEthan Yonker2015-10-259-54/+54
| | | | | | Mostly adding __unused where needed. Change-Id: Ia4f675b9b360782728c361ed1699db0cc277c3a5
* Allow text to scale to fitEthan Yonker2015-10-1614-69/+97
| | | | Change-Id: Iacd4bb78f551b51d092ecde09521b5541e7dadcd
* gui: support conditions for listbox itemsthat2015-10-162-66/+71
| | | | Change-Id: Iea189ac53ec3d7c1bea83da7b77684778b1c0f46
* gui: extract methods for condition list handlingthat2015-10-162-27/+21
| | | | | | This is a preparation for list item conditions. Change-Id: Iec731d1986a53b0362c534adf504dfe8db87d3f0
* Allow listbox to have a list of check boxesEthan Yonker2015-10-162-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
* Use unified LoadFileToBuffer functionEthan Yonker2015-10-162-79/+81
| | | | | | | Create a single function for loading xml files to a memory buffer to reduce code duplication. Change-Id: I0ff64463072118f61a2eb8052f74019715020253
* Remove support for non-TTF fontsEthan Yonker2015-10-1532-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
* Unicode for temperatureKetut Putu Kumajaya2015-10-155-5/+5
| | | | Change-Id: Ie86dc63f83ae51e9947debc7191fd91d61b83008
* Merge up to AOSP marshmallow-releaseEthan Yonker2015-10-092-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to maintain compatibility with older trees, we now have minadbd.old and minui.old. I had to use a TARGET_GLOBAL_CFLAG to handle ifdef issues in minui/minui.d because healthd includes minui/minui.h and there was no other alternative to make minui.h compatible with older trees without having to modify healthd rules which is outside of TWRP. Note that the new minui does not currently have support for qcom overlay graphics. Support for this graphics mode will likely be added in a later patch set. If you are building in a 6.0 tree and have a device that needs qcom overlay graphics, be warned, as off mode charging may not work properly. A dead battery in this case could potentially brick your device if it is unable to charge as healthd handles charging duties. Update rules for building toolbox and add rules for making toybox Use permissive.sh in init.rc which will follow symlinks so we do not have to worry about what binary is supplying the setenforce functionality (toolbox, toybox, or busybox). Fix a few warnings in the main recovery binary source code. Fix a few includes that were missing that prevented compiling in 6.0 Change-Id: Ia67aa2107d260883da5e365475a19bea538e8b97
* ORS: Report success if AOSP script succeedsMatt Mower2015-08-091-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
* gui: support new theme directory structurethat2015-07-271-10/+26
| | | | Change-Id: I8622da5ae321ba69a55b38e2f0b878b7ec149d02
* Really fix background color on 480x800 themeEthan Yonker2015-07-221-0/+2
| | | | Change-Id: I70324ae3e4fffe88bc2b5a02becb7d1f4f0ceab0
* Make system read only show no matter what on first TWRP bootEthan Yonker2015-07-143-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
* gui: allow listbox to be used as menu and as read-only listthat2015-07-142-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
* gui: keyboard: support longpress label offset, code cleanupthat2015-07-142-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
* Fix minor background bug in 480x800 xmlEthan Yonker2015-07-131-2/+0
| | | | Change-Id: Ib67a356f8d5e6bb0f982c081fc88b6462c7fbd74
* gui: allow specifying object type in element namethat2015-07-132-27/+19
| | | | | | | | e.g. '<button ...>' instead of '<object type="button" ...>' Also get rid of default parameters to make things more explicit. Change-Id: Ie4d1231b725aeb6cbf0041622c9780c86cf8e1c1
* [WIP] gui: software drawn keyboard (code only)that2015-06-202-13/+184
| | | | Change-Id: I9f05c85f8d43ab012228a78b79220a27876a299d
* Make sure that adbd restarts after sideloadDees Troy2015-06-171-1/+1
| | | | Change-Id: I7d82b95cd8749c6f8569739162708705faa6f1f7
* Fix ORS scripts displaying an error after completingEthan Yonker2015-06-171-2/+5
| | | | Change-Id: I1329705fca870b4e3017607ad7c7875aa00d664b
* gui: set tw_file to the currently flashed file name without paththat2015-06-011-3/+7
| | | | | | To allow themes to show more of the file name on narrow displays. Change-Id: I4962eed5e4a01f73a3cde126f2ba56428209fccc
* gui: move retainaspect handling to the resource ctorsthat2015-06-012-14/+10
| | | | | | | LoadResources should only decide on the resource type, everything else is handled by the resources themselves. Change-Id: I30f68293960c23560979f650efc4393992cf5824
* Fix unable to uncheck the mount read only check boxEthan Yonker2015-05-304-37/+28
| | | | Change-Id: I1bbc25df6f35f79549f1eb06feb4db9ec0475aa5
* remove useless memset and \nXuefer2015-05-291-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
* Add resize2fs and ability to run resize2fs via GUIEthan Yonker2015-05-285-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
* Mount system as read-only by defaultEthan Yonker2015-05-278-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
* GUI: Prevent duplicate page overlaysMatt Mower2015-05-181-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
* gui: add DST rules to time zones for USA and Europethat2015-03-253-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
* Allow multiple overlaysEthan Yonker2015-03-193-20/+52
| | | | | | This effectively allows us to support popup dialogs and the like. Change-Id: Iafb3fa60ed635287cb59dce118f74dc8f2a4e60a
* Fix non-working "Do Not Install" button on "installsu" page.codelover2015-03-191-1/+1
| | | | | | | * Applicable to non-rooted devices running portrait mode only. * Touching the button has no effect, supposed to reboot/poweroff. Change-Id: If67649c4c83ddf549c833f94c66829e0877969c5
* Fix GUIPatternPassword when the pattern crosses already visited dotsVojtech Bocek2015-03-191-8/+13
| | | | Change-Id: I59b3f8c5604c036dbc74c020ee21aeeef28132d3 Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
* gui: keyboard: introduce struct Layout and simplify caps handlingthat2015-03-152-78/+71
| | | | | | | | Also minor cleanups: - move array limits from #defines to a protected enum - zero fill layouts in ctor Change-Id: I8fe0f8465ebc646ad3bf3cc3f8490dbdd384f43d
* gui: keyboard: add HitTestKey method, minor simplificationsthat2015-03-142-121/+107
| | | | Change-Id: I6cd0251dd9d933e6ebef977a553be7473e2d7034
* gui: fix 1920x1200 keyboard "_", ":", "!" and "?"that2015-03-141-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
* gui: keyboard doesn't need its own actionthat2015-03-142-29/+2
| | | | | | | This was questionable design and is unused anyway. Also reduced a few redundant #includes. Change-Id: I65bb01120e6072c5695755920242f6f9d73c816e
* Add UI for entering pattern for device decryptionVojtech Bocek2015-03-1312-1/+534
| | | | | Change-Id: Ia2d3268a96423e9ca3846500c57e674c4f8fa60b Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
* Allow touch to use a key code to sync touch eventsEthan Yonker2015-03-132-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
* GUI: Add monospace TTFMatt Mower2015-03-136-0/+5
| | | | Change-Id: I287722719c1f73cc8f7214549f9a890f03d4a586
* Reduce themes to 5 and rely on scalingEthan Yonker2015-03-13533-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
* gui: support string resourcesthat2015-03-115-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
* gui: allow specifying resource type in element namethat2015-03-111-8/+8
| | | | | | e.g. '<image ...>' instead of '<resource type="image" ...>' Change-Id: I5ce04ae0845351c8a4640d12e36f1aaf32e1ebc9
* gui: type safe resources part 2that2015-03-114-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
* gui: make scroll bars smaller and transparentthat2015-03-0619-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
* gui: kinetic scrolling for consolethat2015-03-057-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
* gui: introduce virtual RenderItem method in ScrollListthat2015-03-055-80/+83
| | | | | | | | - so derived lists can draw whatever they want (multi-line etc.) - replace GetListItem with RenderItem - minor cleanup Change-Id: I062e0a354f1c18ce0a5232b7542c4987b480e232
* minuitwrp: fix crash issue, when the console use TTF font to display unicode font.xiaolu2015-03-051-2/+1
| | | | | | gui: fix terminal command unusual line breaks and missing characters at the end of a read buf. Change-Id: I8d3d740b6066b1594c5148b2012f0e7bcbecc22b
* GUI: Terminal command: minor improvementsMatt Mower2015-03-054-0/+7
| | | | | | | * Use mono font for terminal command input * Recognize 'exit' command (go to main page) Change-Id: I5f383cd8d19959a49d2ae0b18f839b86e4145693
* GUI: Use valid XML syntaxMatt Mower2015-03-0522-128/+128
| | | | | | | | | | | | | Safer handling: & --> &amp; > --> &gt; < --> &lt; Broken tags: </function> --> </action> <folders="1"...> --> <filter folders="1"...> Change-Id: Iaddaf9db163e08250cb4deefdfdb814c589ccb47
* GUI: Restore text input field for restore decryptMatt Mower2015-02-251-0/+1
| | | | | | | The portrait placement was mistakenly removed in commit I6e314efb4bb454d496555ff7e003d743063a1308 Change-Id: Ida5f908e61df0f99e0f5327c298e6a1a915d0f66
* gui: fix missing icons in fileselectorthat2015-02-231-6/+6
| | | | | | Style support was missing. Change-Id: I9a9a8c6a42e2a3d0dcdee871a639c9842a2ff668
* Theme: Add ability to disable size checking before backupbigbiff2015-02-2313-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
* gui: don't truncate values to 0 after scalingthat2015-02-233-4/+8
| | | | | | Avoids invisible lines (e.g. input cursor) when scaling down. Change-Id: I595e8bdb2fa468c30f104867ad77be2423ec287f
* Fix reboot system on watch themeEthan Yonker2015-02-231-1/+1
| | | | Change-Id: I008664109360d937a31232c8cc15c7c9d3dd0ba5
* gui: proportional scrollbarsthat2015-02-212-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
* GUI: Support styles in xml to reduce xml file sizeEthan Yonker2015-02-2125-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
* gui: make kinetic scrolling deceleration more awesomethat2015-02-151-8/+10
| | | | Change-Id: Ia674676c847e429c41ddbe6de3e1778c3d5c8302
* gui: support scrollable lists without headersthat2015-02-152-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
* gui: make resources type safethat2015-02-1521-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
* Retain and display previous selection for image flashingEthan Yonker2015-02-152-7/+7
| | | | Change-Id: Ib9963d8d393cf4428e43a3d6552d98ae67c1d7bf
* gui: fix condition handling for liststhat2015-02-133-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
* Scale the GUI to fit the screenEthan Yonker2015-02-1032-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
* Remove deletes for images from scroll list GUI ElementsEthan Yonker2015-02-106-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
* gui: avoid high CPU usage while waiting for inputthat2015-02-092-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
* Reset data manager variables before running runPagesEthan Yonker2015-02-091-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
* gui: fix console lockup when scrollingthat2015-02-062-17/+17
| | | | | | Apparently fixing all the signed/unsigned warnings was good. :) Change-Id: I62faa23179e8b2436fe0d24d2152af341cd42fe9
* gui: make kinetic scrolling more naturalthat2015-02-061-2/+2
| | | | | | | Speeding up scrolling after releasing is distracting, get rid of it. Instead reduce friction to its previous value. Change-Id: I5c99cc71b631747697e967bd75669aa3d908c637
* Unify scrollable list codeEthan Yonker2015-02-056-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
* Disable stock recovery replacing TWRP during ORSEthan Yonker2015-02-021-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
* gui: simplify code in GUIKeyboardthat2015-02-012-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
* gui: fix potential invalid memory accessthat2015-02-011-5/+1
| | | | | | A single char should never be treated as a string. Change-Id: I5f8459495f7d0f907ac7c0ae6dd73a3428d92d23
* gui: fix hardware keyboardthat2015-02-013-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
* gui: fix lag (and event logging)that2015-02-011-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
* gui: run cancel action in another threadthat2015-01-302-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
* gui: move input handling into a classthat2015-01-302-221/+244
| | | | Change-Id: I97e08a23369af0112875af84b3fb529cf42e929e
* Move input handling into the main threadEthan Yonker2015-01-302-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
* gui: fix IsInRegionthat2015-01-292-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
* Use macro to add actions to the action mapVojtech Bocek2015-01-291-56/+58
| | | | | | Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: I283b33087817eb87dae916a3183a9024dd35effd
* Use TWAtomicInt in gui.cpp to make it thread safeEthan Yonker2015-01-271-35/+23
| | | | Change-Id: If05202355d3773e73541288c922fa6c69b1a9ad7
* Add cancel backup capability.bigbiff2015-01-276-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
* Use /twres instead of /res for theme resourcesDees Troy2015-01-225-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
* Hide some non critical error messagesEthan Yonker2015-01-221-1/+1
| | | | Change-Id: I6e43242e44ce63cea9472c75a9f7fedf1b34fbbe
* Move ORS command line into main threadEthan Yonker2015-01-222-140/+111
| | | | | | | Also eliminate the mostly similar runPage function in favor of using a single runPages function to avoid code duplication. Change-Id: I46ef414beb4009fee16d4de13d8a5ab2b9678409
* gui: clean up error handling in resource managerthat2015-01-181-61/+24
| | | | Change-Id: Ib94e661ab0c608deb2d119168709c85a9a44b2fa
* Fix handling of custom themes after decryptEthan Yonker2015-01-133-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
* Fix some crashes during theme (re)loadingVojtech Bocek2015-01-123-15/+29
| | | | | Change-Id: I01405fbe86a48ae79f2cbe633b89f2dcfb1ef266 Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
* Fix some actions being incorrectly threadedVojtech Bocek2015-01-121-1/+1
| | | | | Change-Id: Ic8406344994ef2a9972207f9281b52e64e22826b Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
* gui: simplify blanktimerthat2015-01-117-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
* Allow for X and Y offsets in GUIEthan Yonker2015-01-096-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
* Merge "Use power button to go back in watch themes" into android-5.0Dees Troy2015-01-093-3/+3
|\
| * Use power button to go back in watch themesVojtech Bocek2015-01-093-3/+3
| | | | | | | | | | Change-Id: I1463a0ba62a23c68c15f05e79a99fa8509314373 Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
* | Improve GUI handling of zip flashingEthan Yonker2015-01-092-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
* | Allow flashing of images via the GUIEthan Yonker2015-01-0925-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
* | gui: fix action threading if background thread is busythat2015-01-092-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
* Run some actions in a separate threadthat2015-01-092-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>
* Thread openrecoveryscript action to properly display action pageEthan Yonker2015-01-052-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
* fix adb sideloadthat2015-01-042-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
* Fix GUIAction::operation_startEthan Yonker2015-01-031-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
* gui: remove dead build flag TWRP_SIMULATE_ACTIONSthat2015-01-011-6/+0
| | | | | | isn't used by the code, can be set via datamanager instead. Change-Id: I3d98c85c91ce41f32de90345715f2f456f628419
* gui: Move action functions to function pointer map.that2014-12-302-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
* gui: fix DEVICE_RESOLUTION warnings in Android.mkthat2014-12-291-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
* fixPermissions: simplify code, fix bugsthat2014-12-223-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
* Allow non datamedia devices to wipe encryptionEthan Yonker2014-12-213-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
* MTP add/remove storage instead of disabling MTPEthan Yonker2014-12-192-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
* Toggle MTP during ADB sideloadEthan Yonker2014-12-181-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
* Fix adb sideload page on 1440x2560 layoutEthan Yonker2014-12-181-2/+2
| | | Change-Id: If79086b0128e57087fd87f07d56984eb2a15d8b2
* Improve resource error loggingEthan Yonker2014-12-121-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
* Attempt to set the proper uid/gid/contexts on new files and dirsEthan Yonker2014-12-122-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
* make header layout more readable for 1440x2560bigbiff2014-12-101-2/+2
| | | | Change-Id: I109c7ae5963b5b4d9d1a8190e364a7685c41dbdd
* Use one mizip for allEthan Yonker2014-12-107-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
* Fix slidervalue not showing up in some casesEthan Yonker2014-12-091-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
* bootable recovery: we upgraded to 5.0.1erikcas2014-12-031-1/+1
| | | | Change-Id: I9e2f359dd7274e1ae885f6a3b392d5ab5ca99ac9
* Make the android-5.0 branch compile in 4.4 to 4.1Ethan Yonker2014-12-022-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
* Thanks to _that, return null if vector is emptybigbiff2014-11-162-3/+2
| | | | Change-Id: Idc44455dd0c971c876ae283528c4367a82e145bd
* Make TWRP compile for arm64Ethan Yonker2014-11-121-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
* update theme thanks to Alexey71 on xda.bigbiff2014-11-121-30/+30
| | | | Change-Id: Id5a0d40d05b0d7e56fb3e8f0578c201957508b70
* Make custom themes work againEthan Yonker2014-11-082-4/+25
| | | | Change-Id: Ib9ad011428603979f7dd8a2708989feb9b13e075
* Update adb sideload featureEthan Yonker2014-11-081-22/+36
| | | | Change-Id: Ib503d0e87434e1a28430779302d6565211c26592
* Fix zip installEthan Yonker2014-11-071-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
* Disable custom theme and fix png loadingEthan Yonker2014-11-071-1/+1
| | | | | | | We will have to update the zip handling later. Now at least TWRP boots up to the GUI. Change-Id: I4182896eb095cab52fb0f1c9c20b6605e35677b9
* Fix crash when rapid firing command line commandsEthan Yonker2014-10-221-0/+4
| | | | Change-Id: I0caaa51720fe3608b8c4cb02f046afb3cbaa54f9
* gui: Disable unnecessary checks if TW_CUSTOM_THEME is definedHandyMenny2014-10-201-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
* Fix placement of Android Secure and SD-EXT on wipe pageCaptain Throwback2014-10-203-31/+31
| | | | Change-Id: Iac1c13b38df2ac66106abcda7c9d171a1549b65f
* Update reference to 24-hour clockCaptain Throwback2014-10-143-3/+3
| | | | Change-Id: Ic864fae4fda9707fc84d6d8b33587863b7664e1e
* display cpu temperature in twrpJenkins2014-10-1419-21/+192
| | | | | | | use TW_NO_CPU_TEMP := true to disable display use TW_CPU_CUSTOM_PATH := path to set custom path Change-Id: Id260ecbb4ec36a78442387329944f67003d0f6a0
* Add support for TrueType fontsVojtech Bocek2014-10-1430-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>
* performance profile supportTom Hite2014-10-081-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
* Attempt to automatically identify data/media devicesEthan Yonker2014-09-201-6/+0
| | | | Change-Id: Ia3007fbced9ce3bc94efdb3dacc582a5e68a49a4
* Build block TWRP with RECOVERY_VARIANTMatt Mower2014-09-031-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
* Refresh partition details after changing file systemDees Troy2014-09-033-18/+78
| | | | Change-Id: I24f3c8587f778c4f0ef43737243c8378a3fd0e00
* add mtp responder to TWRP.bigbiff bigbiff2014-09-035-2/+120
| | | | | | Big thanks to Dees_Troy for helping with the implementation. Change-Id: I6c9c522b9c9de5dc139e2ecb0141008182ba07f0
* Support reading since_epoch and secondary brightness filesxNUTx2014-08-106-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
* Add command line capabilitiesEthan Yonker2014-08-095-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
* Add possibility to use images as background or handle of slidevalueVojtech Bocek2014-08-072-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>
* update 1440x2560 keyboard mappingbigbiff bigbiff2014-08-071-16/+16
| | | | Change-Id: I9777e92ca26967d41625e726383ae6aa5406161d
* Allow using variables and addition/subtraction in variablesEthan Yonker2014-08-072-18/+44
| | | | Change-Id: I1acba95302e414e1a471d27474508a7c48df0328
* Add 280x280 themeEthan Yonker2014-08-0435-1/+407
| | | | Change-Id: Iea2fac2f1b300c312819ea2d83e1762669d357b6
* Minor tweaks to watch ui.xml filesEthan Yonker2014-07-302-8/+5
| | | | Change-Id: I9448eed41e43c4fce575b7ed12b5270a1d75f99b
* Add 320x320 theme and split out watch.xml for square watch layoutEthan Yonker2014-07-3037-3836/+4252
| | | | Change-Id: I7fe38b20913a981942105637a527a2d26ed035a5
* Update 240x240 themeEthan Yonker2014-07-292-243/+647
| | | | Change-Id: I1a50fa0bb750b229220c217d24253b65f24d2920
* add 1440x2560 theme to TWRPbig biff2014-07-2937-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
* Revert "add 1440x2560 theme to TWRP"Dees Troy2014-07-2938-422/+3
| | | | | | This reverts commit c45181db0902762fb670b56a173db7c331e564cb. Change-Id: I9dfb2733d9eb30c32bc1e307e382ee8e4e47a0b6
* add 1440x2560 theme to TWRPbigbiff bigbiff2014-07-2838-3/+422
| | | | Change-Id: I9e54d2bcfe89e1e0e3205ce2f4156cfd22dca5b5
* Allow ui.xml to include additional xml files to readEthan Yonker2014-07-2822-58184/+7988
| | | | | | | Use common portrait and landscape xml files based on resolution defined by the device. Change-Id: Iec528f9d846d49857ff98de1ac201e25dbb60339
* Implement "take a screenshot" featureVojtech Bocek2014-07-0916-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>
* Track backup and restore progressEthan Yonker2014-07-0915-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
* Color in the consoleEthan Yonker2014-07-0919-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
* Refresh after partition changesjrior0012014-07-071-2/+2
| | | | Change-Id: Id16c84f815b1c4b8e95da142648a5a759116ee6e
* GUI: Add -fno-strict-aliasing to GUI for VanirMotorhead19912014-06-301-0/+2
| | | | Change-Id: Id772737d2856698861686671152f14bad800cd5c
* Whitespace and minor code cleanupMatt Mower2014-06-0452-2096/+144
| | | | | | This is by no means comprehensive, but is quite a bit better already. Change-Id: Ibc8654a5dfb0eec39cbd0b64bdb52bb4fbfe2f7e
* Add options to repair or change file systemEthan Yonker2014-06-0416-41/+5213
| | | | Change-Id: I9043e98e1e1ed4722f05c13a60b43d2d0bf739f6
* Make blank timer read brightness path from data managerEthan Yonker2014-04-162-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
* Add support for actions triggered by key combinationVojtech Bocek2014-04-166-47/+116
| | | | | Change-Id: I9dfa7de40229f00412d63fc9c1eb3a809a6eb2e6 Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
* Support alternative .android_secure locationMatt Mower2014-04-1617-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
* Allow device files to specify a custom themeEthan Yonker2014-04-151-3/+8
| | | | Change-Id: I360f93e70c6a48eed502a5aacd6d8d654ca7b570
* Improve handling of shell symlink in recovery ramdiskEthan Yonker2014-04-151-11/+6
| | | | Change-Id: I06351f8ecdfe5b119bbae0d6800258adef844c66
* Fix touch on Sprint HTC One m8Dees Troy2014-04-151-8/+10
| | | | Change-Id: Ia9fba3be16a33b3cb0c4a3458398a2e60ba7f001
* Add option to build TWRP with toolbox instead of busyboxEthan Yonker2014-04-041-0/+11
| | | | | | | Makes a smaller TWRP Uses mksh for shell Change-Id: If78d7745dda8919fcb2e9c9b60c6696063c14114
* Allow building of an OEM friendly TWRPEthan Yonker2014-04-043-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
* Refresh page after updating partition sizesMatt Mower2014-04-0216-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
* Convert 1600x2560 ui.xml to unix line endingsMatt Mower2014-04-021-3928/+3929
| | | | Change-Id: I98dd6b25cbb1616f6032e9dcb4174461add53498
* add 1600x2560 to TWRP. Thanks to nrage123 and Gunthermic for creatingbigbiff bigbiff2014-03-2435-0/+3928
| | | | | | the theme. Change-Id: If633af291689b2ac686c41331bb9adac34c425ad
* Fix incorrect alignment of Restore Defaults button in some themesKra1o52014-03-108-64/+64
| | | | Change-Id: I11bd9fea2a900a92794c5c297846eb87265eeee7
* Remove size parameter from substr callEthan Yonker2014-03-071-1/+1
| | | | Change-Id: I2745bcf8f242fe4a1992aa547efaccf33db0fb5b
* Fix "\n\n" string in gui_print(), remove unused gui_print_overwrite()Vojtech Bocek2014-03-062-47/+8
| | | | | Change-Id: Ib23354a706013c8cee6665c720fa3b890f3fb3de Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
* Merge "Tweak 240x240 theme" into android-4.4Dees Troy2014-03-061-4/+6
|\
| * Tweak 240x240 themeDees Troy2014-03-061-4/+6
| | | | | | | | Change-Id: I0801d29aeb66678157123e3630b09a2b527ad4df
* | Fix wordwrap in console eating last char if str.size() == max_line_lenVojtech Bocek2014-03-041-1/+1
|/ | | | | Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: I4a23cd78bd63d63f4d6ec8f34dcc6eced824123b
* Merge "Allow sideloading from /tmp" into android-4.4Ethan Yonker2014-02-261-4/+5
|\
| * Allow sideloading from /tmpEthan Yonker2014-02-261-4/+5
| | | | | | | | Change-Id: I7ba9a8a496536ed55241e45e18297bd824d7e28c
* | Add word wrap to console output and fix scrolling in consoleDees Troy2014-02-262-42/+52
|/ | | | Change-Id: Ibcf89952ee1391350c715f1ec82cf0cdb9b0ca7d
* Merge "Remove some unneeded code" into android-4.4Ethan Yonker2014-02-252-83/+8
|\
| * Remove some unneeded codeEthan Yonker2014-02-162-83/+8
| | | | | | | | Change-Id: I52b34a316950e92a3aa4c1675475fca8dc08d2c8
* | Add capslock support to keyboardEthan Yonker2014-02-1716-17/+112
|/ | | | Change-Id: I4be3849ff0485536575395d798aa5edbe12651a7
* Cache results of GUIObject::isConditionTrue()Vojtech Bocek2014-02-1211-44/+65
| | | | | | Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: Ia50f7c365b2dc0a65ee046bb42972e3594264878
* Properly delete all GUIObjects and pages on theme reloadVojtech Bocek2014-02-124-7/+31
| | | | | | Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: I8df41877f8f4439a434becfd47a9914b50649b34
* Conditional -> GUIObject and make all gui objects children of GUIObjectVojtech Bocek2014-02-1219-42/+119
| | | | | | Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: Ic0a7d6354dabe5919b83942f2f1aa0715625e522
* Add vibrations to Checkbox, Fileselect, Listbox and PartitionlistVojtech Bocek2014-02-084-0/+10
| | | | | | Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: I7b0e27930857add1ac88671a71310bea56fc4e74
* Merge "Add option to print render time of each frame to log file" into android-4.4Dees Troy2014-02-071-0/+27
|\
| * Add option to print render time of each frame to log fileVojtech Bocek2014-02-061-0/+27
| | | | | | | | | | | | Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: Id158a6375fbadf4cdf0a8c7d143759e602419e7f
* | Implement mouse cursorVojtech Bocek2014-02-0734-4/+384
| | | | | | | | | | | | Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: I66d6db7b3ed9cca50b469d125b36224332e06913
* | Expansion of vibrate optionsEthan Yonker2014-02-0718-51/+783
| | | | | | | | | | | | | | Improve location / timing of vibration Split out vibrate settings for buttons, keyboard, and long actions Change-Id: I282825cc5f3e44ed6dcabe65dc1f4cb21b407b67
* | Add haptic feedbackSamer Diab (S.a.M.e.R_d)2014-02-066-1/+55
|/ | | | Change-Id: I15d723f73c0b0bb4a40645d1c3f4c1c616f36998
* Don't switch between fast and normal scroll during drag in listviewsVojtech Bocek2014-01-292-4/+12
| | | | | | Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: I925adda7f417c6e578f501babc8ef2bec638f66b
* Force GUI render after setting brightnessMatt Mower2014-01-211-0/+1
| | | | Change-Id: I4470a3a090d10f400575d45338a8349fbee8a027
* Initial 240x240 thememasteroftime2014-01-1534-0/+3821
| | | | Change-Id: I478f172e1a549b50ebe29cf9a8b8618a84b3cb17
* Fix white point on top-bar images in some themesKra1o52014-01-143-0/+0
| | | | Change-Id: Ic6a0b4b3e41818ff510ca652d5f14bdecd531826
* Add support for persistent variables in theme's <variables> sectionVojtech Bocek2013-12-071-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
* Fix render issue when button has conditionalDees Troy2013-11-291-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
* Update partition sizes after sideloadDees Troy2013-11-261-0/+1
| | | | Change-Id: I4dbb4677f1c3bcfa0b0a9248ae0b411c155f927e
* Add check for making sure theme exists for devicebigbiff bigbiff2013-11-161-1/+9
| | | | Change-Id: I9b178cebbb2834cd0c86088c8e78678f55d14e62
* Add warning if DEVICE_RESOLUTION is not set in BoardConfig.mkbigbiff bigbiff2013-11-161-0/+8
| | | | Change-Id: Ifc71c2e2078dbcd4b4893205bea9988e1e129f83
* Update licenses to all matchDees Troy2013-10-226-49/+85
|
* Add conditions support to GUIImageVojtech Bocek2013-10-112-2/+5
| | | | Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
* Add 1200x1920 themeVojtech Bocek2013-09-1234-0/+3862
| | | | | | Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: I558c988c94f750607f58aa3dd22736447c78a214
* Add TWFunc::Exec_Cmd() with no 'result' agrumentVojtech Bocek2013-09-121-14/+10
| | | | | | Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: Id8acff1ac9b3c7e4b562c80562a8ff42a1d132b9
* Make fixing su perms automaticDees Troy2013-09-1214-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
* Pull ROM info from build.prop for backup namesDees Troy2013-09-1216-101/+237
| | | | Change-Id: I7847fca22b5d4f0a35da41625b15bd677a1e9768
* Kang in older minzip for building in CM9 & CM7Dees Troy2013-09-106-1/+29
| | | | CM7 and CM9 do not have libselinux needed in the newer minzip.
* Fix backup list height on 1080x1920Dees_Troy2013-08-301-1/+1
|
* Add a TW_NO_TIMEOUT optionRicardo Gomez2013-08-2517-2/+84
| | | | Change-Id: Ifb3a5bd9f1e6c2e9810c90b0aec198e91d5956fc
* Unify indentation and little clean-up in TWRP filesVojtech Bocek2013-08-2423-3294/+3327
| | | | Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
* Add ability to run scripts after screen timeout/wakeDees_Troy2013-08-241-0/+2
|
* Revert "Fix touch not working due to gr_fb_width returning 0 in some cases"Dees_Troy2013-08-241-3/+1
| | | | | This reverts commit 70e1129612765b14e5aace0155d4683c91cde951. No longer needed after http://review.teamw.in/#/c/655/
* Remove graphics.c from libguitwrpDees_Troy2013-08-221-2/+2
|
* Fix touch not working due to gr_fb_width returning 0 in some casesDees_Troy2013-08-111-1/+3
| | | | Change-Id: Id5ce607a181110118ebc647fc07d387a7a3dc660
* Fix background image for 1920x1200Dees_Troy2013-07-061-0/+0
|
* Update themesDees_Troy2013-07-0544-162/+180
| | | | Change-Id: Iedb50aca0132259bfe4297e187dbc2d40a38a34b
* Merge changes I0d9133d6,I10355093 into twrp2.5Dees Troy2013-07-014-0/+15
|\ | | | | | | | | | | * changes: Do not render the GUI when the blanktimer turns off the display. Console Render Bug caused by touch drag event
| * Do not render the GUI when the blanktimer turns off the display.gordon13372013-06-083-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.
| * Console Render Bug caused by touch drag eventgordon13372013-06-081-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.
* | Fix some issues with wipe partition listDees_Troy2013-07-011-0/+7
| | | | | | | | Change-Id: Ie7d5878faf86b8fa824b72211be7fd3596b471d7
* | Support encrypted backup filesDees_Troy2013-06-2214-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
* Improve handling of XML errors for fix permissionsDees_Troy2013-04-052-10/+29
|
* Add new SliderValue GUI widgetVojtech Bocek2013-04-0418-1008/+992
| | | | | | Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: Ic5d44314f501341140dd7059d1cb753341f5844c
* Move all AOSP code out of recovery binaryDees_Troy2013-04-0422-183/+165
| | | | | | Improves license compatibility between GPL and Apache Change-Id: I2b165aa575bb6213af6b07936f99610c113443f0
* Add partition list GUI elementDees_Troy2013-03-3069-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
* Merge "add no fb blanking Change-Id: Iaf771257d8f904807ca6f6c1a6c3d7993abadb85" into twrp2.4Dees Troy2013-03-122-0/+7
|\
| * add no fb blankingbigbiff bigbiff2013-03-112-0/+7
| | | | | | | | Change-Id: Iaf771257d8f904807ca6f6c1a6c3d7993abadb85
* | Remove unused fonts from 320x480Dees_Troy2013-03-113-0/+0
| |
* | Remove mutex from file seselectorDees_Troy2013-03-112-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.)
* More file selector fixesDees_Troy2013-03-042-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
* Merge "Add 2 second pre-dim and bugfix blank timer" into twrp2.4Dees_Troy2013-03-012-27/+33
|\
| * Add 2 second pre-dim and bugfix blank timerDees_Troy2013-03-012-27/+33
| | | | | | | | | | | | 2 second predim code courtesy of bigbiff Change-Id: I052ac422f78dc82c05f58c188587534b800b935a
* | Fix file selector crashDees_Troy2013-02-282-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.
* Load user saved setting for blank timer on recovery startupbigbiff bigbiff2013-02-282-1/+4
| | | | Fix persistence of military time
* Copy fast scroll feature to listboxDees_Troy2013-02-272-2/+101
|
* Add fast scroll bar to fileselectorVojtech Bocek2013-02-2714-2/+256
| | | | | | | Also fix build problems with libblkid in CM7 Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: I1cd4573e25b247171e4bd8cc05b70543f897a454
* Remove ignore image size settingDees_Troy2013-02-2112-122/+175
| | | | | Move military time setting up and remove the now unused ignore image size setting from XML layouts.
* Check for root and root perms and offer to install/fixDees_Troy2013-02-2114-31/+1665
| | | | | | Also fix sort order for file selector by date and file sizes Change-Id: Idff9fe4232c19d4ed1082e78fabe6f921aa0a114
* add military time optionbigbiff bigbiff2013-02-2112-1/+98
|
* Configurable timeout and brightness settingsDees_Troy2013-02-2014-314/+1663
| | | | Change-Id: I924297ab0dcf920cd4b4b617949c3b16cbc68e43
* Minor fix for listbox codeDees_Troy2013-02-191-1/+1
|
* Merge "Fix keyboard layout on 800x1280" into twrp2.4Dees Troy2013-02-191-6/+6
|\
| * Fix keyboard layout on 800x1280Dees_Troy2013-02-151-6/+6
| |
* | Merge "Update listbox code" into twrp2.4Dees Troy2013-02-1914-297/+656
|\|
| * Update listbox codeDees_Troy2013-02-1514-297/+656
| |
* | Merge "Add highlight to file selector" into twrp2.4Dees Troy2013-02-1914-80/+236
|\|
| * Add highlight to file selectorDees_Troy2013-02-1514-80/+236
| |
* | Merge "Add button highlight" into twrp2.4Dees Troy2013-02-1914-13/+1040
|\|
| * Add button highlightDees_Troy2013-02-1514-13/+1040
| |
* | This adds a 60 second screen timeout for TWRP. Might consider making this configurable in the future.bigbiff bigbiff2013-02-136-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
* file manager updates for exFATDees_Troy2013-01-281-2/+9
| | | | Change-Id: I06fa6120a975cbc3d4eef9bc2ca034ec716740ee
* Remove thread logging from actions.cppDees_Troy2013-01-281-3/+0
| | | | Change-Id: I2d2af963f4d6990191d91a336f682516af61d734
* Merge "Fix file manager displays empty list when folder is deleted" into twrp2.4Dees_Troy2013-01-281-14/+14
|\
| * Fix file manager displays empty list when folder is deletedDees_Troy2013-01-251-14/+14
| |
* | adding sideload page with wipe cache and dalvikbigbiff bigbiff2013-01-2513-135/+741
|/ | | | | fix variable Change-Id: I72eed7b4d709a184e53cc94165a1817a7dcf041e
* Use GUI for ORS instead of console onlyDees_Troy2013-01-2514-207/+93
|
* Convert AOSP commands to ORS for encrypted devicesDees_Troy2013-01-241-0/+12
| | | | Change-Id: I6a76a51cd9efd7db67d7abeeb26f9bdd0eebf5a9
* change tar create to pthreadbigbiff bigbiff2013-01-241-1/+2
| | | | Change-Id: I5a33d207ec6683de20da37e6f4f174c67785fc52
* Improve ORS sideload to display GUI with cancel buttonDees_Troy2013-01-183-5/+82
|
* Fix problems with thread creation on some devicesDees_Troy2013-01-161-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.
* Increase char array sizes to allow for null char for strcpyDees_Troy2013-01-101-1/+1
|
* Add libtar to TWRP instead of using busybox tarbigbiff bigbiff2013-01-092-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
* Fix keyboard layout on 800x1280 layoutDees_Troy2012-12-181-1/+1
|
* Fix defines on pages.hpp to not collide with pages.hDees_Troy2012-12-181-4/+3
|
* add Decrypt Data buttonGary Peck2012-11-2212-0/+144
| | | | | | | Allow to decrypt /data even if decryption was skipped during the initial loading of recovery Change-Id: If2251757a276dd069578e93e5a038b25a825bff6
* Fix renaming of backups with spaces, 2.3.2.3Dees_Troy2012-11-1911-11/+11
|
* Finish 2560x1600 themeDees_Troy2012-11-1941-120/+120
|
* Fixes for multi-user in 4.2Dees_Troy2012-11-1551-11/+3634
| | | | | | Also fixed inability to delete backups with a space in the name. Change-Id: I2f6639d33caa3c4542960f76adbd59b25ab64f5d
* Add keyboard key highlightDees_Troy2012-10-2014-15/+117
|
* Add ability for buttons to have highlights on touchDees_Troy2012-10-194-4/+66
|
* Update injecttwrp for Epic 4G TouchDees_Troy2012-10-161-1/+23
|
* Fix weird keyboard problemDees_Troy2012-10-151-3/+3
|
* Remove text about fix perms taking a few minsDees_Troy2012-10-1011-22/+0
|
* Finalize 2.3.0.0Dees_Troy2012-10-101-14/+4
| | | | | | Fix permission setting for other Add new fix permissions to GUI actions Update version number
* Add reboot system button after sideload, backup, and restoreDees_Troy2012-10-0811-341/+385
| | | | A few other minor xml tweaks
* Fix exclamation point on 720x1280 themeDees_Troy2012-10-081-2/+4
|
* Fix output of version numberDees_Troy2012-10-011-1/+0
|
* Fix some derpsDees_Troy2012-09-282-0/+1
|
* Revert busybox for CM7 compatibility, add exclamation point to format dataDees_Troy2012-09-2821-17/+169
|
* Save version number to storageDees_Troy2012-09-271-0/+1
|
* Create symlinks at compile time for busyboxDees_Troy2012-09-271-1/+2
|
* Update sdcard partitioning to C++Dees_Troy2012-09-271-68/+4
|
* Port backup name checking to Partition ManagerDees_Troy2012-09-271-3/+2
|
* Port reboot functions to C++Dees_Troy2012-09-271-12/+11
|
* Display symlinks and block devices in file managerDees_Troy2012-09-271-1/+1
|
* Add option to wipe android secureDees_Troy2012-09-2612-0/+200
|
* Fix permissions updatesDees_Troy2012-09-261-8/+17
| | | | | Also redirect stderr output on terminal commands for display in GUI console
* Fix SDCard partitioningDees_Troy2012-09-2612-14/+22
|
* Fix a problem with scrolling in the consoleDees_Troy2012-09-261-1/+1
|
* Allow spaces in backup namesDees_Troy2012-09-2611-22/+22
|
* Unify portrait layouts againDees_Troy2012-09-266-409/+404
|
* Change curtain to file and remove curtain raiseDees_Troy2012-09-2423-31899/+6
|
* Update tablet layouts with ADB sideloadDees_Troy2012-09-245-2/+187
|
* Fix 320x480 themeDees_Troy2012-09-221-37/+37
|
* Update portrait themes with ADB sideloadDees_Troy2012-09-203-27/+141
|
* Various fixesDees_Troy2012-09-201-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.
* Add and improve OpenRecoveryScript supportDees_Troy2012-09-201-3/+3
| | | | | Improve zip finding in ORS engine Add support for restoring with just a backup name
* Fix ext storage and zip pathsDees_Troy2012-09-192-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.
* Improve adb sideload - use storage vs tmpDees_Troy2012-09-191-11/+8
|
* Improve adb sideload -- add cancelDees_Troy2012-09-192-7/+97
| | | | | Also copy zip from /tmp to storage and remove from /tmp to prevent running out of RAM.
* Cleanup extra-functionsDees_Troy2012-09-181-27/+13
|
* Update backup and restore code, adb sideloadDees_Troy2012-09-172-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.
* Add wipe functions, compiles in CM7, text shows in UI, zips installDees_Troy2012-09-141-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
* Make text appear in GUI console, Zip install works.Dees_Troy2012-09-123-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.
* Zip install works againDees_Troy2012-09-112-10/+15
|
* Improve storage size code, mount, unmountDees_Troy2012-09-101-15/+7
| | | | Add flag parsing from recovery.fstab
* Add processing of fstab, mounting, and decryptDees_Troy2012-09-075-935/+31
|
* Hax to make it bootDees_Troy2012-09-066-5/+919
|
* TWRP-ify AOSP codeDees_Troy2012-09-05497-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