Fix starting adb in recovery mode

Change-Id: I8444f44d3194ff16ce54121633d5b255231393f5
Signed-off-by: Mike Lockwood <lockwood@android.com>
merge in ics-release history after reset to master
merge in ics-release history after reset to master
merge in ics-release history after reset to master
merge in ics-release history after reset to master
merge in ics-release history after reset to master
merge in ics-release history after reset to master
merge in ics-release history after reset to master
merge in ics-release history after reset to master
merge in ics-release history after reset to master
merge in ics-release history after reset to master
merge in ics-release history after reset to master
merge in ics-release history after reset to master
merge in ics-release history after reset to master
merge in ics-release history after reset to master
merge in ics-release history after reset to master
allow recovery packages to wipe cache

updater now has a function "wipe_cache();" which causes recovery to
wipe the cache partition after the successful installation of the
package.  Move log copying around a bit so logs and the last_install
flag file are copied to cache after it's wiped.

Bug: 5314244
Change-Id: Id35a9eb6dcd626c8f3a3a0076074f462ed3d44bd
merge in ics-release history after reset to master
turn recovery into a C++ binary

Change-Id: I68a67a4c8edec9a74463b3d4766005ce27b51316
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