| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: Ibd2f67391ce6d7774498839829e0de9391508781
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: I2ca7580bbde5a8903b9ba5c1513ddba887e8d49e
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: I29fe722b4eb9718765327902779046840a01433e
|
|
|
|
| |
Change-Id: Id48245218dc3ee3c6506521ce0134e6a579b6f4a
|
|
|
|
|
|
| |
Make sure that opendir succeeds before continuing.
Change-Id: I3c96002ab830f4df2041044d411a7bac42a5b8f4
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: Icab9db0ceb63edba021cc190eea2ebbc87cf3442
|
|
|
|
|
|
| |
Create GUIAction to handle KEY_POWER with a screen backlight toggle.
Change-Id: Iad0a7923b4a776e0336722db74d6fc46cd0107a2
|
|
|
|
| |
Change-Id: I2397d0bd221dcf5c9d0f971ba157519bcf014a70
|
|
|
|
| |
Change-Id: Ie0b97da2cce7bb93307ed49b1138bc2f36df34d0
|
|
|
|
| |
Change-Id: I93c65973679894bb8587da4b38b410d38036b8bd
|
|
|
|
| |
Change-Id: Id85fdf0f4dee02f8ee3ae50ec42423c6a154a3eb
|
|
|
|
|
|
|
|
|
| |
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-Id: I7eaf80e327985f53791f90fbdebad022a9650d31
|
|
|
|
|
|
| |
Give user option to copy kernel logs to current storage
Change-Id: I0c61122fb34826ddb08977e6cbf98e3adf477acd
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: I668604cddc8e8afbf78709f3f872bea4e9f4aa06
|
|
|
|
|
|
|
| |
Provide a countdown from 5 sec for the automated reboot after install.
Include a cancel button to interrupt the process.
Change-Id: Ib5e1447918adfde45eba361c088800812b690890
|
|
|
|
| |
Change-Id: I6ae96b60d34fa4e4b23cd1e5a4fffff3d00451c7
|
|
|
|
|
|
|
| |
The 'state' parameter in GUIAction::NotifyTouch() is used in the
function.
Change-Id: I0744c7aa1542d771dbd2916638fbdd53e9681f86
|
|
|
|
|
|
| |
* Send the cursor to the end of the input text
Change-Id: Id4f20717134cd38188cc1107f73dcd6bb995f377
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
-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
|
|
|
|
| |
Change-Id: I29f3823d03c005fb55a0e0a98818d40bd1eb039d
|
|
|
|
|
| |
Change-Id: Id4a6c04712238b86787696337874239591082d39
Signed-off-by: Xuefer <xuefer@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: Ideb4bb39b5e864a43b62e807c38b6395c56a8466
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
-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
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
| |
Change-Id: I7d047fe3436100dbe7c7515860a143a97f7ef0d4
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
| |
Change-Id: I078f0659696cc57564b5db0076a0ed9aaea822d4
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
The vendor partition is verity checked just like system so we
should treat vendor as read only same as system.
Change-Id: Ida65c9f44d8610e52fcdcef0b4a50faf5c7110d2
|
|
|
|
|
|
| |
Mostly adding __unused where needed.
Change-Id: Ia4f675b9b360782728c361ed1699db0cc277c3a5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: I7d82b95cd8749c6f8569739162708705faa6f1f7
|
|
|
|
| |
Change-Id: I1329705fca870b4e3017607ad7c7875aa00d664b
|
|
|
|
|
|
| |
To allow themes to show more of the file name on narrow displays.
Change-Id: I4962eed5e4a01f73a3cde126f2ba56428209fccc
|
|
|
|
| |
Change-Id: I1bbc25df6f35f79549f1eb06feb4db9ec0475aa5
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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: fix terminal command unusual line breaks and missing characters at the end of a read buf.
Change-Id: I8d3d740b6066b1594c5148b2012f0e7bcbecc22b
|
|
|
|
|
|
|
| |
* Use mono font for terminal command input
* Recognize 'exit' command (go to main page)
Change-Id: I5f383cd8d19959a49d2ae0b18f839b86e4145693
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
-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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
Change-Id: I283b33087817eb87dae916a3183a9024dd35effd
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: I6e43242e44ce63cea9472c75a9f7fedf1b34fbbe
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Change-Id: I01405fbe86a48ae79f2cbe633b89f2dcfb1ef266
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
|
|
|
|
|
| |
Change-Id: Ic8406344994ef2a9972207f9281b52e64e22826b
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
- "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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: Ib503d0e87434e1a28430779302d6565211c26592
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Big thanks to Dees_Troy for helping with the implementation.
Change-Id: I6c9c522b9c9de5dc139e2ecb0141008182ba07f0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
* 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>
|
|
|
|
| |
Change-Id: Id16c84f815b1c4b8e95da142648a5a759116ee6e
|
|
|
|
|
|
| |
This is by no means comprehensive, but is quite a bit better already.
Change-Id: Ibc8654a5dfb0eec39cbd0b64bdb52bb4fbfe2f7e
|
|
|
|
| |
Change-Id: I9043e98e1e1ed4722f05c13a60b43d2d0bf739f6
|
|
|
|
|
| |
Change-Id: I9dfa7de40229f00412d63fc9c1eb3a809a6eb2e6
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: I7ba9a8a496536ed55241e45e18297bd824d7e28c
|
|
|
|
| |
Change-Id: I52b34a316950e92a3aa4c1675475fca8dc08d2c8
|
|
|
|
|
|
| |
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
Change-Id: Ia50f7c365b2dc0a65ee046bb42972e3594264878
|
|
|
|
|
|
| |
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
Change-Id: Ic0a7d6354dabe5919b83942f2f1aa0715625e522
|
|
|
|
|
|
|
| |
Improve location / timing of vibration
Split out vibrate settings for buttons, keyboard, and long actions
Change-Id: I282825cc5f3e44ed6dcabe65dc1f4cb21b407b67
|
|
|
|
| |
Change-Id: I15d723f73c0b0bb4a40645d1c3f4c1c616f36998
|
|
|
|
| |
Change-Id: I4dbb4677f1c3bcfa0b0a9248ae0b411c155f927e
|
|
|
|
|
|
| |
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
Change-Id: Id8acff1ac9b3c7e4b562c80562a8ff42a1d132b9
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: I7847fca22b5d4f0a35da41625b15bd677a1e9768
|
|
|
|
| |
Change-Id: Ifb3a5bd9f1e6c2e9810c90b0aec198e91d5956fc
|
|
|
|
| |
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
|
|
|
|
| |
Change-Id: Ie7d5878faf86b8fa824b72211be7fd3596b471d7
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
Change-Id: Ic5d44314f501341140dd7059d1cb753341f5844c
|
|
|
|
|
|
| |
Improves license compatibility between GPL and Apache
Change-Id: I2b165aa575bb6213af6b07936f99610c113443f0
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Also fix sort order for file selector by date and file sizes
Change-Id: Idff9fe4232c19d4ed1082e78fabe6f921aa0a114
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: I2d2af963f4d6990191d91a336f682516af61d734
|
|
|
|
|
| |
fix variable
Change-Id: I72eed7b4d709a184e53cc94165a1817a7dcf041e
|
| |
|
|
|
|
| |
Change-Id: I6a76a51cd9efd7db67d7abeeb26f9bdd0eebf5a9
|
|
|
|
| |
Change-Id: I5a33d207ec6683de20da37e6f4f174c67785fc52
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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 permission setting for other
Add new fix permissions to GUI actions
Update version number
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Also redirect stderr output on terminal commands for display in
GUI console
|
| |
|
|
|
|
|
| |
Improve zip finding in ORS engine
Add support for restoring with just a backup name
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
Also copy zip from /tmp to storage and remove from /tmp to
prevent running out of RAM.
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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 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.
|
| |
|
|
|
|
| |
Add flag parsing from recovery.fstab
|
| |
|
| |
|
|
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
|