summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* add a simple unit test for the OTA package verifierDoug Zongker2009-12-1011-2/+203
|
* am c652e41d: fix cut-and-paste error in verifierDoug Zongker2009-12-091-1/+1
|\ | | | | | | | | | | | | Merge commit 'c652e41d9173e299a8e1805ae1b2bba75a34ae12' into eclair-mr2 * commit 'c652e41d9173e299a8e1805ae1b2bba75a34ae12': fix cut-and-paste error in verifier
| * fix cut-and-paste error in verifierDoug Zongker2009-12-091-1/+1
| | | | | | | | Oops.
* | simplify construction of the recovery progress barDoug Zongker2009-10-0916-26/+19
|/ | | | | | | | | | | Instead of six separate images for the left end, right end, and tiled center portion of the full and empty progress bars, just use two images: a full bar and an empty bar. Draw the left side of the full bar and the right side of the empty one, moving the boundary rightward to "fill" the bar. This makes recovery trivially smaller, and allows fancier images to be used as progress bars. Support paletted PNG images as resources.
* Merge change I1c8ca2e4 into eclairAndroid (Google) Code Review2009-10-083-0/+0
|\ | | | | | | | | * changes: replace generic recovery icons
| * replace generic recovery iconsDoug Zongker2009-10-033-0/+0
| |
* | add terminator to recovery's getopt_long options arrayDoug Zongker2009-10-061-0/+1
|/ | | | http://b/2170691 - recovery argument parsing is broken
* confirm before wiping user data in recoveryDoug Zongker2009-09-231-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.)
* reduce fraction of progress bar for verificationDoug Zongker2009-09-201-1/+1
| | | | | | | | | | Reduce the fraction of the progress bar used for package verification from 50% to 25%: - verification is faster than before due to sha1 improvements - in eclair we're now verifying the compressed data rather than decompressing it - incremental packages (which is what most installs use) write more data than is contained in the package.
* delete files before symlinking; log error messagesDoug Zongker2009-09-191-3/+21
| | | | | | The symlink() function should remove existing files before creating symlinks, so scripts are idempotent. Log messages when various system calls fail (but don't make the whole script fail).
* don't complain if recovery icon is shortDoug Zongker2009-09-151-1/+5
| | | | | | | | If the a recovery icon file is so short that we can't even read the 8-byte header, put a message in the log but not on the device screen. We intentionally have zero-length files for some icons on some devices, if they're never shown (eg, the firmware installation icons are only used on HTC devices).
* add a run_program() function to edifyDoug Zongker2009-09-101-0/+49
| | | | | Handy for producing debugging OTA packages (eg, running sqlite3 or whatever in recovery).
* do not merge: cherry-pick of c2d666bd4f6eb5f7a9f17b10435c161cb105b7c5 from masterDoug Zongker2009-08-181-0/+10
|
* do not merge: cherry-picked 60151a295ccf726238dc47456d80b427db6d6a38 from master branchDoug Zongker2009-08-173-330/+155
|
* merge from open-source masterJean-Baptiste Queru2009-08-040-0/+0
|\
| * merge from donutJean-Baptiste Queru2009-07-2971-5257/+4
| |\
* | \ am 20697b96: only build flash_image for engDoug Zongker2009-08-041-0/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Merge commit '20697b965cd923211daeea2037f60218358b9659' * commit '20697b965cd923211daeea2037f60218358b9659': only build flash_image for eng
| * | | only build flash_image for engDoug Zongker2009-07-241-0/+1
| | |/ | |/| | | | | | | | | | | | | With the recovery image being installed by applypatch, the flash_image tool isn't needed any more. Continue to build it for eng just in case it's handy for debugging.
* | | reconcile korg/master into goog/masterJean-Baptiste Queru2009-07-260-0/+0
|\ \ \ | | |/ | |/|
| * | Merge korg/donut into korg/masterJean-Baptiste Queru2009-07-2667-1221/+2704
| |\ \
* | | | fix compile warnings in recovery, change imagesDoug Zongker2009-07-236-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc 4.4 complains about some of the recovery ui functions not being declared. To include the header, we have to fix the 'volatile' declaration (otherwise there's a compiler error). Move the dream-specific images to vendor/htc/dream, make the default images a generic phone.
* | | | resolved conflicts for merge of 64893ccc to masterDoug Zongker2009-07-1671-5257/+4
|\ \ \ \ | | |_|/ | |/| |
| * | | remove amendDoug Zongker2009-07-1571-5257/+4
| | |/ | |/| | | | | | | | | | | | | | | | | | | 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.
* | | am bec02d57: skip over all-zero blocks when reading MTD partitionDoug Zongker2009-07-031-1/+12
|\| | | | | | | | | | | | | | | | | | | | Merge commit 'bec02d57fb85cc7dd0196a54b0e9530e306623ac' * commit 'bec02d57fb85cc7dd0196a54b0e9530e306623ac': skip over all-zero blocks when reading MTD partition
| * | skip over all-zero blocks when reading MTD partitionDoug Zongker2009-07-011-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We fail to detect certain bad blocks (marked in the factory as bad, I think?) when reading mtd partitions. These come back as a block of all zeros. Since it's fairly unlikely a legitimate boot or recovery block will contain 128k of zeros, change mtdutils to skip over such blocks. Arve says https://review.source.android.com/10535 may be a long-term fix for this, but he isn't yet sure.
* | | am d8f7c9b8: Merge change 5545 into donutAndroid (Google) Code Review2009-06-301-1/+6
|\| | | | | | | | | | | | | | | | | | | | Merge commit 'd8f7c9b85e25fab93fef2221a84b60edc2e7b837' * commit 'd8f7c9b85e25fab93fef2221a84b60edc2e7b837': remove updater from the user system image
| * | Merge change 5545 into donutAndroid (Google) Code Review2009-06-261-1/+6
| |\ \ | | | | | | | | | | | | | | | | * changes: remove updater from the user system image
| | * | remove updater from the user system imageDoug Zongker2009-06-261-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | updater (which is only needed in OTA packages) is getting included in /system/bin, where it just takes up (quite a bit of) space. Use the hack of including it only in eng builds so it's not there for user builds.
* | | | am 0bbfe3d9: fix off-by-one error in set_perm()Doug Zongker2009-06-251-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | Merge commit '0bbfe3d901885c1f0ab006e8d4cc1029c44a7376' * commit '0bbfe3d901885c1f0ab006e8d4cc1029c44a7376': fix off-by-one error in set_perm()
| * | | fix off-by-one error in set_perm()Doug Zongker2009-06-251-1/+1
| |/ / | | | | | | | | | | | | We were inadvertently skipping over the first filename in the list of arguments.
* | | am fbf3c10e: improve updater progress barDoug Zongker2009-06-252-4/+34
|\| | | | | | | | | | | | | | | | | | | | Merge commit 'fbf3c10e45c20f8fe6bd1ac49ffe220035b9c454' * commit 'fbf3c10e45c20f8fe6bd1ac49ffe220035b9c454': improve updater progress bar
| * | improve updater progress barDoug Zongker2009-06-242-4/+34
| | | | | | | | | | | | | | | | | | Let recovery accept set_progress commands to control progress over the 'current segment' of the bar. Add a set_progress() builtin to the updater binary.
* | | add device extension mechanism to updaterDoug Zongker2009-06-222-1/+43
| | | | | | | | | | | | | | | | | | | | | Allow devices (in BoardConfig.mk) to define additional static libraries to be linked in to updater, to make device-specific functions available in edify scripts. Modify the updater makefile to arrange for device libraries to register their edify functions.
* | | add function for device-specific wipe data featuresDoug Zongker2009-06-194-2/+20
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | am 47cace98: add file_getprop() to updaterDoug Zongker2009-06-183-11/+117
|\| | | | | | | | | | | | | | | | | | | | Merge commit '47cace98369f60df2351a65801c8065bb7f9dbf0' * commit '47cace98369f60df2351a65801c8065bb7f9dbf0': add file_getprop() to updater
| * | add file_getprop() to updaterDoug Zongker2009-06-183-11/+117
| | | | | | | | | | | | | | | | | | | | | Add a function to read a property from a ".prop"-formatted file (key=value pairs, one per line, ignore # comment lines and blank lines). Move ErrorAbort to the core of edify; it's not specific to updater now that errors aren't stored in the app cookie.
* | | resolved conflicts for merge of fb2e3af3 to masterDoug Zongker2009-06-185-27/+74
|\| |
| * | let the "firmware" command take the file straight from the packageDoug Zongker2009-06-185-26/+56
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | am e3da02e7: add less_than_int, greater_than_int to edifyDoug Zongker2009-06-152-0/+63
|\| | | | | | | | | | | | | | | | | | | | Merge commit 'e3da02e7bcfd85c543419e7590a3c86f64d8cc8a' * commit 'e3da02e7bcfd85c543419e7590a3c86f64d8cc8a': add less_than_int, greater_than_int to edify
| * | add less_than_int, greater_than_int to edifyDoug Zongker2009-06-132-0/+63
| | | | | | | | | | | | | | | | | | | | | Add functions less_than_int() and greater_than_int() that interpret their args as ints and do the comparison. ("<" and ">" operators, if implemented, should do string comparison.) This lets us do the build time check currently done by the check_prereq binary.
* | | am d9c9d10d: fixes to edify and updater scriptDoug Zongker2009-06-159-509/+674
|\| | | | | | | | | | | | | | | | | | | | Merge commit 'd9c9d10d9da76f067d3955bea71f7bb39e859fa5' * commit 'd9c9d10d9da76f067d3955bea71f7bb39e859fa5': fixes to edify and updater script
| * | fixes to edify and updater scriptDoug Zongker2009-06-129-509/+674
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A few more changes to edify: - fix write_raw_image(); my last change neglected to close the write context, so the written image was corrupt. - each expression tracks the span of the source code from which it was compiled, so that assert()'s error message can include the source of the expression that failed. - the 'cookie' argument to each Function is replaced with a State object, which contains the cookie, the source script (for use with the above spans), and the current error message (replacing the global variables that were used for this purpose). - in the recovery image, a new command "ui_print" can be sent back through the command pipe to cause text to appear on the screen. Add a new ui_print() function to print things from scripts. Rename existing "print" function to "stdout".
* | | am 8edb00c9: edify extensions for OTA package installation, part 2Doug Zongker2009-06-157-16/+291
|\| | | | | | | | | | | | | | | | | | | | Merge commit '8edb00c990e563e6f91b278a212f2edf877cf763' * commit '8edb00c990e563e6f91b278a212f2edf877cf763': edify extensions for OTA package installation, part 2
| * | edify extensions for OTA package installation, part 2Doug Zongker2009-06-127-16/+291
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds more edify functions for OTAs: is_mounted getprop apply_patch apply_patch_check apply_patch_space write_raw_image write_firmware_image package_extract_file This allows us to install radios, hboots, boot images, and install incremental OTA packages. Fixes a couple of dumb bugs in edify itself: - we were doubling the size of the function table each time it was *not* full, rather than each time it was full - "no such function" errors weren't visible to the parser, so they didn't prevent execution of the script.
* | | am 9dbc027b: fix sim build in donut, tooDoug Zongker2009-06-120-0/+0
|\| | | | | | | | | | | | | | | | | | | | Merge commit '9dbc027b5f540bcf23c968398f8a70e92abd56cd' * commit '9dbc027b5f540bcf23c968398f8a70e92abd56cd': fix sim build in donut, too
| * | fix sim build in donut, tooDoug Zongker2009-06-121-4/+4
| | |
* | | am 9931f7f3: edify extensions for OTA package installation, part 1Doug Zongker2009-06-1213-13/+694
|\| | | | | | | | | | | | | | | | | | | | Merge commit '9931f7f3c1288171319e9ff7d053ebaad07db720' * commit '9931f7f3c1288171319e9ff7d053ebaad07db720': edify extensions for OTA package installation, part 1
| * | edify extensions for OTA package installation, part 1Doug Zongker2009-06-1213-13/+694
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds the following edify functions: mount unmount format show_progress delete delete_recursive package_extract symlink set_perm set_perm_recursive This set is enough to extract and install the system part of a (full) OTA package. Adds the updater binary that extracts an edify script from the OTA package and then executes it. Minor changes to the edify core (adds a sleep() builtin for debugging, adds "." to the set of characters that can appear in an unquoted string).
* | | fix simulator build by excluding more of recoveryDoug Zongker2009-06-121-3/+4
| | |
* | | fix error from change 3606Doug Zongker2009-06-111-18/+18
| | | | | | | | | | | | | | | When I changed the definition of device_perform_action() in response to a reviewer comment, I forgot to change this implementation.
* | | split out device-specific recovery UI code into vendor directoriesDoug Zongker2009-06-116-72/+171
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | am 9b9c2114: Merge change 3514 into donutAndroid (Google) Code Review2009-06-107-0/+889
|\| | | | | | | | | | | | | | | | | | | | Merge commit '9b9c2114bd7d02200ce43cb9ec513473079dfad9' * commit '9b9c2114bd7d02200ce43cb9ec513473079dfad9': core of edify, an eventual replacement for amend
| * | Merge change 3514 into donutAndroid (Google) Code Review2009-06-107-0/+889
| |\ \ | | | | | | | | | | | | | | | | * changes: core of edify, an eventual replacement for amend
| | * | core of edify, an eventual replacement for amendDoug Zongker2009-06-107-0/+889
| | | | | | | | | | | | | | | | | | | | | | | | Edify is a simple scripting language for OTA installation, to be used when we move to OTAs being installed via binaries shipped with the package.
* | | | Force the fb into 16 bpp mode in case the hw has some other default.Rebecca Schultz Zavin2009-06-061-0/+1
| | | | | | | | | | | | | | | | Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
* | | | am b2ee9201: allow OTA package to provide binary instead of scriptDoug Zongker2009-06-051-1/+169
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | Merge commit 'b2ee9201be583b17ddbf0eaa69a37545f992b565' * commit 'b2ee9201be583b17ddbf0eaa69a37545f992b565': allow OTA package to provide binary instead of script
| * | | allow OTA package to provide binary instead of scriptDoug Zongker2009-06-051-1/+169
| |/ / | | | | | | | | | | | | Allow installation of OTA packages which do not contain an update-script, but instead contain an update-binary.
* | | am f28c916e: remove unused permissions scheme from amendDoug Zongker2009-06-0312-1076/+69
|\| | | | | | | | | | | | | | | | | | | | Merge commit 'f28c916e73ee9f643c67c70d059c70381d774cb0' * commit 'f28c916e73ee9f643c67c70d059c70381d774cb0': remove unused permissions scheme from amend
| * | remove unused permissions scheme from amendDoug Zongker2009-06-0312-1076/+69
| | | | | | | | | | | | | | | | | | | | | 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.
* | | am 07e1dca7: don\'t say "install complete" when it really isn\'tDoug Zongker2009-06-014-2/+14
|\| | | | | | | | | | | | | | | | | | | | Merge commit '07e1dca7068284c4f3013550335029eb72b39b82' * commit '07e1dca7068284c4f3013550335029eb72b39b82': don't say "install complete" when it really isn't
| * | don't say "install complete" when it really isn'tDoug Zongker2009-05-294-2/+14
| | | | | | | | | | | | | | | | | | | | | 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."
* | | am 1c4ceae: undo temporary alignment hackDoug Zongker2009-05-082-48/+8
|\| | | | | | | | | | | | | | | | | | | | Merge commit '1c4ceae38f3fd7eb1e451d430acb5d99f257b0f9' * commit '1c4ceae38f3fd7eb1e451d430acb5d99f257b0f9': undo temporary alignment hack
| * | undo temporary alignment hackDoug Zongker2009-05-082-48/+8
| | | | | | | | | | | | | | | | | | Remove the memory alignment that mysteriously made OTA installs work, in anticipation of a kernel that fixes the actual problem. Handle EINTR properly.
* | | am 683c462: align data passed to write() on 32k boundariesDoug Zongker2009-05-062-17/+55
|\| | | | | | | | | | | | | | | | | | | | Merge commit '683c4628039a8cb6dad1a086fae23a7d71438414' * commit '683c4628039a8cb6dad1a086fae23a7d71438414': align data passed to write() on 32k boundaries
| * | align data passed to write() on 32k boundariesDoug Zongker2009-05-062-17/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In donut, OTA installation often encounters the write() system call doing short writes -- which is legal but unexpected -- or failing with ENOSPC when plenty of space is available. Passing aligned memory buffers to write() appears to prevent (or at least reduce the frequency) of these problems. b/1833052 has been filed to look at the underlying problem, but this change aligns buffers we use with write() so we can OTA for now (or see if this problem still occurs).
* | | am 596271f: handle short writes when unzipping filesDoug Zongker2009-04-301-11/+27
|\| | | | | | | | | | | | | | | | | | | | Merge commit '596271fa71d79e3eec03c7cf6ac76cb026dd8578' * commit '596271fa71d79e3eec03c7cf6ac76cb026dd8578': handle short writes when unzipping files
| * | handle short writes when unzipping filesDoug Zongker2009-04-301-11/+27
| | | | | | | | | | | | | | | | | | | | | minzip fails if write() doesn't write all the data in one call. Apparently this was good enough before, but it causes OTAs to fail all the time now (maybe due to the recently-submitted kernel)? Change code to attempt continuing after short writes.
* | | Merge donut into masterJean-Baptiste Queru2009-04-230-0/+0
|\| |
| * | merge cupcake into donutJean-Baptiste Queru2009-04-230-0/+0
| |\ \
* | | | Merge donut into masterJean-Baptiste Queru2009-04-230-0/+0
|\| | |
| * | | AI 144130: Don't build OTA package keys into the recovery binary; readDoug Zongker2009-04-022-21/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | them from an external file in the recovery image. Use the test-keys for all builds. Automated import of CL 144130
| * | | AI 144082: Remove the unused "unpacking" recovery icon.Doug Zongker2009-04-013-2/+0
| | | | | | | | | | | | | | | | Automated import of CL 144082
| * | | AI 144070: Add an option to wipe cache (only) to the recovery menu.Doug Zongker2009-04-011-0/+9
| | | | | | | | | | | | | | | | Automated import of CL 144070
| * | | AI 143128: Use PNG instead of BMP for recovery image icons. This savesDoug Zongker2009-03-2736-101/+68
| | | | | | | | | | | | | | | | | | | | | | | | about 60k from the recovery and system images. Automated import of CL 143128
| * | | Automated import from //branches/donutburger/...@142141,142141Doug Zongker2009-03-251-4/+9
| | | |
| * | | Automated import from //branches/donutburger/...@140818,140818Dianne Hackborn2009-03-251-0/+190
| | | |
* | | | Merge branch 'readonly-p4-master'Doug Zongker2009-04-022-21/+88
|\ \ \ \
| * | | | AI 144132: am: CL 144130 Don't build OTA package keys into the recovery binary; readDoug Zongker2009-04-022-21/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | them from an external file in the recovery image. Use the test-keys for all builds. Original author: dougz Merged from: //branches/donutburger/... Automated import of CL 144132
* | | | | Merge branch 'readonly-p4-master'Doug Zongker2009-04-023-2/+0
|\| | | |
| * | | | AI 144105: am: CL 144082 Remove the unused "unpacking" recovery icon.Doug Zongker2009-04-023-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original author: dougz Merged from: //branches/donutburger/... Automated import of CL 144105
* | | | | Merge branch 'readonly-p4-master'Doug Zongker2009-04-021-0/+9
|\| | | |
| * | | | AI 144101: am: CL 144070 Add an option to wipe cache (only) to the recovery menu.Doug Zongker2009-04-021-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original author: dougz Merged from: //branches/donutburger/... Automated import of CL 144101
* | | | | Merge branch 'open_source_no_contributions' into google_internalThe Android Open Source Project2009-03-290-0/+0
|\ \ \ \ \ | |/ / / / |/| | | / | | |_|/ | |/| |
| * | | Merge commit 'korg/cupcake'The Android Open Source Project2009-03-272-4/+199
| |\ \ \ | | | |/ | | |/|
| | * | Automated import from //branches/cupcake/...@142138,142138Doug Zongker2009-03-251-4/+9
| | | |
| | * | auto import from //branches/cupcake_rel/...@141571The Android Open Source Project2009-03-201-0/+190
| | |/
| * | Merge commit 'remotes/korg/cupcake' into cupcake_to_masterJean-Baptiste Queru2009-03-194-48/+254
| |\|
| * | Remove obsolete OTA toolsJean-Baptiste Queru2009-03-022-343/+0
| | | | | | | | | | | | Resolves http://code.google.com/p/android/issues/detail?id=2077
| * | Merge branch 'cupcake'The Android Open Source Project2009-01-101-24/+79
| |\ \
* | | | AI 143289: am: CL 143128 Use PNG instead of BMP for recovery image icons. This savesDoug Zongker2009-03-2836-101/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | about 60k from the recovery and system images. Original author: dougz Merged from: //branches/donutburger/... Automated import of CL 143289
* | | | Automated import from //branches/master/...@142142,142142Doug Zongker2009-03-251-4/+9
| | | |
* | | | Automated import from //branches/master/...@140824,140824Dianne Hackborn2009-03-251-0/+190
| |_|/ |/| |
* | | auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-04135-0/+14368
| | |
* | | auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-04137-14711/+0
| | |
* | | auto import from //depot/cupcake/@132589The Android Open Source Project2009-03-032-0/+343
| | |
* | | auto import from //depot/cupcake/@137055The Android Open Source Project2009-03-032-343/+0
| | |
* | | auto import from //branches/cupcake/...@130745The Android Open Source Project2009-02-114-48/+254
| |/ |/|
* | auto import from //branches/cupcake/...@125939The Android Open Source Project2009-01-101-24/+79
|/
* Code drop from //branches/cupcake/...@124589The Android Open Source Project2008-12-1811-35/+341
|
* Initial ContributionThe Android Open Source Project2008-10-21134-0/+14144