A return here leaves adb sideload in a permanent loop. An exit is
more appropriate for this error.
Change-Id: I80fb8abae4f6378833aa75f9eaf7ec1acd44b274
Signed-off-by: Ethan Yonker <ethanayonker@gmail.com>
When creating a new file using open(..., O_CREAT), it is an error
to fail to specify a creation mode. If a mode is not specified, a
random stack provided value is used as the "mode".
This will become a compile error in a future Android change.
Change-Id: I73c1e1a39ca36bf01704b07302af4971d234b5a8
Due to a kernel bug and no available sources we have to work around the
MEMERASE ioctl - if used, it hangs and never returns. I straced the original
recovery executable and could see that it is simply calling write() with a
bunch of zeroes instead of using MEMERASE.
Added a hack that does the same and now the resulting TWRP recovery image works.
Change-Id: I1b1c1c9e870e350776346bdca5d442c7ef565aa0
- Until the encrypted partition is decrypted, treat it as a disk image
instead of a filesystem so that it is properly backed up using dd.
- Make Partition::Wipe() use the filesystem from fstab for disk images
so that wiping an undecrypted /data makes it a plain unencrypted
partition again.
Change-Id: I78db977d6348cfa66b0cfbc492fb5776f84db48d
If your screen is a TV, it may not actually be displaying the edges of
the framebuffer. Allow specifying an overscan percentage, and move
each edge of the framebuffer in by that percent of the width/height.
(The gr_* layer just lies to the caller about the size of the
framebuffer, telling the caller it's smaller than it really is, and
offsets all drawing commands to match.)
Change-Id: I11bb2feb39ae522bd3e957a14ebdecf3609e0fdc
NextCheckKeyIsLong() is called right before each call to CheckKey() to
tell the implementation if the key is a long-press or not. (To be
used on devices with few buttons.) It's done as a separate method
(rather than a parameter to CheckKey) to not break existing recovery
UI implementations.
EnqueueKey() can be called from CheckKey() to put arbitrary code codes
in the synchronous queue (to be processed by HandleMenuKey).
Change-Id: If8a83d66efe0bbc9e2dc178e5ebe12acd216324b