History log of /bootable/recovery/recovery.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
0e5356a994f80830f88eada233da1cd493b37b37 30-Mar-2015 Andres Morales <anmorales@google.com> DO NOT MERGE Revert "Erase PST partition if its marked to be erased."

This now gets done at the framework level. Doing it here breaks the signature on the partition.

This reverts commit ee19387905650cab5da7dd97ada5502cd17ac93d.

Bug: 19967123
Change-Id: I447b926b733ca145f11a916d9569ce39889db627
/bootable/recovery/recovery.cpp
5b9defe848933503de062cd3925c9e4ad4e1933f 11-Mar-2015 Tao Bao <tbao@google.com> updater: Check the return value from ApplyImagePatch / ApplyBSDiffPatch

Return NULL to abort the update process. Note that returning ""
won't stop the script.

Change-Id: Ifd108c1356f7c92a905c8776247a8842c6445319
/bootable/recovery/recovery.cpp
f59b994264b2e8ffe179e2405cda81811f8a9db1 09-Dec-2014 Patrick Tjin <pattjin@google.com> Add basic navigation controls to log viewer.

Bug: 18642766

Change-Id: I95a6c8edf83513d421a041e79c15111b5c991dde
Signed-off-by: Patrick Tjin <pattjin@google.com>
/bootable/recovery/recovery.cpp
cd055ee72a5efaf4bcbc0f81692410d3ffcda5e0 09-Dec-2014 Patrick Tjin <pattjin@google.com> Save kernel logs to /cache/recovery

Bug: 18642766

Change-Id: I6c8b7d8f9ffb688d3afdfe0d47c4142e711e421d
Signed-off-by: Patrick Tjin <pattjin@google.com>
/bootable/recovery/recovery.cpp
a9ad0324d1e351b1ef460972a871bcb03051cd6a 23-Oct-2014 Nick Kralevich <nnk@google.com> Make /cache/recovery/last_log available in recovery

Create a new recovery UI option to allow the user to view
/cache/recovery/last_log for their device. This gives enhanced
debugging information which may be necessary when a failed
OTA occurs.

Bug: 18094012
Change-Id: Ic3228de96e9bfc2a0141c7aab4ce392a38140cf3
/bootable/recovery/recovery.cpp
a6e13ae01bff5109361868f565187f16d045c82d 24-Sep-2014 Jeff Sharkey <jsharkey@android.com> Include reason when wiping data.

This will help us track down who requested a data wipe.

Bug: 17412160
Change-Id: I1c439fbd29f96b9851810baca9101f683a0f18d8
/bootable/recovery/recovery.cpp
ee19387905650cab5da7dd97ada5502cd17ac93d 06-Aug-2014 Andres Morales <anmorales@google.com> Erase PST partition if its marked to be erased.

We need to wipe the challenges on this partition
if OEM unlock is enabled, as this is a signal that
the user has opted out of factory reset protection.

go/factory-reset

Bug: 16633064
Change-Id: Icb8f1433bf99ca57813f5b72d5a3dd15fa94a263
/bootable/recovery/recovery.cpp
945fc68c62692467ddb8b7d714bcf0bf01c783c2 10-Jul-2014 Doug Zongker <dougz@google.com> do sdcard sideloading through the fuse filesystem

Make a fuse filesystem that sits on top of the selected package file
on the sdcard, so we can verify that the file contents don't change
while being read and avoid copying the file to /tmp (that is, RAM)
before verifying and installing it.

Change-Id: Ifd982aa68bfe469eda5f839042648654bf7386a1
/bootable/recovery/recovery.cpp
93950229cf9a991589f6bb071a966b00349d18d6 08-Jul-2014 Doug Zongker <dougz@google.com> drop APPLY_CACHE and refactor APPLY_EXT

Drop support for sideloading OTA packages of the cache partition (a
half-solution that's long since been deprecated by "adb sideload").
Refactor the code to sideload OTA packages from SD cards: remove the
installation code from the file browser.

Change-Id: Id0dff6b27c4a5837546f174f50e2e1d0379c43db
/bootable/recovery/recovery.cpp
075ad800c539503d0515e5e0b4af160eccedead9 27-Jun-2014 Doug Zongker <dougz@google.com> sideload without holding the whole package in RAM

Implement a new method of sideloading over ADB that does not require
the entire package to be held in RAM (useful for low-RAM devices and
devices using block OTA where we'd rather have more RAM available for
binary patching).

We communicate with the host using a new adb service called
"sideload-host", which makes the host act as a server, sending us
different parts of the package file on request.

We create a FUSE filesystem that creates a virtual file
"/sideload/package.zip" that is backed by the ADB connection -- users
see a normal file, but when they read from the file we're actually
fetching the data from the adb host. This file is then passed to the
verification and installation systems like any other.

To prevent a malicious adb host implementation from serving different
data to the verification and installation phases of sideloading, the
FUSE filesystem verifies that the contents of the file don't change
between reads -- every time we fetch a block from the host we compare
its hash to the previous hash for that block (if it was read before)
and cause the read to fail if it changes.

One necessary change is that the minadbd started by recovery in
sideload mode no longer drops its root privileges (they're needed to
mount the FUSE filesystem). We rely on SELinux enforcement to
restrict the set of things that can be accessed.

Change-Id: Ida7dbd3b04c1d4e27a2779d88c1da0c7c81fb114
/bootable/recovery/recovery.cpp
8d9d3d5cbe240d09db10d08956d152dce934e892 01-Apr-2014 Doug Zongker <dougz@android.com> add reboot-to-bootloader and power down options to recovery menu

Useful when debugging or developing for recovery.

Change-Id: Ic3ab42d5e848ad3488f1c575339b55e45c8a024b
/bootable/recovery/recovery.cpp
a898c52b6414ca76a137955d9e427fa280863eff 18-Mar-2014 Doug Zongker <dougz@google.com> am b4bbf887: resolved conflicts for merge of 708aa238 to klp-modular-dev-plus-aosp

* commit 'b4bbf8878c3a6b2a17a3a96f1a23300748dbd81a':
add --shutdown_after option to recovery
b4bbf8878c3a6b2a17a3a96f1a23300748dbd81a 18-Mar-2014 Doug Zongker <dougz@google.com> resolved conflicts for merge of 708aa238 to klp-modular-dev-plus-aosp

Change-Id: I3d00437d519f93652ccae6b361e89e853ccae9b3
b1d1263453de7f0f155628b91658a7cccb2e95fd 18-Mar-2014 Doug Zongker <dougz@google.com> add --shutdown_after option to recovery

The "--shutdown_after" option causes recovery to power down the device
on completion rather than rebooting.

Removes the last vestiges of the "--previous_runs" argument, which
doesn't seem to be used for anything.

Change-Id: I465eda2ef59d367e2b1c79a8dc69831263c69a4d
/bootable/recovery/recovery.cpp
a68c517c628acdcfd0107536f34c3fd882ce0629 18-Mar-2014 Doug Zongker <dougz@google.com> am 80c1a386: resolved conflicts for merge of d90da130 to klp-modular-dev-plus-aosp

* commit '80c1a386d3f614919708b37986919ecaf74ee738':
refactor image resource loading code in minui
80c1a386d3f614919708b37986919ecaf74ee738 18-Mar-2014 Doug Zongker <dougz@google.com> resolved conflicts for merge of d90da130 to klp-modular-dev-plus-aosp

Change-Id: Ib95b5bcd8d24014e1f2a956d2f31c99a471d3e30
a418aa7dd5e94cbf1ab2a6fa1c63f60e5e087d42 17-Mar-2014 Doug Zongker <dougz@google.com> refactor image resource loading code in minui

Reduce the number of copies of libpng boilerplate. Rename
res_create_* functions to be more clear. Make explicit the use of the
framebuffer pixel format for images, and handle more combinations of
input and output (eg, loading a grayscale image for display rather
than use as a text alpha channel).

Change-Id: I3d41c800a8f4c22b2f0167967ce6ee4d6b2b8846
/bootable/recovery/recovery.cpp
679baa06b79e0c9100ce05fa0191928fc2a691fb 14-Mar-2014 Mark Salyzyn <salyzyn@google.com> am 4b6de1ba: am 026ebe02: Merge "Recovery 64-bit compile issues"

* commit '4b6de1ba1ce0fff95c18a8abb7ba6e5762006d49':
Recovery 64-bit compile issues
4b6de1ba1ce0fff95c18a8abb7ba6e5762006d49 14-Mar-2014 Mark Salyzyn <salyzyn@google.com> am 026ebe02: Merge "Recovery 64-bit compile issues"

* commit '026ebe0214d6c1c9b3ddc22c35e9ac37e5f622bc':
Recovery 64-bit compile issues
f3bb31c32fa879ccce358c15c93b7bd8582d1756 14-Mar-2014 Mark Salyzyn <salyzyn@google.com> Recovery 64-bit compile issues

Change-Id: I92d5abd1a628feab3b0246924fab7f97ba3b9d34
/bootable/recovery/recovery.cpp
0d32f259cddeaf46917bdc4af3514114c206dd76 14-Feb-2014 Doug Zongker <dougz@android.com> clean up some warnings when building recovery

Change-Id: I1541534ee6978ddf8d548433986679ce9507d508
/bootable/recovery/recovery.cpp
19a8e2463c31a97121c35b4666a8e6879fa7e338 21-Jan-2014 Doug Zongker <dougz@android.com> log extra info for debugging

Make recovery log its PID, and when we use a block map file, log how
many ranges it contains.

Change-Id: I1b4299f8163af68a770b48c029ae25e6cb45d26b
/bootable/recovery/recovery.cpp
c87bab101893e8322b49d7c8600e3367b20ab50a 25-Nov-2013 Doug Zongker <dougz@google.com> add the functions for multi-stage packages to updater

In order to support multi-stage recovery packages, we add the
set_stage() and get_stage() functions, which store a short string
somewhere it can be accessed across invocations of recovery. We also
add reboot_now() which updater can invoke to immediately reboot the
device, without doing normal recovery cleanup. (It can also choose
whether to boot off the boot or recovery partition.)

If the stage string is of the form "#/#", recovery's UI will be
augmented with a simple indicator of what stage you're in, so it
doesn't look like a reboot loop.

Change-Id: I62f7ff0bc802b549c9bcf3cc154a6bad99f94603
/bootable/recovery/recovery.cpp
3b5a987cd7fd76c038e9875b430028216d21ace3 03-Sep-2013 Doug Zongker <dougz@google.com> recovery: fix use of init reboot method

We need to set the system property to "reboot,", not an empty string.

Bug: 10605007
Change-Id: I776e0d273764cf254651ab2b25c2743395b990e0
/bootable/recovery/recovery.cpp
77ea71d6a85a93c9bf423466e87661b1bf67c512 30-Aug-2013 Doug Zongker <dougz@google.com> recovery: fix rebooting

Change I84c0513acb549720cb0e8c9fcbda0050f5c396f5 moved reboot
functionality into init but did not update the recovery partition; so
"adb reboot" and /system/bin/reboot in recovery are both broken.

Change-Id: Ie2d14627a686ffb5064256b6c399723636dff116
/bootable/recovery/recovery.cpp
239ac6abac4524be93fce710360c0512c6cc2ab3 21-Aug-2013 Doug Zongker <dougz@google.com> recovery: install packages in a known mount environment

When installing a package, we should have /tmp and /cache mounted and
nothing else. Ensure this is true by explicitly mounting them and
unmounting everything else as the first step of every install.

Also fix an error in the progress bar that crops up when you do
multiple package installs in one instance of recovery.

Change-Id: I4837ed707cb419ddd3d9f6188b6355ba1bcfe2b2
/bootable/recovery/recovery.cpp
c0441d171914e59941ec4f815ae0aabf56d6504f 31-Jul-2013 Doug Zongker <dougz@android.com> notify about pending long press

Recovery changes:

- add a method to the UI class that is called when a key is held down
long enough to be a "long press" (but before it is released).
Device-specific subclasses can override this to indicate a long
press.

- do color selection for ScreenRecoveryUI's menu-and-log drawing
function. Subclasses can override this to customize the colors they
use for various elements.

- Include the value of ro.build.display.id in the menu headers, so you
can see on the screen what version of recovery you are running.

Change-Id: I426a6daf892b9011638e2035aebfa2831d4f596d
/bootable/recovery/recovery.cpp
a4ee1f8b76a11ea3dc31aad6a0d5d1e9f11904e6 09-Jul-2013 Doug Zongker <dougz@android.com> Merge "recovery: preserve recovery logs across cache wipes"
6d0d7ac051a0338c0e07e239e742b92e5ab8ea07 09-Jul-2013 Doug Zongker <dougz@android.com> recovery: preserve recovery logs across cache wipes

When doing a cache wipe or a factory reset (which includes a cache
wipe), save any last* log files in the /cache/recovery directory and
write them back after reformatting the partition, so that wiping data
doesn't lose useful log information.

Change-Id: I1f52ae9131760b5e752e136645c19f71b7b166ee
/bootable/recovery/recovery.cpp
fafc85b4ad7a5679c6b562bed64460732e05fd1e 09-Jul-2013 Doug Zongker <dougz@android.com> recovery: move log output to stdout

Recovery currently has a random mix of messages printed to stdout and
messages printed to stderr, which can make logs hard to read. Move
everything to stdout.

Change-Id: Ie33bd4a9e1272e731302569cdec918e0534c48a6
/bootable/recovery/recovery.cpp
f24fd7e8479d54eaa2b73db5a3a3ad076a13f72d 02-Jul-2013 Doug Zongker <dougz@android.com> recovery: copy logs to cache more aggressively

Copy logs to /cache immediately upon a package installation failure;
don't wait for recovery to finish. (If the user reboots without
exiting recovery the "right" way, the logs never get copied at all.)

Change-Id: Iee342944e7ded63da5a4af33d11ebc876f6c0835
/bootable/recovery/recovery.cpp
8cd12112e444e01163526fe6ab237f6164b0018b 04-Jun-2013 Doug Zongker <dougz@android.com> am d51bfc9b: Merge "Fix the potential segmentation fault"

* commit 'd51bfc9b1fe89321af3c629e7b23a747050332e1':
Fix the potential segmentation fault
93ffa7579cd75d1bdb2d124aa5cc5f8b6025e3d8 04-Jun-2013 Jin Feng <jin88.feng@gmail.com> Fix the potential segmentation fault

Extral newline can trigger recovery segmentation fault
Test case:
host$ adb shell 'echo -en "--update_package=ota_update.zip\n--show_text\n\n" > /cache/recovery/command'
host$ adb reboot recovery

Change-Id: If1781c1f5ad94a273f1cb122b67cedd9fb562433
Signed-off-by: Jin Feng <jin88.feng@gmail.com>
/bootable/recovery/recovery.cpp
da1ebaef0aa8e38db6edf8bfc3d96290461a424f 16-May-2013 Doug Zongker <dougz@android.com> recovery: save logs from the last few invocations of recovery

Extends the last_log mechanism to save logs from the last six
invocations of recovery, so that we're more likely to have useful logs
even if the device has repeatedly booted into recovery.

Change-Id: I08ae7a09553ada45f9e0733fe1e55e5a22efd9f9
/bootable/recovery/recovery.cpp
7c3ae45ef9306d2ff4b491e0488c8849bf15ce90 14-May-2013 Doug Zongker <dougz@android.com> recovery: turn on text display for install errors in debug builds

Hopefully this will reduce the number of OTA "bugs" reported that are
really just someone having changed their system partition,
invalidating future incremental OTAs.

Also fixes a longstanding TODO about putting LOGE() output in the
on-screen display.

Change-Id: I44e5be65b2dee7ebce2cce28ccd920dc3d6e522e
/bootable/recovery/recovery.cpp
6fd59ac07d91eb373f4269a40e688aa82a6ccc6e 07-Mar-2013 Doug Zongker <dougz@android.com> more font improvements and cleanup

Get rid of the notion of a font's "ascent"; the reference point for
drawing is the top-left corner of the character box rather than the
baseline. Add some more space between the menu entries and make the
highlight bar around the text.

Replace the default font.png with two images; the build system will
include one or the other based on the resolutions of the device.

Restore the original compiled-in bitmap font, to fall back on when
font.png can't be found (eg, in the charger binary).

Add support for bold text (when a font.png image is used).

Change-Id: I6d211a486a3636f20208502b1cd2aeae8b9f5b02
/bootable/recovery/recovery.cpp
cd74108cdac228e946ca8b6ea2ff11ab62941a6d 17-Oct-2012 Kenny Root <kroot@google.com> resolved conflicts for merge of 78afed1c to jb-mr1-dev-plus-aosp

Change-Id: I861e3a6aa07c448909b2ae54618bba178bd6e457
7eb7567aa3faebfb22bd052f3505d485ee23d585 16-Oct-2012 Kenny Root <kroot@google.com> Remove HAVE_SELINUX guards

Change-Id: Ia96201f20f7838d7d9e8926208977d3f8318ced4
/bootable/recovery/recovery.cpp
6016d08b0c3b682f1f7000b42a9ea4b6b6d74f22 08-Oct-2012 Devin Kim <dojip.kim@lge.com> recovery: fix failure to unmount "/cache"

At load_locale_from_cache() function, LOCALE_FILE must get closed
after it is opened and used. Otherwise it causes a failure to
unmount "/cache" after load_locale_from_cache() function is called.

Change-Id: I9cec0f29a8ec4452c8a6a52e2f3c8ce9930d5372
Signed-off-by: Iliyan Malchev <malchev@google.com>
/bootable/recovery/recovery.cpp
6c8553dda8b7fb45adc9f48a294c130b7e283f40 24-Sep-2012 Doug Zongker <dougz@google.com> display error state on OTA failure

We need prompt_with_wait() to show either the ERROR or NO_COMMAND
state as appropriate.

Bug: 7221068
Change-Id: I191526cf12630d08b7a8250a2a81e724a4a5d972
/bootable/recovery/recovery.cpp
5fa8c23911759a9e81af0e7fb5eb431277b8e9a6 18-Sep-2012 Doug Zongker <dougz@google.com> localization for recovery messages

Add images of text for all locales we support. Make the progress bar
fill the correct way for RTL languages. (Flip the direction the
spinner turns, too, just for good measure.)

Bug: 7064142
Change-Id: I5dddb26e02ee5275c57c4dc4a03c6d68432ac7ba
/bootable/recovery/recovery.cpp
8b240ccca1ad32cbd09d3807614f3086914ceaaf 30-Aug-2012 Doug Zongker <dougz@google.com> recovery locale handling fixes

- change locale filename to "last_locale" so the main system doesn't
delete it

- clean up some chatty logging

- update images with real German (other languages TBD)

Change-Id: I2ebb4ed4e054bd1808a3042d9efbb2c18f3a044d
/bootable/recovery/recovery.cpp
4f33e55d1c38d2f72f3306a82c177850f3676408 23-Aug-2012 Doug Zongker <dougz@google.com> change recovery images to android with spinner

Also make writing the locale a bit more robust.

Change-Id: I803dd0aa0b9d6661fad74ea13fb085682402323c
/bootable/recovery/recovery.cpp
02ec6b88ed4e6cf40cc257572b07c7277b7b6341 23-Aug-2012 Doug Zongker <dougz@google.com> add simple text to recovery UI

- recovery takes a --locale argument, which will be passed by the main
system

- the locale is saved in cache, in case the --locale argument is
missing (eg, when recovery is started from fastboot)

- we include images that have prerendered text for many locales

- we split the background states into four (installing update,
erasing, no command, error) so that appropriate text can be shown.

Change-Id: I731b8108e83d5ccc09a4aacfc1dbf7e86b397aaf
/bootable/recovery/recovery.cpp
f69d40afa190a2b6938979fe10760c74a8cc55b3 12-Apr-2012 Doug Zongker <dougz@android.com> am e5d5ac76: minor recovery changes

* commit 'e5d5ac76cc8e5d11867aeff6a1d068215c1c3a7c':
minor recovery changes
e5d5ac76cc8e5d11867aeff6a1d068215c1c3a7c 12-Apr-2012 Doug Zongker <dougz@android.com> minor recovery changes

- add the --just_exit option to make recovery exit normally without doing anything
- make it possible to build updater extensions in C++
- add the clear_display command so that the updater binary can request
recovery switch to the NONE background UI

These are all used to support the notion of using OTA as a factory
reflash mechanism.

Change-Id: Ib00d1cbf540feff38f52a61a2cf198915b48488c
/bootable/recovery/recovery.cpp
038818cb6393f2829bd86f99f25051f67c131290 08-Apr-2012 Kenny Root <kroot@google.com> Update merge for SELinux to compile

The contribution of SELinux things to AOSP had a call to the old
ui_print that merged cleanly. This changes that call into the newer
call so it will actually compile when enabled.

Change-Id: I8368e937219b01d0bef06007fa46302415256d07
/bootable/recovery/recovery.cpp
41dda82d847ae8c261b09c383806b412d680f935 31-Mar-2012 Kenny Root <kroot@google.com> resolved conflicts for merge of 0b1fee1b to master

Change-Id: I2e8298ff5988a96754f56f80a5186c9605ad9928
e83b7cf8f1bad5b334b6352d3b850d8555530a9a 10-Jan-2012 Doug Zongker <dougz@android.com> support "sideload over ADB" mode

Rather than depending on the existence of some place to store a file
that is accessible to users on an an unbootable device (eg, a physical
sdcard, external USB drive, etc.), add support for sideloading
packages sent to the device with adb.

This change adds a "minimal adbd" which supports nothing but receiving
a package over adb (with the "adb sideload" command) and storing it to
a fixed filename in the /tmp ramdisk, from where it can be verified
and sideloaded in the usual way. This should be leave available even
on locked user-build devices.

The user can select "apply package from ADB" from the recovery menu,
which starts minimal-adb mode (shutting down any real adbd that may be
running). Once minimal-adb has received a package it exits
(restarting real adbd if appropriate) and then verification and
installation of the received package proceeds.

always initialize usb product, vendor, etc. for adb in recovery

Set these values even on non-debuggable builds, so that the mini-adb
now in recovery can work.
/bootable/recovery/recovery.cpp
9270a20a801403c9f60d6a701b39eae70d380403 10-Jan-2012 Doug Zongker <dougz@android.com> support "sideload over ADB" mode

Rather than depending on the existence of some place to store a file
that is accessible to users on an an unbootable device (eg, a physical
sdcard, external USB drive, etc.), add support for sideloading
packages sent to the device with adb.

This change adds a "minimal adbd" which supports nothing but receiving
a package over adb (with the "adb sideload" command) and storing it to
a fixed filename in the /tmp ramdisk, from where it can be verified
and sideloaded in the usual way. This should be leave available even
on locked user-build devices.

The user can select "apply package from ADB" from the recovery menu,
which starts minimal-adb mode (shutting down any real adbd that may be
running). Once minimal-adb has received a package it exits
(restarting real adbd if appropriate) and then verification and
installation of the received package proceeds.

Change-Id: I6fe13161ca064a98d06fa32104e1f432826582f5
/bootable/recovery/recovery.cpp
d9428e3d3e2b94812bb8c2363fc1fde03c906a82 14-Dec-2011 Doug Zongker <dougz@android.com> mount cache before sideloading from external storage

Some packages expect to find cache mounted, since it always is for
"real" OTAs.

Bug: 5739915
Change-Id: I7a7cdd88a60c61e4bc7dc3e1f99956f6487c42e1
/bootable/recovery/recovery.cpp
32a0a47a596509792fde8cdbf8b4b0705708b2be 01-Nov-2011 Doug Zongker <dougz@android.com> move key processing to RecoveryUI

Move the key for handling keys from ScreenRecoveryUI to RecoveryUI, so
it can be used by devices without screens. Remove the UIParameters
struct and replace it with some new member variables in
ScreenRecoveryUI.

Change-Id: I70094ecbc4acbf76ce44d5b5ec2036c36bdc3414
/bootable/recovery/recovery.cpp
a4e88e45de998520ec0fcc698c74968070b506bb 01-Nov-2011 Doug Zongker <dougz@android.com> move key processing to RecoveryUI

Move the key for handling keys from ScreenRecoveryUI to RecoveryUI, so
it can be used by devices without screens. Remove the UIParameters
struct and replace it with some new member variables in
ScreenRecoveryUI.

Change-Id: I4c0e659edcbedc0b9e86ed261ae4dbb3c6097414
/bootable/recovery/recovery.cpp
daefc1d442fb421606680feb9aeb59c133f4c427 31-Oct-2011 Doug Zongker <dougz@android.com> C++ class for device-specific code

Replace the device-specific functions with a class. Move some of the
key handling (for log visibility toggling and rebooting) into the UI
class. Fix up the key handling so there is less crosstalk between the
immediate keys and the queued keys (an increasing annoyance on
button-limited devices).

Change-Id: I698f6fd21c67a1e55429312a0484b6c393cad46f
/bootable/recovery/recovery.cpp
211aebc4e09ce7ca37003be4f01c83111cf0bb49 29-Oct-2011 Doug Zongker <dougz@android.com> refactor ui functions into a class

Move all the functions in ui.c to be members of a ScreenRecoveryUI
class, which is a subclass of an abstract RecoveryUI class. Recovery
then creates a global singleton instance of this class and then invoke
the methods to drive the UI. We use this to allow substitution of a
different RecoveryUI implementation for devices with radically
different form factors (eg, that don't have a screen).

Change-Id: I76bdd34eca506149f4cc07685df6a4890473f3d9
/bootable/recovery/recovery.cpp
7d0542f28045640dfab6a259ae7bd796e653d66f 31-Oct-2011 Doug Zongker <dougz@android.com> C++ class for device-specific code

Replace the device-specific functions with a class. Move some of the
key handling (for log visibility toggling and rebooting) into the UI
class. Fix up the key handling so there is less crosstalk between the
immediate keys and the queued keys (an increasing annoyance on
button-limited devices).

Change-Id: I8bdea6505da7974631bf3d9ac3ee308f8c0f76e1
/bootable/recovery/recovery.cpp
28ce47cfa6919518a8c298088bf08b03bb374c0f 28-Oct-2011 Doug Zongker <dougz@android.com> turn recovery into a C++ binary

Change-Id: I423a23581048d451d53eef46e5f5eac485b77555
/bootable/recovery/recovery.cpp
7440630caa77869e7d264dfb9da47db2182524a2 29-Oct-2011 Doug Zongker <dougz@android.com> refactor ui functions into a class

Move all the functions in ui.c to be members of a ScreenRecoveryUI
class, which is a subclass of an abstract RecoveryUI class. Recovery
then creates a global singleton instance of this class and then invoke
the methods to drive the UI. We use this to allow substitution of a
different RecoveryUI implementation for devices with radically
different form factors (eg, that don't have a screen).

Change-Id: I7fd8b2949d0db5a3f47c52978bca183966c86f33
/bootable/recovery/recovery.cpp
10e418d3c89ec404fbf959c1ef77a720a42a66ed 28-Oct-2011 Doug Zongker <dougz@android.com> turn recovery into a C++ binary

Change-Id: I68a67a4c8edec9a74463b3d4766005ce27b51316
/bootable/recovery/recovery.cpp