summaryrefslogtreecommitdiffstats
path: root/recovery.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-06-04Fix the potential segmentation faultJin Feng1-1/+7
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>
2013-05-21recovery: save logs from the last few invocations of recoveryDoug Zongker1-1/+19
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
2013-05-21recovery: turn on text display for install errors in debug buildsDoug Zongker1-2/+33
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
2013-03-07more font improvements and cleanupDoug Zongker1-1/+0
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
2013-02-27fixes for fakeflash zipsjt11341-1/+1
For some reason fakeflash doesn't like to have superuser/su in /res, move it to its own subdir in /supersu. This allows a fakeflash zip built with 'make recoveryzip' to work correctly. Change-Id: I32e2e0f6dba55281d5c917e931c3ef0034964bcb
2013-02-25use libblkid to get filesystem typebigbiff bigbiff1-0/+2
we can now use libblkid to detect exfat
2013-02-21Move removal of stock recovery to shutdown sequenceDees_Troy1-20/+22
2013-02-21Check for root and root perms and offer to install/fixDees_Troy1-0/+31
Also fix sort order for file selector by date and file sizes Change-Id: Idff9fe4232c19d4ed1082e78fabe6f921aa0a114
2013-01-25Use GUI for ORS instead of console onlyDees_Troy1-29/+10
2013-01-24Convert AOSP commands to ORS for encrypted devicesDees_Troy1-15/+39
Change-Id: I6a76a51cd9efd7db67d7abeeb26f9bdd0eebf5a9
2013-01-17Fix problem with AOSP wipe_cache commandDees_Troy1-0/+1
2013-01-09Add libtar to TWRP instead of using busybox tarbigbiff bigbiff1-5/+5
Add proper mkdosfs tool Add fuse to TWRP Add experimental exfat-fuse to TWRP Convert all system() functions to use new Exec_Cmd function
2012-10-16Remove HAVE_SELINUX guardsKenny Root1-2/+0
Change-Id: Ia96201f20f7838d7d9e8926208977d3f8318ced4
2012-10-16Update injecttwrp for Epic 4G TouchDees_Troy1-1/+8
2012-10-12Unmount system after boot, backup, and restoreDees_Troy1-0/+1
2012-10-09recovery: fix failure to unmount "/cache"Devin Kim1-0/+1
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>
2012-10-08Fix derp with ORS during startupDees_Troy1-1/+0
2012-10-03Rename stock recovery fileDees_Troy1-0/+4
2012-10-02Create busybox symlinks during compileDees_Troy1-3/+1
2012-10-01Update ORS and recovery commandsDees_Troy1-5/+26
2012-10-01Fix output of version numberDees_Troy1-1/+0
2012-09-28Revert busybox for CM7 compatibility, add exclamation point to format dataDees_Troy1-0/+2
2012-09-27Save version number to storageDees_Troy1-5/+1
2012-09-27Create symlinks at compile time for busyboxDees_Troy1-2/+5
2012-09-27Update sdcard partitioning to C++Dees_Troy1-1/+0
2012-09-27Port reboot functions to C++Dees_Troy1-2/+3
2012-09-26Add backup size checkingDees_Troy1-1/+1
Converted bootloader.cpp to TWRP and removed AOSP fstab parsing from startup
2012-09-24display error state on OTA failureDoug Zongker1-4/+13
We need prompt_with_wait() to show either the ERROR or NO_COMMAND state as appropriate. Bug: 7221068 Change-Id: I191526cf12630d08b7a8250a2a81e724a4a5d972
2012-09-20Add and improve OpenRecoveryScript supportDees_Troy1-1/+13
Improve zip finding in ORS engine Add support for restoring with just a backup name
2012-09-19Improve adb sideload - use storage vs tmpDees_Troy1-2/+2
2012-09-19Improve adb sideload -- add cancelDees_Troy1-3/+4
Also copy zip from /tmp to storage and remove from /tmp to prevent running out of RAM.
2012-09-19localization for recovery messagesDoug Zongker1-1/+2
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
2012-09-18Cleanup extra-functionsDees_Troy1-6/+4
2012-09-18localization for recovery messagesDoug Zongker1-1/+2
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
2012-09-14Add wipe functions, compiles in CM7, text shows in UI, zips installDees_Troy1-0/+8
Zip install works, had to move mincrypt code into TWRP to prevent a crash when checking the zip signature. Added wipe functions Made it compile in CM7 Made text show up in console and logging
2012-09-12Make text appear in GUI console, Zip install works.Dees_Troy1-3/+2
Move TW zip install code to C++ so that it can use the ui->functions. Bring in mincrypt code to fix a crash during signature checking.
2012-09-10Improve storage size code, mount, unmountDees_Troy1-2/+3
Add flag parsing from recovery.fstab
2012-09-07Add processing of fstab, mounting, and decryptDees_Troy1-6/+4
2012-09-06Hax to make it bootDees_Troy1-13/+65
2012-08-30recovery locale handling fixesDoug Zongker1-1/+1
- 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
2012-08-23change recovery images to android with spinnerDoug Zongker1-9/+12
Also make writing the locale a bit more robust. Change-Id: I803dd0aa0b9d6661fad74ea13fb085682402323c
2012-08-23add simple text to recovery UIDoug Zongker1-10/+53
- 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
2012-04-12minor recovery changesDoug Zongker1-2/+6
- 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
2012-04-08Update merge for SELinux to compileKenny Root1-1/+1
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
2012-01-18support "sideload over ADB" modeDoug Zongker1-0/+32
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.
2012-01-10support "sideload over ADB" modeDoug Zongker1-0/+32
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
2011-12-14mount cache before sideloading from external storageDoug Zongker1-0/+4
Some packages expect to find cache mounted, since it always is for "real" OTAs. Bug: 5739915 Change-Id: I7a7cdd88a60c61e4bc7dc3e1f99956f6487c42e1
2011-11-04move key processing to RecoveryUIDoug Zongker1-3/+1
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
2011-11-01move key processing to RecoveryUIDoug Zongker1-3/+1
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
2011-10-31C++ class for device-specific codeDoug Zongker1-36/+34
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
2011-10-31refactor ui functions into a classDoug Zongker1-44/+51
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
2011-10-31C++ class for device-specific codeDoug Zongker1-36/+34
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
2011-10-31turn recovery into a C++ binaryDoug Zongker1-37/+38
Change-Id: I423a23581048d451d53eef46e5f5eac485b77555
2011-10-28turn recovery into a C++ binaryDoug Zongker1-825/+0
Change-Id: I68a67a4c8edec9a74463b3d4766005ce27b51316
2011-10-19allow recovery packages to wipe cacheDoug Zongker1-14/+44
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
2011-06-24Allow applying an OTA package manually from cache.Michael Ward1-9/+31
Change-Id: I8f78377555c658a992ca95cadf11b67ddc93fed8
2011-04-12save a last_install file with the result of the last package install attemptDoug Zongker1-1/+1
When installing a package, create /cache/recovery/last_install, which contains the filename of the package and a 1 or 0 for success or failure. Also, don't mount ext4 and vfat filesystems as read-only (on devices where /cache is ext4, we need it to be read-write). Change-Id: I0cf2a1921bbd65e06343aa74e2006577fac77c2c
2011-03-11Have recovery reboot using the new android_reboot() function.Ken Sumrall1-3/+2
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
2011-03-01make recovery UI images more general; allow for installation animationDoug Zongker1-0/+3
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
2011-01-25make recovery reboot after 2 minutes of no activityDoug Zongker1-0/+10
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
2011-01-18remove encrypted filesystem code from recoveryDoug Zongker1-63/+1
This was never used; encrypted filesystems are being done a different way now. Change-Id: I519c57b9be44d001f0b81516af7bfc252069892b
2010-11-01clear recovery framebuffers on allocation; display icon right after ui_initDoug Zongker1-0/+1
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
2010-09-29save the log from recovery's last run in /cache/recovery/last_logDoug Zongker1-17/+40
Also, don't lose the start of the log whenever a wipe cache is performed. Change-Id: I29999762854eb36d1ff2bc20b4183c9077b19777
2010-09-22handle old-style CACHE: packagesDoug Zongker1-2/+18
Change-Id: I7bf52b56770c207ba1c8329243991b07ebb65779
2010-09-22mount sdcard only on demand; fix sideload installsDoug Zongker1-3/+6
Bug: 3009493 Change-Id: I1a7f99fc41a6a7012742e82f8c06a0c75584890a
2010-09-21remove the notion of "root path"; support mixed flash typesDoug Zongker1-76/+63
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
2010-09-21remove the notion of "root path"; support mixed flash types (do not merge)Doug Zongker1-76/+63
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
2010-09-15support for ext4/EMMC filesystems in updater binaryDoug Zongker1-6/+6
Make the mount and format functions take extra parameters describing the filesystem type and add support for mounting and formatting ext4 filesystems on EMMC. Change recovery to consistently use stdout for status messages instead of mixing stdout and stderr.
2010-09-15(cherry-pick) support installing any .zip file on the sdcardDoug Zongker1-25/+140
Replaces the "install sdcard:update zip" menu option with one that displays a menu of zip files (and subdirs) on the sdcard and lets you pick which one to install. Change-Id: Icff541525f2fdfc8939a91af626ecc386ac9dd07
2010-09-03add --show_text option to recoveryDoug Zongker1-0/+2
Change-Id: Ie6c6c920260dfa759fbb15b1f352d6bb0fa7146c
2010-09-01Revert 21f0f97ebabb47adcbfe8d38b02685f2019b4eb3Ying Wang1-2/+1
Change-Id: I46e4d7fe76e4219207e46f19e50188e38bb932b7
2010-08-31Fix for crespo.Ying Wang1-1/+2
Change-Id: I008510bf614606a46a630c7adc39464ce1143ec3
2010-08-02don't go into file select menu when mounting external storage failsDoug Zongker1-1/+4
Change-Id: If0efeddc28e1dbb52d9e52abf53323e2cc97c8f0
2010-07-30generalize "install from sdcard" to "install from external storage"Doug Zongker1-4/+6
Allow sideloading of OTA packages from USB drives that appear as /dev/block/sda1. Change-Id: I1908576c24547cd0088475d8c8917699cd906868
2010-07-09make a copy of sideloaded packages in /tmp before verifyingDoug Zongker1-2/+112
Copy a sideloaded package into /tmp, then verify and install the copy, to prevent malicious users from overwriting the package between verification and install. Bug: 2826890 package can be replaced during verification Bug: 2058160 Recovery should copy sideloaded (sd card) update ... Change-Id: I3de148b0f1a671f1974782b6855527caeaefda23
2010-07-02support for ext4/EMMC filesystems in updater binaryDoug Zongker1-6/+6
Make the mount and format functions take extra parameters describing the filesystem type and add support for mounting and formatting ext4 filesystems on EMMC. Change recovery to consistently use stdout for status messages instead of mixing stdout and stderr.
2010-04-08support installing any .zip file on the sdcardDoug Zongker1-20/+140
Replaces the "install sdcard:update zip" menu option with one that displays a menu of zip files (and subdirs) on the sdcard and lets you pick which one to install. Change-Id: I85c94c0e9bc8e05ca52031fc29ca2624c2695ced
2010-04-02DO NOT MERGEOscar Montemayor1-18/+18
Encrypted File Systems integration. Recovery changes. Change-Id: I932f73a6f937aac061128e1134eab08c30f0471d
2010-03-27DO NOT MERGEOscar Montemayor1-43/+1
Removing unused recovey options. Please refer to Bug#2502219 for more info. Change-Id: I2fe3cdb0c8b93ed7e1cc4093824fbe181f5f0aea
2010-03-15Encrypted File Systems part 3. Recovery changes.Oscar Montemayor1-18/+18
Change-Id: I932f73a6f937aac061128e1134eab08c30f0471d
2010-02-03bump updater API version to 3; deprecate firmware update commandDoug Zongker1-10/+1
Remove support for the HTC-specific "firmware" update command and the corresponding edify function write_firmware_update(). This functionality is now done by an edify extension library that lives in vendor/htc. Change-Id: I80858951ff10ed8dfff98aefb796bef009e05efb
2010-02-02change log recovery to generic device_recovery_start functionDoug Zongker1-3/+3
Remove (or at least stop calling) the HTC-specific mechanism for preserving the recovery log from before a radio or hboot update. Replace it with a generic device_recovery_start() function which each device's code can implement to do whatever it wants on recovery startup. Change-Id: If3cca4b498c0b1cf0565236404ecf56a1fc46123
2010-01-21save the recovery log from before HTC firmware updatesDoug Zongker1-1/+3
When doing a firmware (radio or hboot) update on HTC devices, save the recovery log in block 1 of the cache partition, before the firmware image and the UI bitmaps. When we boot back into recovery after the firmware update to reformat the cache partition, copy that log out of cache before reformatting it and dump it into the current invocation's log. The practical upshot of all this is that we can see the log output from radio and hboot updates. Change-Id: Ie0e89566754c88f4bed6a90d8a0aa04047b01a27
2009-12-10Recovery changes for Encrypted File Systems.Oscar Montemayor1-14/+71
This change enables/disables the Encrypted file systems feature. It reads some properties form the data partition, wipes the partition out, and then rewrites the proper properties again into the data partition to signal that encrypted FS are enabled.
2009-11-13eclair snapshotJean-Baptiste Queru1-94/+152
2009-10-06add terminator to recovery's getopt_long options arrayDoug Zongker1-0/+1
http://b/2170691 - recovery argument parsing is broken
2009-09-23confirm before wiping user data in recoveryDoug Zongker1-69/+107
When using the hidden menu to wipe data in recovery, confirm before starting the wipe. (This does not affect booting with the --wipe_data flag, or using Alt+W on dream with the menu hidden -- those still wipe data immediately.)
2009-08-25Not all failures to fopen_root_path() are serious.Jay Freeman (saurik)1-3/+6
Example: E:Can't open /cache/recovery/command.
2009-08-18do not merge: cherry-pick of c2d666bd4f6eb5f7a9f17b10435c161cb105b7c5 from masterDoug Zongker1-0/+10
2009-08-18Recovery: When updating from SD card, update can't resume automaticallyJared Suttles1-0/+10
after a power loss Submitted on behalf of Hong-Bin Wang <hong-binwang@motorola.com> Signed-off-by: Jared Suttles <jared.suttles@motorola.com>
2009-07-15remove amendDoug Zongker1-28/+1
Yank all the code to install OTA packages out of the recovery binary itself. Now packages are installed by a binary included in the package (run as a child of recovery), so we can make improvements in the installation process without waiting for a new release to use them.
2009-06-19add function for device-specific wipe data featuresDoug Zongker1-2/+7
Some devices want to do special things when recovery wipes data (eg, wipe data in their baseband processor as well). Add a hook in the device-specific recovery library that gets called when data is wiped. Also add an amend root for the "mbm" partition.
2009-06-18let the "firmware" command take the file straight from the packageDoug Zongker1-1/+2
To do a firmware-install-on-reboot, the update binary tells recovery what file to install before rebooting. Let this file be specified as "PACKAGE:<foo>" to indicate taking the file out of the OTA package, avoiding an extra copy to /tmp. Bump the API version number to reflect this change.
2009-06-11split out device-specific recovery UI code into vendor directoriesDoug Zongker1-42/+29
Take some device-specific details of the recovery UI (eg, what keys to press to bring up the interface and perform actions, exact text of the menu, etc.) and split them out into separate C functions. Arrange to take implementations of those functions from the appropriate vendor directory at build time. Provide a default implementation in case no vendor-specific one is available.
2009-06-03remove unused permissions scheme from amendDoug Zongker1-4/+0
Amend (aka the recovery command language) had a half-implemented scheme of limiting which commands OTA packages were allowed to execute. It's not clear what this was ever supposed to be good for. Remove it.
2009-05-29don't say "install complete" when it really isn'tDoug Zongker1-1/+6
Change the recovery UI so that when there is a hboot or radio update pending (which the user most do a home+back reboot to actually install), the UI tells them so, instead of saying "Install from sdcard complete."
2009-04-02AI 144101: am: CL 144070 Add an option to wipe cache (only) to the recovery menu.Doug Zongker1-0/+9
Original author: dougz Merged from: //branches/donutburger/... Automated import of CL 144101
2009-04-01AI 144070: Add an option to wipe cache (only) to the recovery menu.Doug Zongker1-0/+9
Automated import of CL 144070
2009-03-04auto import from //depot/cupcake/@135843The Android Open Source Project1-0/+471
2009-03-04auto import from //depot/cupcake/@135843The Android Open Source Project1-471/+0
2009-02-11auto import from //branches/cupcake/...@130745The Android Open Source Project1-23/+78
2009-01-10auto import from //branches/cupcake/...@125939The Android Open Source Project1-24/+79