| Commit message (Collapse) | Author | Files | Lines |
|
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: I8622da5ae321ba69a55b38e2f0b878b7ec149d02
|
|
Change-Id: I70324ae3e4fffe88bc2b5a02becb7d1f4f0ceab0
|
|
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
|
|
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
|
|
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
|
|
Change-Id: Ib67a356f8d5e6bb0f982c081fc88b6462c7fbd74
|
|
e.g. '<button ...>' instead of '<object type="button" ...>'
Also get rid of default parameters to make things more explicit.
Change-Id: Ie4d1231b725aeb6cbf0041622c9780c86cf8e1c1
|
|
Change-Id: I9f05c85f8d43ab012228a78b79220a27876a299d
|
|
Change-Id: I7d82b95cd8749c6f8569739162708705faa6f1f7
|
|
Change-Id: I1329705fca870b4e3017607ad7c7875aa00d664b
|
|
To allow themes to show more of the file name on narrow displays.
Change-Id: I4962eed5e4a01f73a3cde126f2ba56428209fccc
|
|
LoadResources should only decide on the resource type,
everything else is handled by the resources themselves.
Change-Id: I30f68293960c23560979f650efc4393992cf5824
|
|
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
|
|
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
|
|
This should fix daylight saving time display for most users.
For fully correct time zones we need the tzdata database.
Change-Id: I7b7693ab0abaf20be217bd06d525f03fb89b7217
|
|
This effectively allows us to support popup dialogs and the like.
Change-Id: Iafb3fa60ed635287cb59dce118f74dc8f2a4e60a
|
|
* Applicable to non-rooted devices running portrait mode only.
* Touching the button has no effect, supposed to reboot/poweroff.
Change-Id: If67649c4c83ddf549c833f94c66829e0877969c5
|
|
Change-Id: I59b3f8c5604c036dbc74c020ee21aeeef28132d3
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
|
|
Also minor cleanups:
- move array limits from #defines to a protected enum
- zero fill layouts in ctor
Change-Id: I8fe0f8465ebc646ad3bf3cc3f8490dbdd384f43d
|
|
Change-Id: I6cd0251dd9d933e6ebef977a553be7473e2d7034
|
|
"_" was broken due to a bad XML attribute name, and the others
didn't produce the highlighted character in shift mode.
Change-Id: I271fbf4e083ccdb69c469cbdae44101afed4fd1e
|
|
This was questionable design and is unused anyway.
Also reduced a few redundant #includes.
Change-Id: I65bb01120e6072c5695755920242f6f9d73c816e
|
|
Change-Id: Ia2d3268a96423e9ca3846500c57e674c4f8fa60b
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
|
|
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
|
|
Change-Id: I287722719c1f73cc8f7214549f9a890f03d4a586
|
|
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
|
|
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
|
|
e.g. '<image ...>' instead of '<resource type="image" ...>'
Change-Id: I5ce04ae0845351c8a4640d12e36f1aaf32e1ebc9
|
|
- 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
|
|
Not all themes tested.
To center the scrollbar horizontally on the line, the width must be
fastscroll_linew + 2 * something.
Change-Id: I3c2878734ffbd2e8ef3bc7c64b2f16d4f61aeda5
|
|
- 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
|
|
- so derived lists can draw whatever they want (multi-line etc.)
- replace GetListItem with RenderItem
- minor cleanup
Change-Id: I062e0a354f1c18ce0a5232b7542c4987b480e232
|
|
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
|
|
Safer handling:
& --> &
> --> >
< --> <
Broken tags:
</function> --> </action>
<folders="1"...> --> <filter folders="1"...>
Change-Id: Iaddaf9db163e08250cb4deefdfdb814c589ccb47
|
|
The portrait placement was mistakenly removed in commit
I6e314efb4bb454d496555ff7e003d743063a1308
Change-Id: Ida5f908e61df0f99e0f5327c298e6a1a915d0f66
|
|
Style support was missing.
Change-Id: I9a9a8c6a42e2a3d0dcdee871a639c9842a2ff668
|
|
(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
|
|
Avoids invisible lines (e.g. input cursor) when scaling down.
Change-Id: I595e8bdb2fa468c30f104867ad77be2423ec287f
|
|
Change-Id: I008664109360d937a31232c8cc15c7c9d3dd0ba5
|
|
- 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
|
|
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
|
|
Change-Id: Ia674676c847e429c41ddbe6de3e1778c3d5c8302
|
|
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
|
|
- 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
|
|
Change-Id: Ib9963d8d393cf4428e43a3d6552d98ae67c1d7bf
|
|
Base class must be called first, otherwise the condition can never
again become true. Fixes font size switching in Material theme.
Change-Id: I160a733549495e1bde3cead56b0a3582f0dc744c
|
|
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
|
|
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
|
|
- 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
|
|
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
|
|
Apparently fixing all the signed/unsigned warnings was good. :)
Change-Id: I62faa23179e8b2436fe0d24d2152af341cd42fe9
|
|
Speeding up scrolling after releasing is distracting, get rid of it.
Instead reduce friction to its previous value.
Change-Id: I5c99cc71b631747697e967bd75669aa3d908c637
|
|
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
|
|
-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
|
|
- 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
|
|
A single char should never be treated as a string.
Change-Id: I5f8459495f7d0f907ac7c0ae6dd73a3428d92d23
|
|
- 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
|
|
- 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
|
|
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
|
|
Change-Id: I97e08a23369af0112875af84b3fb529cf42e929e
|
|
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
|
|
(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
|
|
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
Change-Id: I283b33087817eb87dae916a3183a9024dd35effd
|
|
Change-Id: If05202355d3773e73541288c922fa6c69b1a9ad7
|
|
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
|
|
Also eliminate the mostly similar runPage function in favor of
using a single runPages function to avoid code duplication.
Change-Id: I46ef414beb4009fee16d4de13d8a5ab2b9678409
|
|
Change-Id: Ib94e661ab0c608deb2d119168709c85a9a44b2fa
|
|
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
|
|
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
|
|
Change-Id: I1463a0ba62a23c68c15f05e79a99fa8509314373
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
|
|
- 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
|
|
isn't used by the code, can be set via datamanager instead.
Change-Id: I3d98c85c91ce41f32de90345715f2f456f628419
|
|
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
|
|
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
|
|
- 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
|
|
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
|
|
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
|
|
Change-Id: If79086b0128e57087fd87f07d56984eb2a15d8b2
|
|
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
|
|
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: I109c7ae5963b5b4d9d1a8190e364a7685c41dbdd
|
|
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
|
|
The button vibration slider was not showing up on portrat layouts.
This commit fixes that issue and maybe some other issues.
Change-Id: Ia0c0ed319358db3b99887b3b37aa7737c7caf0cc
|
|
Change-Id: I9e2f359dd7274e1ae885f6a3b392d5ab5ca99ac9
|
|
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
|
|
Change-Id: Idc44455dd0c971c876ae283528c4367a82e145bd
|
|
-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
|
|
Change-Id: Id5a0d40d05b0d7e56fb3e8f0578c201957508b70
|
|
Change-Id: Ib9ad011428603979f7dd8a2708989feb9b13e075
|
|
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
|
|
We will have to update the zip handling later. Now at least TWRP
boots up to the GUI.
Change-Id: I4182896eb095cab52fb0f1c9c20b6605e35677b9
|
|
Change-Id: I0caaa51720fe3608b8c4cb02f046afb3cbaa54f9
|
|
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
|
|
Change-Id: Iac1c13b38df2ac66106abcda7c9d171a1549b65f
|
|
Change-Id: Ic864fae4fda9707fc84d6d8b33587863b7664e1e
|
|
use TW_NO_CPU_TEMP := true to disable display
use TW_CPU_CUSTOM_PATH := path to set custom path
Change-Id: Id260ecbb4ec36a78442387329944f67003d0f6a0
|
|
* 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>
|
|
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
|
|
Change-Id: Ia3007fbced9ce3bc94efdb3dacc582a5e68a49a4
|
|
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
|
|
Change-Id: I24f3c8587f778c4f0ef43737243c8378a3fd0e00
|
|
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
|
|
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 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>
|
|
Change-Id: I9777e92ca26967d41625e726383ae6aa5406161d
|
|
Change-Id: I1acba95302e414e1a471d27474508a7c48df0328
|
|
Change-Id: Iea2fac2f1b300c312819ea2d83e1762669d357b6
|
|
Change-Id: I9448eed41e43c4fce575b7ed12b5270a1d75f99b
|
|
Change-Id: I7fe38b20913a981942105637a527a2d26ed035a5
|
|
Change-Id: I1a50fa0bb750b229220c217d24253b65f24d2920
|
|
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
|
|
This reverts commit c45181db0902762fb670b56a173db7c331e564cb.
Change-Id: I9dfb2733d9eb30c32bc1e307e382ee8e4e47a0b6
|
|
Change-Id: I9e54d2bcfe89e1e0e3205ce2f4156cfd22dca5b5
|
|
Use common portrait and landscape xml files based on resolution
defined by the device.
Change-Id: Iec528f9d846d49857ff98de1ac201e25dbb60339
|
|
* 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 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
|
|
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
|
|
Change-Id: Id16c84f815b1c4b8e95da142648a5a759116ee6e
|
|
Change-Id: Id772737d2856698861686671152f14bad800cd5c
|
|
This is by no means comprehensive, but is quite a bit better already.
Change-Id: Ibc8654a5dfb0eec39cbd0b64bdb52bb4fbfe2f7e
|
|
Change-Id: I9043e98e1e1ed4722f05c13a60b43d2d0bf739f6
|
|
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
|
|
Change-Id: I9dfa7de40229f00412d63fc9c1eb3a809a6eb2e6
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
|
|
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
|
|
Change-Id: I360f93e70c6a48eed502a5aacd6d8d654ca7b570
|
|
Change-Id: I06351f8ecdfe5b119bbae0d6800258adef844c66
|
|
Change-Id: Ia9fba3be16a33b3cb0c4a3458398a2e60ba7f001
|
|
Makes a smaller TWRP
Uses mksh for shell
Change-Id: If78d7745dda8919fcb2e9c9b60c6696063c14114
|
|
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
|
|
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
|
|
Change-Id: I98dd6b25cbb1616f6032e9dcb4174461add53498
|
|
the theme.
Change-Id: If633af291689b2ac686c41331bb9adac34c425ad
|
|
Change-Id: I11bd9fea2a900a92794c5c297846eb87265eeee7
|
|
Change-Id: I2745bcf8f242fe4a1992aa547efaccf33db0fb5b
|
|
Change-Id: Ib23354a706013c8cee6665c720fa3b890f3fb3de
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
|
|
Change-Id: I0801d29aeb66678157123e3630b09a2b527ad4df
|
|
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
Change-Id: I4a23cd78bd63d63f4d6ec8f34dcc6eced824123b
|
|
Change-Id: I7ba9a8a496536ed55241e45e18297bd824d7e28c
|
|
Change-Id: Ibcf89952ee1391350c715f1ec82cf0cdb9b0ca7d
|
|
Change-Id: I4be3849ff0485536575395d798aa5edbe12651a7
|
|
Change-Id: I52b34a316950e92a3aa4c1675475fca8dc08d2c8
|
|
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
Change-Id: Ia50f7c365b2dc0a65ee046bb42972e3594264878
|
|
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
Change-Id: I8df41877f8f4439a434becfd47a9914b50649b34
|
|
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
Change-Id: Ic0a7d6354dabe5919b83942f2f1aa0715625e522
|
|
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
Change-Id: I7b0e27930857add1ac88671a71310bea56fc4e74
|
|
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
Change-Id: I66d6db7b3ed9cca50b469d125b36224332e06913
|
|
Improve location / timing of vibration
Split out vibrate settings for buttons, keyboard, and long actions
Change-Id: I282825cc5f3e44ed6dcabe65dc1f4cb21b407b67
|
|
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
Change-Id: Id158a6375fbadf4cdf0a8c7d143759e602419e7f
|
|
Change-Id: I15d723f73c0b0bb4a40645d1c3f4c1c616f36998
|
|
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
Change-Id: I925adda7f417c6e578f501babc8ef2bec638f66b
|
|
Change-Id: I4470a3a090d10f400575d45338a8349fbee8a027
|
|
Change-Id: I478f172e1a549b50ebe29cf9a8b8618a84b3cb17
|
|
Change-Id: Ic6a0b4b3e41818ff510ca652d5f14bdecd531826
|
|
* 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
|
|
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
|
|
Change-Id: I4dbb4677f1c3bcfa0b0a9248ae0b411c155f927e
|
|
Change-Id: I9b178cebbb2834cd0c86088c8e78678f55d14e62
|
|
Change-Id: Ifc71c2e2078dbcd4b4893205bea9988e1e129f83
|
|
Change-Id: I3be70a897e563658736b2dec3a9ea2697b69b225
|
|
|
|
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
|
|
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
Change-Id: I558c988c94f750607f58aa3dd22736447c78a214
|
|
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
|
|
CM7 and CM9 do not have libselinux needed in the newer minzip.
|
|
|
|
Change-Id: Ifb3a5bd9f1e6c2e9810c90b0aec198e91d5956fc
|
|
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
|
|
|
|
This reverts commit 70e1129612765b14e5aace0155d4683c91cde951.
No longer needed after http://review.teamw.in/#/c/655/
|
|
|
|
Change-Id: Id5ce607a181110118ebc647fc07d387a7a3dc660
|
|
|
|
Change-Id: Iedb50aca0132259bfe4297e187dbc2d40a38a34b
|
|
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
|
|
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.
|
|
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.
|
|
|
|
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
|
|
Change-Id: Iaf771257d8f904807ca6f6c1a6c3d7993abadb85
|
|
|
|
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.)
|
|
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
|
|
2 second predim code courtesy of bigbiff
Change-Id: I052ac422f78dc82c05f58c188587534b800b935a
|
|
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.
|
|
Fix persistence of military time
|
|
|
|
Also fix build problems with libblkid in CM7
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
Change-Id: I1cd4573e25b247171e4bd8cc05b70543f897a454
|
|
Move military time setting up and remove the now unused ignore
image size setting from XML layouts.
|
|
Also fix sort order for file selector by date and file sizes
Change-Id: Idff9fe4232c19d4ed1082e78fabe6f921aa0a114
|
|
|
|
Change-Id: I924297ab0dcf920cd4b4b617949c3b16cbc68e43
|
|
|
|
|
|
|
|
|
|
|
|
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: I06fa6120a975cbc3d4eef9bc2ca034ec716740ee
|
|
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
|
|
|
|
|
|
Allow to decrypt /data even if decryption was skipped during the initial
loading of recovery
Change-Id: If2251757a276dd069578e93e5a038b25a825bff6
|
|
|
|
|
|
Also fixed inability to delete backups with a space in the name.
Change-Id: I2f6639d33caa3c4542960f76adbd59b25ab64f5d
|
|
|
|
|
|
|
|
|
|
|
|
Fix permission setting for other
Add new fix permissions to GUI actions
Update version number
|
|
A few other minor xml tweaks
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Also redirect stderr output on terminal commands for display in
GUI console
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
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
|