summaryrefslogtreecommitdiffstats
path: root/data.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* twrpDigest refactorbigbiff bigbiff2017-06-171-3/+11
| | | | | | | | | | | | | | | | | | | 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
* Unused variable cleanupMatt Mower2017-01-181-4/+2
| | | | Change-Id: I2397d0bd221dcf5c9d0f971ba157519bcf014a70
* Whitespace cleanupMatt Mower2017-01-181-33/+33
| | | | Change-Id: I93c65973679894bb8587da4b38b410d38036b8bd
* Add TWRP app install via TWRP recoveryEthan Yonker2016-12-161-0/+10
| | | | | | | | | 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
* Add boot slot supportEthan Yonker2016-12-131-0/+7
| | | | Change-Id: I7eaf80e327985f53791f90fbdebad022a9650d31
* Improve backup & wipe exclusion handlingEthan Yonker2016-11-301-0/+1
| | | | | | | | | | | | | | 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
* Update to 7.0Ethan Yonker2016-08-241-0/+1
| | | | Change-Id: I621cc47352f7ac552d9602485825ae3a6f9ae516
* Fixup reboot after install variablesMatt Mower2016-08-191-1/+1
| | | | | | | | | | | * 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-191-0/+2
| | | | | | | 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-191-0/+1
| | | | | | | | | | * 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
* DataManager UpdatesEthan Yonker2016-03-311-284/+178
| | | | | | | The goal of this change is to make DataManager use InfoManager to reduce code duplication. Change-Id: Ia4f4c4324453a192995e0f442db0a03628c13e46
* Fix storage selection with adopted storageEthan Yonker2016-02-191-1/+1
| | | | Change-Id: Ifcba4e668579c3684df9e47e1c3faf5f4d1f3e83
* Remove inexplicable checks for enabling/disabled UMS supportJames Christopher Adduono2016-02-151-4/+0
| | | | | | | Removing these lines allows UMS to be enabled for devices with storage lun. The checks don't seem to make sense as they are referencing always defined strings. Change-Id: I75df9b7db5a790807fc2b5c946b271b103326b39
* data: fix setting brightness at startupthat2016-01-291-2/+0
| | | | Change-Id: Ibc4c4cc209c5f5f1a332fddcb450f983dc1a666a
* Update minuitwrp graphics in line with latest minuiEthan Yonker2016-01-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | 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-251-1/+3
| | | | | | | | | | | | | | | | | | | | | -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
* Make new brightness code compatible with older treesEthan Yonker2016-01-221-3/+3
| | | | | | | libstlport does not support ifstream with std::string libstlport does not implement stoi Change-Id: I2ae3b6ee1b2a28fe4305471133f40543bd0c9746
* Improve max brightness handlingTatsuyuki Ishi2016-01-221-21/+36
| | | | | | | | | | | | | | 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
* Improve sdcard partitioning processEthan Yonker2016-01-141-2/+2
| | | | | | | | | | | | | | | | | -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
* Add default brightness controlGreg Wallace2015-12-231-2/+18
| | | | | | | | | This lets user set the default brightness so user doesn't cook their phone on first boot or loss of settings file, while still maintaining the ability to turn brightness to max if desired. Change-Id: Ia801fba46014335148ec573a0b0bbdf0a3ca60ae
* Remove dead code: TW_HAS_DUAL_STORAGEMatt Mower2015-12-221-7/+1
| | | | | | Nothing sets TW_HAS_DUAL_STORAGE. Remove this dead code. Change-Id: Id5d10c9ee3883dad6beef69e09d16b0f1350c91d
* Multiple Language SupportEthan Yonker2015-12-191-5/+10
| | | | | | | | | | | | | | | | | | | | | | | 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
* Add nulls during reading of settings and info filesEthan Yonker2015-10-251-1/+3
| | | | Change-Id: Ie6202a8cc709d8593768f447ef95b4a815605d6b
* Merge up to AOSP marshmallow-releaseEthan Yonker2015-10-091-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Fix up some TW_OEM_BUILD thingsEthan Yonker2015-08-261-0/+2
| | | | | | | | | Fix factory reset now properly formats data as expected Change text for ORS processing Disable system read only check, SuperSU, and patch system Stop copying fstab and version to cache Change-Id: I20f5cae390afbb8d2d88e01b8d9b9bf4ff0fdea1
* Make system read only show no matter what on first TWRP bootEthan Yonker2015-07-141-2/+2
| | | | | | | | | | | | | | 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
* Cleanup device_id retrievalMatt Mower2015-06-201-70/+84
| | | | | | | | | | | | | * If TW_USE_MODEL_HARDWARE_ID_FOR_DEVICE_ID is defined: - provide the header that defines property functions/constants - actually look for hardware_id before attempting to append it * Perform string length checks rigorously. * Only perform newline removal if string is used before sanitization. * Copy changes to htcdumlock, but rely on cmdline only. ps3: fix merge conflict in data.cpp includes Change-Id: I720d3bc8416758f5f83782e8bc298b32eda1a573
* add magic property.* value for accessing system property variablesXuefer2015-06-171-3/+18
| | | | Change-Id: Ic916da6e7ecbf79396febfe1e5f0b0ae8570083f
* Don't try to read temparature file if TW_NO_CPU_TEMP is set to true.Agontuk2015-06-011-0/+4
| | | | | | | | | Otherwise, recovery log gets filled up with "I:Cannot find file /sys/class/thermal/thermal_zone0/temp" This also fixes build warnings due to duplicate definition of TW_NO_CPU_TEMP. Change-Id: Ib7fdcd103d6684249c38c8b14ec85f2faba158f6
* Mount system as read-only by defaultEthan Yonker2015-05-271-0/+2
| | | | | | | | | | | | | | 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
* TZ: Update default time zone stringMatt Mower2015-05-181-2/+2
| | | | | | | The strings were updated in https://gerrit.omnirom.org/12827 but the default values where accidentally forgotten. Change-Id: I423f315cd9509fc61f14bfe4c13a28fbc2722315
* gui: simplify blanktimerthat2015-01-111-3/+0
| | | | | | | | | - 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
* Add locking to DataManager, remove unused C partsVojtech Bocek2015-01-091-119/+32
| | | | | Change-Id: I33e8f96611bd9a6795bdd3fb588c20716bdb5929 Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
* Attempt to set the proper uid/gid/contexts on new files and dirsEthan Yonker2014-12-121-0/+2
| | | | | | | | | | 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
* Add support for temperatures in tenths of a degree CelsiusHandyMenny2014-10-211-1/+3
| | | | Change-Id: I3aa7c3d193715b8c309a99afd23e753a559e3083
* display cpu temperature in twrpJenkins2014-10-141-2/+47
| | | | | | | use TW_NO_CPU_TEMP := true to disable display use TW_CPU_CUSTOM_PATH := path to set custom path Change-Id: Id260ecbb4ec36a78442387329944f67003d0f6a0
* Attempt to automatically identify data/media devicesEthan Yonker2014-09-201-181/+5
| | | | Change-Id: Ia3007fbced9ce3bc94efdb3dacc582a5e68a49a4
* Allow MTP debug setting to stick through a rebootEthan Yonker2014-09-041-0/+1
| | | | Change-Id: I81eb5eaa2286c0ee3078e01304d65b9489f13bf2
* add mtp responder to TWRP.bigbiff bigbiff2014-09-031-0/+8
| | | | | | Big thanks to Dees_Troy for helping with the implementation. Change-Id: I6c9c522b9c9de5dc139e2ecb0141008182ba07f0
* Support reading since_epoch and secondary brightness filesxNUTx2014-08-101-6/+14
| | | | | | | | | | | | | | | 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
* Fix setting of brightness during startupEthan Yonker2014-07-091-7/+9
| | | | Change-Id: I1bd01df971857a2dd5e75ed87c488d075d765527
* 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
* Fix crash while loading config due to incorrect tw_storage_pathVojtech Bocek2014-05-311-2/+9
| | | | | Change-Id: Ia5957efe616defa4272501cd8f31d26d394077bb Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
* Fix handling of storage with data/media vs data/media/0Ethan Yonker2014-04-161-3/+4
| | | | | | | | | Sometimes loading the values from the settings file may set the storage path to /data/media when the proper path is /data/media/0 This commit will grab the storage path from the partition manager to ensure that we are using the proper path. Change-Id: Ibfd63125a2b9705319eb55b09c7e65391757bbc2
* Add additional search path for brightnessEthan Yonker2014-04-161-0/+1
| | | | Change-Id: Ib1f032d87aafd7732d460caeca1e3ae6745a563d
* Add find file class to search for filesEthan Yonker2014-04-151-4/+19
| | | | | | | | | | | Scan a folder for a file based on file name. First scan the files in the current path, then search real directories and finally search symlinks in that order. Goal is to locate important sysfs files for things like brightness, battery capacity, lun files, etc This implementation just scans for the brightness file for the LCD Change-Id: I8ed3e74a2e2851d58b443718b6e92b50a5491f08
* Tweak OEM modeEthan Yonker2014-04-041-21/+1
| | | | Change-Id: Ic440e33fa22aa7b082097366f10b333cc945362a
* Allow building of an OEM friendly TWRPEthan Yonker2014-04-041-0/+4
| | | | | | | | 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
* Expansion of vibrate optionsEthan Yonker2014-02-071-1/+3
| | | | | | | 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-061-1/+10
| | | | Change-Id: I15d723f73c0b0bb4a40645d1c3f4c1c616f36998
* Update licenses to all matchDees Troy2013-10-221-14/+16
|
* Pull ROM info from build.prop for backup namesDees Troy2013-09-121-1/+1
| | | | Change-Id: I7847fca22b5d4f0a35da41625b15bd677a1e9768
* Fix zip folder selection when storage path is similarDees Troy2013-09-101-2/+1
| | | | | | | If internal is /sdcard and external is /sdcard-ext then the zip path used to stay on /sdcard-ext when trying to switch to internal storage. Using Get_Root_Path instead of resizing will ensure that the path changes properly.
* Add a TW_NO_TIMEOUT optionRicardo Gomez2013-08-251-5/+21
| | | | Change-Id: Ifb3a5bd9f1e6c2e9810c90b0aec198e91d5956fc
* Unify indentation and little clean-up in TWRP filesVojtech Bocek2013-08-241-330/+336
| | | | Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
* 2.6.0.0Dees_Troy2013-07-031-0/+2
| | | | | Also copy recovery.fstab to cache and create a storage.fstab in cache for app/apk use.
* Fix saving of backup listDees_Troy2013-07-011-2/+2
|
* Fix issue with save/load of zip locationDees_Troy2013-07-011-6/+4
|
* Support encrypted backup filesDees_Troy2013-06-221-0/+7
| | | | | | | | | | | | | | | 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
* Add new SliderValue GUI widgetVojtech Bocek2013-04-041-17/+9
| | | | | | Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: Ic5d44314f501341140dd7059d1cb753341f5844c
* Move all AOSP code out of recovery binaryDees_Troy2013-04-041-36/+61
| | | | | | Improves license compatibility between GPL and Apache Change-Id: I2b165aa575bb6213af6b07936f99610c113443f0
* Add partition list GUI elementDees_Troy2013-03-301-109/+59
| | | | | | | | | | | | 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
* Add option for custom battery pathDees_Troy2013-03-011-0/+12
|
* Load user saved setting for blank timer on recovery startupbigbiff bigbiff2013-02-281-2/+5
| | | | Fix persistence of military time
* Remove ignore image size settingDees_Troy2013-02-211-1/+0
| | | | | 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-211-0/+1
| | | | | | Also fix sort order for file selector by date and file sizes Change-Id: Idff9fe4232c19d4ed1082e78fabe6f921aa0a114
* add military time optionbigbiff bigbiff2013-02-211-7/+15
|
* Configurable timeout and brightness settingsDees_Troy2013-02-201-1/+39
| | | | Change-Id: I924297ab0dcf920cd4b4b617949c3b16cbc68e43
* convert file_bps to be unsigned long longbigbiff bigbiff2013-02-191-0/+18
| | | | Change-Id: Ib5d9ca8f9a2a4e27d9798665b312376a7d9c571c
* Add TW_USE_MODEL_HADWARE_ID_FOR_DEVICE_ID parameter for correct model identificationAnatoly Smaznov2013-02-191-0/+28
| | | | Change-Id: Ic6440c624b5cfbdb0f24681461748a0da16bf95e
* fix wrong debuging output of used BUILD FLAGS in data.cppTalustus2013-02-021-2/+2
|
* adding sideload page with wipe cache and dalvikbigbiff bigbiff2013-01-251-1/+3
| | | | | fix variable Change-Id: I72eed7b4d709a184e53cc94165a1817a7dcf041e
* Output most build flags to logDees_Troy2013-01-241-5/+24
| | | | Change-Id: I28f62236c5d5fa882cb5c05973ebf84da006b9ff
* Disable USB Mass Storage if the USB lun file does not exist.Dees_Troy2013-01-241-1/+15
| | | | Change-Id: I185edb4538fa84c17fc2b9a803557bb7a622f880
* Save version to cacheDees_Troy2013-01-171-4/+10
|
* Add libtar to TWRP instead of using busybox tarbigbiff bigbiff2013-01-091-3/+1
| | | | | | | 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 SP variable namesbigbiff bigbiff2012-11-241-2/+2
|
* Fixes for multi-user in 4.2Dees_Troy2012-11-151-24/+19
| | | | | | Also fixed inability to delete backups with a space in the name. Change-Id: I2f6639d33caa3c4542960f76adbd59b25ab64f5d
* Fix output of version numberDees_Troy2012-10-011-1/+29
|
* Port reboot functions to C++Dees_Troy2012-09-271-8/+4
|
* Unify portrait layouts againDees_Troy2012-09-261-9/+12
|
* Fix special partition handlingDees_Troy2012-09-211-0/+9
|
* Fix ext storage and zip pathsDees_Troy2012-09-191-1/+5
| | | | | | 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.
* Cleanup extra-functionsDees_Troy2012-09-181-8/+12
|
* Add wipe functions, compiles in CM7, text shows in UI, zips installDees_Troy2012-09-141-3/+29
| | | | | | | | 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
* Move device ID code to data managerDees_Troy2012-09-111-9/+130
|
* Improve storage size code, mount, unmountDees_Troy2012-09-101-6/+0
| | | | Add flag parsing from recovery.fstab
* Add processing of fstab, mounting, and decryptDees_Troy2012-09-071-7/+7
|
* Hax to make it bootDees_Troy2012-09-061-2/+3
|
* TWRP-ify AOSP codeDees_Troy2012-09-051-0/+918
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