summaryrefslogtreecommitdiffstats
path: root/twrp-functions.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* cache: Fix typo in twrp-functions.cpp for A/B devicesSyberHexen2019-10-301-1/+1
| | | | | | | | * without this A/B devices are writing 8MB+ uncompressed logs under persist/cache/recovery which increase in size over time. This can eventually leave persist partition OOM causing other cascading issues like crashing the modem during boot and bootloops. Change-Id: I0f3aab0eb96804d1be8de965eb2c2e9bb83d5b56 Co-authored-by: Erfan Abdi <erfangplus@gmail.com> Signed-off-by: Andrew Hexen <SyberHexen@gmail.com>
* Persistent logs: Compress target log on storage.bigbiff bigbiff2019-09-191-23/+91
| | | | | | | | This update will use pigz to compress the log that TWRP stores on persistent storage in order to help with storing logs on the persist partition. Change-Id: I16971b8b138b74a164b1b0835847177cfc6104e2
* Add option to uninstall TWRP app from /systemEthan Yonker2019-05-161-0/+19
| | | | Change-Id: Ibe372a372333c357810be2afcb3796723ca370cb
* Use magiskboot to repack the boot partitionEthan Yonker2019-04-031-3/+4
| | | | | | | | | | | | | | | | | | Set TW_INCLUDE_REPACKTOOLS := true Must also have: AB_OTA_UPDATER := true Use magiskboot and provide GUI options to allow users to repack their existing boot image to install TWRP (or kernels) so we can stop having to provide installation zips for AB devices. There is also an option to try to fix a recovery bootloop if the kernel has been patched to always boot the ramdisk for root, etc. You will need to pull the below repo into external/magisk-prebuilt https://github.com/TeamWin/external_magisk-prebuilt Change-Id: I74196cc6f095a7576d61886dc96cbc18deba9b04
* AB Cache dir: If device doesn't have /data/cache for FBE, we shouldbigbiff bigbiff2019-04-031-2/+10
| | | | | | try /persist if in the fstab. Change-Id: I70dd19538b7f9b8cf61c46f6c8167057eec3342b
* Correct return case for context check in /cache/recoveryMakornthawat Emery2019-03-301-4/+1
| | | | Change-Id: If9eca1b7f6b781542194a6b39c19ee03a521f94b
* Support both old and new mkfs.f2fsEthan Yonker2019-03-221-5/+7
| | | | | | | | | | Easiest way I could find to determine if we have the old or the new mkfs.f2fs version is to pipe the usage output to grep and grep the output for "reserved" and redirect the output to a file. If the file has any data in it, then we must have the old mkfs.f2fs that uses -r. Change-Id: I7f1ed88b577a3f9827a98f0868d8f82e4e4886ac
* Adding Edl button in reboot menumauronofrio2019-03-201-0/+7
| | | | | | | | | | | Edl mode is available only on qualcomm devices and it used to fully restore the bricked devices. I made the button available only if TW_HAS_EDL_MODE := true like the download button. I set the edl button to the right of the download button, so devices can support edl button and download button. I also added the translation for all languages. Change-Id: I69d1058b8c050b722395c7b3da6dce1ccfbe7a91
* AB/Non AB Devices: updates for moving cachebigbiff bigbiff2019-03-181-23/+82
| | | | | | | | | This patchset updates all the places we touch cache on AB devices and non AB devices so that we can write to the appropriate location. AB devices removed the cache partition and moved it to /data/cache. Change-Id: I485ec205a604f1f07ceb7700ae9c4e720fd55c3e
* Add path for time and date fixMauronofrio Matarrese2019-03-051-1/+1
| | | | | | | | This will add another path where looking for ats_* files This is needed on some devices like OnePlus 6/6T Change-Id: I9ac7cdd05ddc80f3e269efda96be2b7712d68af0
* twrp: use ANDROID_ROOT environment variableCaptain Throwback2018-08-241-10/+10
| | | | | | | | | | | | | instead of hard-coded /system path I updated most of the references I found, but there might be more For devices that have to mount system at /system_root, this allows system to be bind mounted to /system and detected properly by TWRP Change-Id: I9f142fd8cec392f5b88e95476258dab9c21a9aac
* Merge AOSP android-9.0.0_r3Ethan Yonker2018-08-241-1/+0
| | | | | | Fix conflicts and make it build in 5.1, 6.0, 7.1, 8.1, and 9.0 Change-Id: Ida0a64c29ff27d339b7f42a18d820930964ac6e4
* Remove SuperSUEthan Yonker2018-07-201-8/+0
| | | | Change-Id: I2ca7580bbde5a8903b9ba5c1513ddba887e8d49e
* TWRP: Added TW_CLOCK_OFFSET flag to further adjust the clock.Phoenix5912018-05-251-0/+4
| | | | | | | | | | | | | For devices with the Qualcomm RTC fix whose clocks need further tuning such as the LG V20 whose ats files produces the correct time except 46 years in the future. Takes adjustment in seconds and adjusts after reading the the ats file. Boardconfig.mk TW_CLOCK_OFFSET := -1451606400 Change-Id: I0b2d35dd0026ed18a7bbebf683517f7c0eaa53ff
* TWRP: Move the valid current time up to trigger fix on more devices.Phoenix5912018-05-251-1/+1
| | | | | | | | | | For example on my device, the LG V20 (US996), the default time comes back as 2016 which doesn't trigger the fixup code. The actual time I picked was pretty arbitrary, but close to the current date, since we're checking if said date/time is reasonably accurate without the fixup code. Change-Id: I01db64777d7d0c5ce0710445cf88858d89656ac0
* Use /persist as Qualcomm time fix source during early bootnkk712018-01-171-25/+38
| | | | | | | | | | | | | | | | | | | | | | | * /persist can be mounted early while TWRP is parsing the fstab so as soon as the partition is parsed, mount and adjust the time accordingly. * Store a backup settings file on /persist. Having a 2nd copy of the settings file in the /persist partition allows for early reading of the file and adjust timezone and brightness to user preference while still on TWRP splash. * Add the qcom ats time offset in TWRP settings file and use it if no better ats file is found. This will also allow devices with a persist partition, but no ats files in it, to adjust the time offset during early boot. * Use /persist/time/ as Qualcomm time fix source, based on Xuefer <xuefer@gmail.com> patch: https://gerrit.omnirom.org/c/27265/ https://gerrit.omnirom.org/c/24384/ Change-Id: I6c21538eec58d87edfb639d9ce3871f33b886c1d
* Support v2 fstab formatEthan Yonker2017-11-281-8/+8
| | | | | | | | | | | | | | | | | | | | | | Auto detect and support both the v1 and v2 fstab formats Support putting TWRP style flags in a separate /etc/twrp.flags file twrp.flags format is the same as twrp.fstab (v1 with TWRP flags) Support using a wildcard in a block device and find all partitions: /usb-otg vfat /dev/block/sda* Support using sysfs entries (voldmanaged) and read uevents and scan for wildcard partitions from uevent data. (twvold?) May not be complete for some of the newer flags found in fstabs in newer build trees and there is a slim chance of a crash if the user removes a removable device while TWRP is performing actions. May need to add some kind of mutex to prevent the 2 threads from causing this crash. We need to start somewhere though and this change is pretty innocuous when not using a v2 fstab. Change-Id: I617d97c7db332cbe671a9d2b8ad98b3d9c4f03cc
* ADB Backup: add ability for TWRP GUI to restorebigbiff bigbiff2017-11-271-0/+24
| | | | | | | | | Restore adb backup files that TWRP made to your PC. Put files in your backup directory to see them. e.g. /sdcard/TWRP/BACKUPS/<sn> Change-Id: I2c57970d77b64c39a302159041456e761c185259
* Update to AOSP 8.0 baseEthan Yonker2017-09-081-3/+3
| | | | Change-Id: I29fe722b4eb9718765327902779046840a01433e
* twrpDigest refactorbigbiff bigbiff2017-06-171-1/+0
| | | | | | | | | | | | | | | | | | | This patch is to refactor twrpDigest using polymorphism and inheritance to use the same call patterns for creating and reading a digest. Now a library. Use SHA2 from libcrypto. SHA2 is default if device has libcrypto. Change string MD5 everywhere to use digest or Digest instead. Updated string tags to digest. Translation will be required. Switch out digest code into a driver class from partitionmanager. SHA2 is better for digest creation due to decreased collision space compared to MD5 and SHA1. See https://en.wikipedia.org/wiki/SHA-2 Change-Id: I74b5546789990b12aa4ce2e389d25f80a3fe213f
* Timeout for decryptEthan Yonker2017-03-011-0/+35
| | | | | | | | | | | | | | | | Sometimes, usually because of proprietary binaries related to keymaster, decrypt will hang waiting for the keymaster to initialize forever. This patch enables a timeout so that we don't get stuck trying to decrypt forever. A timeout is especially important when dealing with the default password because the user has no option to cancel when TWRP tries to decrypt. NOTE: This patch only adds a timeout for FDE. FBE will require some special handling because we need access to some static data and that data is not available across a fork. Special thanks to nkk71 for cleaning up some issues in my patch set. Change-Id: Iccf2fe769ac27a7dcd6bfebfe7d2e9eddd034308
* Unused variable cleanupMatt Mower2017-01-181-2/+1
| | | | Change-Id: I2397d0bd221dcf5c9d0f971ba157519bcf014a70
* Whitespace cleanupMatt Mower2017-01-181-28/+28
| | | | Change-Id: I93c65973679894bb8587da4b38b410d38036b8bd
* Add TWRP app install via TWRP recoveryEthan Yonker2016-12-161-1/+4
| | | | | | | | | 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
* Change handling of /cache due to AB devices not having cacheEthan Yonker2016-12-131-2/+8
| | | | Change-Id: Ia9b97ed19eb3d400d9d399255108cac79361bca4
* Copy Kernel Logsbigbiff bigbiff2016-12-021-0/+10
| | | | | | Give user option to copy kernel logs to current storage Change-Id: I0c61122fb34826ddb08977e6cbf98e3adf477acd
* Update to android-7.1Ethan Yonker2016-11-301-4/+8
|
* Make it backwards compatible with 4.4Ethan Yonker2016-08-251-1/+1
| | | | Change-Id: I668604cddc8e8afbf78709f3f872bea4e9f4aa06
* ADB: Add adb backup for TWRP.bigbiff2016-08-011-8/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Rewrite TWRP fstab flag processingMatt Mower2016-05-031-0/+7
| | | | | | | | | | * Do not flip/flop between std::string and char* when no std::string specific functions are applied. * Remove the need to manually count flag string lengths * Move checks for Display_Name, Storage_Name, and Backup_Display_Name out of flag processing Change-Id: I24d432c222124012b2a98d27598e42d0944f7da2
* Improve progress bar handling for backup / restore / image flashEthan Yonker2016-03-311-21/+21
| | | | | | | | | | | | | | | | | 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
* DataManager UpdatesEthan Yonker2016-03-311-1/+2
| | | | | | | The goal of this change is to make DataManager use InfoManager to reduce code duplication. Change-Id: Ia4f4c4324453a192995e0f442db0a03628c13e46
* Improve max brightness handlingTatsuyuki Ishi2016-01-221-9/+8
| | | | | | | | | | | | | | 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-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Improve sdcard partitioning processEthan Yonker2016-01-141-0/+19
| | | | | | | | | | | | | | | | | -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
* Fix Recursive_Mkdir if path doesn't end with "/"that2016-01-041-15/+8
| | | | | | | | | | | | Somewhat surprisingly, Recursive_Mkdir(TWRES "customlanguages") did not create the "customlanguages" directory because it expected a trailing slash. Fixed by rewriting the loop to be more like Create_Dir_Recursive. Also fixed error handling for the final directory, and fixed incorrect return value handling for "mkdir" ORS command. Change-Id: I1ab418ddda695cbb595a9db2817f00fc7b171f51
* Multiple Language SupportEthan Yonker2015-12-191-22/+23
| | | | | | | | | | | | | | | | | | | | | | | 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
* Free some memory allocationsMatt Mower2015-11-121-0/+6
| | | | Change-Id: Ifb6c186e43e1eb068e8075def16924ced04bb23d
* Fix a bunch of warningsEthan Yonker2015-10-251-1/+1
| | | | | | Mostly adding __unused where needed. Change-Id: Ia4f675b9b360782728c361ed1699db0cc277c3a5
* remove useless memset and \nXuefer2015-05-291-3/+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
* bootloader: align with AOSP codethat2015-05-181-9/+2
| | | | | | | | - Define a minimal Volume structure so that AOSP code for handling /misc works in TWRP without major changes. - Remove set/get_bootloader_message_*_name Change-Id: Ifcee59568141a184adebb94b8ef8beca072a7942
* twrpTar: fix segfault after encrypted backupsthat2015-04-031-4/+4
| | | | | | | | | | | also use unsigned int for core_count instead of unsigned long long. I'll change it back when 4-billion-core devices are common. PS2 - cast return value via intptr_t (may be important for 64 bit platforms) - output errors from TWFunc::Wait_For_Child to console Change-Id: I04158daa0b64e44d68e179d626a83d81cf5d49f7
* Fix reboot for some devicesEthan Yonker2015-03-251-17/+18
| | | | Change-Id: I06caac2e80bd7eb311778796f974846e9ce844fa
* Fix TWFunc::Wait_For_Child reporting success when child segfaultsVojtech Bocek2015-03-201-4/+4
| | | | | Change-Id: Ic17624b32ca4aea43c72aea0c3d6dec0441ddee4 Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
* Replace Auto_Generated name spaces with underscores.bigbiff2015-02-211-1/+3
| | | | Change-Id: Ibc38940833f9d8eb584690ef767561d22f71a64d
* Disable stock recovery replacing TWRP during ORSEthan Yonker2015-02-021-1/+13
| | | | | | | | -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
* Add cancel backup capability.bigbiff2015-01-271-1/+1
| | | | | | | | | | | 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-221-8/+8
| | | | | | | | | 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
* twrp-functions: remove unused functionsthat2014-12-291-124/+0
| | | | Change-Id: I3d072be9ef28f21ade466bc4c42caca8848f7c2a
* Update SuperSU to 2.40Ethan Yonker2014-12-181-158/+1
| | | | | | | | | The SuperSU install process is getting rather complicated, so we will modify the install script slightly and use it to install all the things and stop trying to check to see if root permissions have been lost like we used to do. Change-Id: Ibdb64c909d2bd16e12bb35b4f31f572cc29add47
* Attempt to set the proper uid/gid/contexts on new files and dirsEthan Yonker2014-12-121-3/+8
| | | | | | | | | | 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 the android-5.0 branch compile in 4.4 to 4.1Ethan Yonker2014-12-021-0/+12
| | | | | | | | | | | | | 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
* Fix up tw_reboot functionEthan Yonker2014-11-071-3/+10
| | | | Change-Id: I53d329e493f4bcb3fe9ed177e7b2dede30ccf490
* fix some compiler warningsthat2014-11-041-1/+1
| | | | Change-Id: I23c490e6228b0fcf656c76ac314c69508ba2329d
* display cpu temperature in twrpJenkins2014-10-141-0/+6
| | | | | | | use TW_NO_CPU_TEMP := true to disable display use TW_CPU_CUSTOM_PATH := path to set custom path Change-Id: Id260ecbb4ec36a78442387329944f67003d0f6a0
* performance profile supportTom Hite2014-10-081-0/+11
| | | | | | | | | | | 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
* add mtp responder to TWRP.bigbiff bigbiff2014-09-031-0/+18
| | | | | | Big thanks to Dees_Troy for helping with the implementation. Change-Id: I6c9c522b9c9de5dc139e2ecb0141008182ba07f0
* Support reading since_epoch and secondary brightness filesxNUTx2014-08-101-4/+70
| | | | | | | | | | | | | | | 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
* Implement "take a screenshot" featureVojtech Bocek2014-07-091-0/+18
| | | | | | | | * 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>
* Check the crash counter instead of date in TWFunc::Fixup_Time_On_Boot()Vojtech Bocek2014-07-091-10/+0
| | | | | | | * Some devices (Sony) have RTC counting up from year 2009, Change-Id: I2cf1928e1b05c7e8b184963f8130582e0319ddc4 Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
* Track backup and restore progressEthan Yonker2014-07-091-0/+24
| | | | | | | | 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
* Whitespace and minor code cleanupMatt Mower2014-06-041-2/+2
| | | | | | This is by no means comprehensive, but is quite a bit better already. Change-Id: Ibc8654a5dfb0eec39cbd0b64bdb52bb4fbfe2f7e
* Add support for actions triggered by key combinationVojtech Bocek2014-04-161-0/+20
| | | | | Change-Id: I9dfa7de40229f00412d63fc9c1eb3a809a6eb2e6 Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
* Fix skipping of relative paths and lost+found in twrpDUVojtech Bocek2014-03-131-0/+25
| | | | | Change-Id: Ib79029fd6237502338b041a6bc2f9e539536d6ad Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
* Change qcom time error messages to infoDees Troy2014-03-061-3/+3
| | | | Change-Id: I5a22b2df87920333974d8d18fb29f4ff1627a405
* Check auto generated backup names for invalid charactersEthan Yonker2014-02-261-0/+4
| | | | | | | Change name to date/time only if the auto generated backup name contains any invalid characters. Change-Id: I73e9e546373088ee7852fa31015060ce95a1d020
* fix slash between directoriesbigbiff bigbiff2014-02-231-1/+1
| | | | | | | add fixing contexts of Android directory for apps that store stuff here fix data/data contexts to be recursive Change-Id: I1122559c83845c3af0a351a4034cd7ad6da83fa5
* ifdef some functions that depend on other TWRP partsEthan Yonker2014-02-121-186/+168
| | | | | | | End goal is to create a twrpTar binary that can run from the command line. Change-Id: I14f07a425b7755bd09dbce95a5918da1430964fc
* Update SuperSUEthan Yonker2014-02-081-4/+12
| | | | Change-Id: I0f450357595e7f5f56a7c120b899101faf7f6360
* Separate out function for reading /system/build.prop valuesEthan Yonker2014-02-081-25/+31
| | | | Change-Id: I9e398aa3f4f5be0728435ffdab333d4090cdab22
* Add option to print render time of each frame to log fileVojtech Bocek2014-02-061-0/+6
| | | | | | Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: Id158a6375fbadf4cdf0a8c7d143759e602419e7f
* Load RTC offset on Qualcomm Krait chips, fixes the broken time & dateVojtech Bocek2014-02-041-0/+93
| | | | | | Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: I04ad07f3e6be961003e063be8c648e191e2f9431
* Create a TWRP Disk Usage Class to retain state about a directory and whether we should skip it in other classes like twrpTar.bigbiff bigbiff2013-12-191-33/+0
| | | | | | Moved Get_Folder_Size to this new class. Change-Id: If0a0220f900eb109581f2eeaf7b76e3f7d6886f1
* Update licenses to all matchDees Troy2013-10-221-0/+18
|
* Remove trailing spaces on auto generated backup namesDees Troy2013-10-171-0/+7
| | | | | Trailing spaces sometimes cause folder creation depending on what file system is in use (e.g. vfat).
* Improvements to Update_Log_FileDees Troy2013-09-191-8/+19
| | | | Change-Id: I5596759b0cb39e4448b6be382f9224feed70a5ea
* Never generate empty backup nameVojtech Bocek2013-09-171-1/+2
| | | | | | | * Backup would then go to /sdcard/TWRP/*serial_num*/ (without any subfolder) and restore would not be able to find it. Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
* Add TWFunc::Exec_Cmd() with no 'result' agrumentVojtech Bocek2013-09-121-15/+32
| | | | | | Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: Id8acff1ac9b3c7e4b562c80562a8ff42a1d132b9
* Pull ROM info from build.prop for backup namesDees Troy2013-09-121-0/+48
| | | | Change-Id: I7847fca22b5d4f0a35da41625b15bd677a1e9768
* Really fix TWFunc::tw_chmod() for 3-character mode stringVojtech Bocek2013-08-301-32/+41
| | | | | | Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: I8f03d46235e1c71e8ee510309c9418cde802f50b
* Update SuperSU for 4.3 SELinux, 2.6.1.0Dees_Troy2013-08-301-0/+62
| | | | Change-Id: Ib7f882db8a8c61d1156c03468208205124132b6c
* ignore lost+found in all the placesbigbiff bigbiff2013-08-281-1/+1
|
* Unify indentation and little clean-up in TWRP filesVojtech Bocek2013-08-241-14/+15
| | | | Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
* Fix TWFunc::tw_chmod() for 3-character mode stringVojtech Bocek2013-08-241-1/+2
|
* Revert "Rewrite TWFunc::Exec_Cmd() to use pipe() instead of popen()"Dees_Troy2013-08-241-43/+12
| | | | | This reverts commit c5754cf9355056ee5f2aebaa15a47b62c5cbeb42. popen already uses fork and pipe and __popen works on more devices.
* Rewrite TWFunc::Exec_Cmd() to use pipe() instead of popen()Vojtech Bocek2013-07-031-12/+43
| | | | * popen causes crashes on some devices
* Support encrypted backup filesDees_Troy2013-06-221-0/+199
| | | | | | | | | | | | | | | 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
* Move all AOSP code out of recovery binaryDees_Troy2013-04-041-128/+106
| | | | | | Improves license compatibility between GPL and Apache Change-Id: I2b165aa575bb6213af6b07936f99610c113443f0
* use md5.c for computation of md5sumsbigbiff bigbiff2013-03-071-43/+15
| | | | | | create a framework for computing digests and reading digests in TWRP add space for backwards compatibility with bb md5sum Change-Id: Ia18e3f430eed5eba22e5052d39b9b8d88ecd4536
* fixes for fakeflash zipsjt11342013-02-271-2/+2
| | | | | | | | For some reason fakeflash doesn't like to have superuser/su in /res, move it to its own subdir in /supersu. This allows a fakeflash zip built with 'make recoveryzip' to work correctly. Change-Id: I32e2e0f6dba55281d5c917e931c3ef0034964bcb
* Fix compiling on CM7Dees_Troy2013-02-221-1/+5
|
* Check for root and root perms and offer to install/fixDees_Troy2013-02-211-62/+265
| | | | | | Also fix sort order for file selector by date and file sizes Change-Id: Idff9fe4232c19d4ed1082e78fabe6f921aa0a114
* This adds a 60 second screen timeout for TWRP. Might consider making this configurable in the future.bigbiff bigbiff2013-02-131-0/+49
| | | | | | | | | | | | | | | 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
* Add write buffer for tar writesDees_Troy2013-02-071-4/+4
| | | | | | | update fuse to 2.9.2 catch return from unlink so that we don't print error messages when things work Change-Id: I1115039a0fa5d9d73f78ef1abd79755d7ffd9d96
* Use only std::string in TWFunc::Get_Folder_SizeVojtech Bocek2013-02-021-14/+5
| | | | | * Fixes crash which could occur with too deep path because of too much memory allocated on stack
* Fix fail over to vfat from exfatDees_Troy2013-02-011-2/+1
| | | | | | | Fix issues with MD5 checking using chdir and leaving the working dir in a subfolder that prevented unmounting sometimes. Change-Id: I01a563d722f474297ed3f7a30064c3a61748ade3
* exFAT improvements, fixesDees_Troy2013-01-281-4/+12
| | | | | | | | | Move Exec_Cmd to libcrecovery __popen Provide opt out build flag for exFAT Default fstype to exfat on external storage if exfat support is present and fstype is vfat or auto Fix invalid unmount errors Improve handling of unencrypted sdcards on Samsung devices
* file manager updates for exFATDees_Troy2013-01-281-0/+21
| | | | Change-Id: I06fa6120a975cbc3d4eef9bc2ca034ec716740ee
* Remove sockets and FIFOS when removing filesbigbiff bigbiff2013-01-201-1/+1
|
* Fix wiping problems and save ecrypt keyDees_Troy2013-01-091-26/+26
| | | | | | Fix problems with the wiping of data/media devices Save and restore the ecryptfs key for external sdcard on Samsung encrypted devices.
* Add libtar to TWRP instead of using busybox tarbigbiff bigbiff2013-01-091-70/+136
| | | | | | | Add proper mkdosfs tool Add fuse to TWRP Add experimental exfat-fuse to TWRP Convert all system() functions to use new Exec_Cmd function
* Increase array size to fix crashes on some devicesDees_Troy2012-12-201-1/+1
|
* Fix output of version numberDees_Troy2012-10-011-25/+0
|
* Fix compiler warningsDees_Troy2012-09-281-1/+1
|
* Save version number to storageDees_Troy2012-09-271-0/+26
|
* Port reboot functions to C++Dees_Troy2012-09-271-0/+128
|
* Add backup size checkingDees_Troy2012-09-261-2/+10
| | | | | Converted bootloader.cpp to TWRP and removed AOSP fstab parsing from startup
* Unify portrait layouts againDees_Troy2012-09-261-0/+23
|
* Fix fstab and unmount problemsDees_Troy2012-09-201-4/+3
| | | | | | Fix a problem parsing some recovery.fstab files. Fixed a problem with MD5 checking that prevented unmounting after md5 checking.
* Cleanup extra-functionsDees_Troy2012-09-181-19/+14
|
* Update backup and restore code, adb sideloadDees_Troy2012-09-171-0/+71
| | | | | | | 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-0/+164
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