recovery:  enable text UI

Set default test enabled
Change-Id: I8b185cf17c608bba36d9bbd20a86c8db8d288fe2
recovery: make dynamic lib for fastmmi

Generate dynamic lib for fastmmi.

Change-Id: I63e77420d5addbcc6eebeedc213f629085766b4c
recovery:Enable Multi-language support

Add Chinese language support for Minui lib.

Change-Id: I83ce7d99fa42a4613da2e6228175de931b120293
recovery: Add support alpha for PNG

Add alpha channel support for PNG files. Support both full path
and filename to locate PNG file which let's the application put
the PNG file where their want.

Change-Id: Ife4d1caa8dd027c9b26678d3e32da772b56bf2b4
minui: fix relative path not correct issue

When "charger/xx.png" passed as relative path, it will lead to
incorrect loading path because of "/" exists.
Modify the rule to match only the first letter to identify whether
it is absolutely path or relative path.

Change-Id: I8d6e1758649f0040279d2185e3ee3ecf2a05113c
recovery: add APPLY_EXT option

Enable update from APPLY_EXT

Conflicts:
default_device.cpp
Change-Id: I5d70b432c2f387ac18148f2bfc1d7c31306250bc
sr: Use pathmap for recovery

Change-Id: I6350618e1e04819d52f1049f9f2fb61c833a1b45
recovery: turn on the backlight in recovery mode

The backlight is not turned on by default in some devices. This leads to
nothing displayed in recovery mode.

Change-Id: Iae5b0440f79fdcb79e103744a242e12c96b02c00
sr: Add busybox, some extra tools, and setup adb

Change-Id: I80b0e2aa5eb7142eaa9f157709f4e029077d8dfa
Old-school Holo UX

Change-Id: Id10ec097c1a60beed5a3dce1e3ae8a3ac356ee76
recovery: Expose libminui as a shared library

Change-Id: Ia40adc82f9c00bfe6af8c813edd2683cfacd2ad7
sr: Add support for --sideload

Change-Id: I98e51efee82ceb5878613c16cd9fdb441f8cad02
sr: Puke out an /etc/fstab so stuff like Busybox is happy

 * And disregard special mount flags on purpose because of certain
   dubious packages which "exec busybox mount".

Change-Id: I163702c9bd7fca3d40676fd6d8476e8deb13acc0
sr: Fix the colors

Change-Id: I4986fee496610d90d56a9b97c77d7dc9d1008c72
Implement menu wrapping and scrolling.

Change-Id: Ie7a3fdfcd52ad12ea7e32bfc88d1b95efc31eae6
Add back and home key handling.

Change-Id: I5abac0f1b59d480b859f77ce16126f13fccd440b
recovery: Revenge of MiniVold

 * Vold has been refactored to be friendly to an environment such as
   recovery. Using Vold will eliminate many hacks and add previously
   unavailable features.
 * Link with libminivold and create a pseudo-binary to launch as a
   service in recovery.
 * Libvoldclient is an event-driven client for controlling the daemon.
 * Handles device hotplug and automatic mounting, if desired.
 * Manages USB storage
 * Can check and format volumes using any supported filesystem
 * Dynamically generate all storage paths
 * Dynamically refresh menus affected by storage changes
 * Fixed wall-of-compile-warnings and const-correctness in extendedcommands.c
 * Misc cleanups
 * Say goodbye to "apply /sdcard/update.zip". You have served us well.

Change-Id: I13a3d72493f8fce7c19f192f9e94ad22cb60a2d2

recovery: Don't enable UMS function unless needed

 * This causes problems with some hosts. Only enable the composition if
   the user actually turns UMS on.

Change-Id: I18b109a3416d55ef711d346685d46a93851da332

recovery: Don't automount external storage at startup

 * Do it for hotplug and on-demand only.

Change-Id: I9c0ca96203a8ff1f16fa42e31f426cd25bdaba1d

recovery: Add sdcard daemon

 * Our custom ext4 support for sdcards needs it.

Change-Id: Ie1c22c1d6a3255cbe3a7ff3c072243f4a5461a17

recovery: all vold loglines deserve newlines

Self-nominating for the most impactful commit CM has seen
since 2009.

Change-Id: I450167573b7cf6db1a92227aef7ff3ed95856dd5

recovery: only use vold format for exact path match

Otherwise when formatting /sdcard/.android_secure, it will be
matched to /sdcard and vold will format the entire /sdcard.

Change-Id: Ifc26121f982b391b4ccf582b6162ab76feb72cae

recovery: fix --update_package using legacy path

When using legacy path, recovery will not be able to mount the
correct device. Fix by resolving the symlink before installing.

Change-Id: Ibb268908458c49de09204a1a0ba3143e83ccc0c4

Don't link with minivold

Change-Id: I2c7b88c0f744e529240903803a3880b3c71ea5fb

sr: Minivold reincarnated

Change-Id: If8b301bbcd00f979805a56f6b960428f56f93074
sr: Add some additional tools

Change-Id: I7eec17b81447008d423f2f56f16aa540c8a10011
sr: Allow cancellation of sideload

Change-Id: I52de1e86f04d9312cbfeed74737d9422a610f93a
sr: voldclient: Add retry loop around initial connection

 * SR starts up faster than CW and vold might not be there. Add
   a few retries before exploding.

Change-Id: I9f20de780e0719604fa0ab59e98f53f6d850cebb