The new android_reboot() function is a nicer way to reboot the
system. I can optionally sync() and remount read-only writable
filesystems. This fixes bug 3350709.
Change-Id: Ic4c8676debd642e57bce3107b99dd810d90b6f82
Recovery assumes any paletted images are in RGBA format. Make it
handle both RGB and RGBA paletted images.
Bug: 3514884
Change-Id: I517cd571aa3f434dacacc33a774236260aec20ef
Also remove the weird backwards compatibility thing for animations
with fewer than 10 frames. Frames are always named "name01.png",
"name02.png", ..., no matter how many there are.
Change-Id: I7af64fdec1bfcdb0464998b735ec8d6c626ffe9d
Change some of the UI parameters (# of indeterminate progress bar
frames, fps, etc.) from #defined constants to variables that can be
set by the device-specific recovery_ui code (via a new function).
Support overlaying different images on top of the base installation
icon to animate it. Make the FPS control more accurate.
Change-Id: I9268b389b7ea6b3ed9e0c7eae37baf4272e60edd
If recovery sits for 2 minutes in prompt_and_wait(), and you've never
turned the screen on via the magic keypress, go ahead and reboot. (We
used to assume that the user could pull the battery to get out of this
state, but on devices with nonremovable batteries...)
If you've ever enabled display of the log/menu since recovery started,
we assume you know what you're doing and will stay in recovery until
you choose to reboot.
Bug: 3387873
Bug: 3387274
Change-Id: I041621e5db132df9a925e6808845a7c45e1b427a
When formatting /data, if it's an ext4 filesystem, reserve the
last 16 Kbytes for the crypto footer.
Change-Id: I7b401d851ee87732e5da5860df0287a1c331c5b7
Add "RECOVERY_24_BIT := true" to the device's BoardConfig.mk to use
24-bit framebuffers in the recovery ui.
Change-Id: Iaede138bf7870becf237f12f1c0e49c9ff82d007
ECC errors are found by comparing the result of ioctl(ECCGETSTATS)
before and after the read. But if an error was found causing us to go
to the next block, we'd compare the stats before the *first* read to
the stats after the second (third, fourth, etc.) reads, so we'd read
to the end of the partition without ever succeeding. Fix logic so we
compare the values before and after each read independently.
Bug: 3162777
Change-Id: I5a13abd7243d2afd1d21bd98cbb233e5124b2e80
Make ui_init() clear the framebuffer memory it maps in so the user
isn't treated to a visible flash of random bits on recovery startup.
Call ui_set_background() (to show the installing icon) right after
ui_init() to display something while device_recovery_start() is
working (which can take a second or two on some devices).
Bug: 3145331
Change-Id: I11e7859fab5847370ea4f4932c3fb1558af26c5d
Merge commit '2d87023e77b20aa2196c8ceae833b33040b0dc57'
* commit '2d87023e77b20aa2196c8ceae833b33040b0dc57':
save the log from recovery's last run in /cache/recovery/last_log
Merge commit '2c3539e4d8251ad91e0b881253d39583680093e8' into gingerbread-plus-aosp
* commit '2c3539e4d8251ad91e0b881253d39583680093e8':
save the log from recovery's last run in /cache/recovery/last_log
Merge commit 'af78591c9a2aa8379c2d8528c31ea1eb813f6cae'
* commit 'af78591c9a2aa8379c2d8528c31ea1eb813f6cae':
mount sdcard only on demand; fix sideload installs
Merge commit '2c3c5c15d15faf1c9fa074851c57d0afa2a40d28' into gingerbread-plus-aosp
* commit '2c3c5c15d15faf1c9fa074851c57d0afa2a40d28':
mount sdcard only on demand; fix sideload installs
Merge commit '8147ba850b2e74dc950183e67c77a0da2b1a19b7'
* commit '8147ba850b2e74dc950183e67c77a0da2b1a19b7':
use fs_type "emmc" instead of "block" for consistency (do not merge)
Merge commit '93ca4fc6943a3ebf758c5db98531531b8fe92c98' into gingerbread-plus-aosp
* commit '93ca4fc6943a3ebf758c5db98531531b8fe92c98':
use fs_type "emmc" instead of "block" for consistency (do not merge)
Remove the wacky notion of "roots" and "root paths" (those things that
look like "FOO:some/path" instead of just "/foo/some/path"). Let each
device specify its own table of available partitions and how to mount
them (needed for devices that use both MTD/yaffs2 and EMMC/ext4
partitions).
(Cherrypicked from gingerbread w/slight edits.)
Change-Id: I2479ce76b13e73f1d12035c89386c3a82b3edf51
Merge commit '3dba40da1e533c6f419857e4274d9d9dd55868b6'
* commit '3dba40da1e533c6f419857e4274d9d9dd55868b6':
remove the notion of "root path"; support mixed flash types (do not merge)
Merge commit 'd4208f9f9d4e9f268ba1888c1fe879ee73eb7e47' into gingerbread-plus-aosp
* commit 'd4208f9f9d4e9f268ba1888c1fe879ee73eb7e47':
remove the notion of "root path"; support mixed flash types (do not merge)
Remove the wacky notion of "roots" and "root paths" (those things that
look like "FOO:some/path" instead of just "/foo/some/path"). Let each
device specify its own table of available partitions and how to mount
them (needed for devices that use both MTD/yaffs2 and EMMC/ext4
partitions).
Change-Id: I18b0a572a71c5e087e0b7ae11b1774388339bfd1