summaryrefslogtreecommitdiffstats
path: root/tools (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge "Adjust the background text image width to reduce its size" am: 4ef9cb27eb am: f565ebb45fTianjie Xu2018-11-151-26/+81
|\ | | | | | | | | | | am: 4850d463a5 Change-Id: I9d6feaa2fcb604aadcfb45666443f9a181e5586c
| * Adjust the background text image width to reduce its sizeTianjie Xu2018-11-151-26/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We can adjust the image width with respect to the maximum width of the wrapped text. This will remove some black margins and reduce the final size of the images, especially for those with short strings, e.g. "recovery_error". Also, add an option to centrally align the text; and fix a boundary check in the recovery resource test. Bug: 74397117 Test: Generate and check the image Change-Id: Ib6cf61a9c99c4aeede16751dc0adfa23ce3f5424
* | Merge "image generator: format the java file" am: 860c82a66b am: 5faf4021c9Tianjie Xu2018-11-141-469/+482
|\| | | | | | | | | | | am: 77e1e5c2a4 Change-Id: I2e7c7b133e35799620a57a24d93e75f8f956c3f5
| * image generator: format the java fileTianjie Xu2018-11-131-469/+482
| | | | | | | | | | | | | | | | | | Format the file with google-java-format --aosp. This makes the presubmit hook happy. Bug: 74397117 Test: mma Change-Id: Ie342ed11449414b63f2d1ae781023e940b136bcb
* | Import translations. DO NOT MERGEBill Yi2018-11-1385-850/+425
| | | | | | | | | | Change-Id: I1bd6d7f12c7bfffb7e022f09347a5be5a96766a3 Auto-generated-cl: translation import
* | Merge changes If24c6b7c,I381b0103 am: 67b7e64034 am: aeda63b106Tao Bao2018-11-061-13/+11
|\| | | | | | | | | | | am: afad7170bb Change-Id: I1f715c5de7c19514c5f9b5d62014bcf5ddb80598
| * image_generator: Fix the warnings on import order.Tao Bao2018-11-061-13/+11
| | | | | | | | | | | | | | | | | | | | [platform/bootable/recovery] tools/image_generator/ImageGenerator.java:36: Wrong order for java.util.StringTokenizer import. Use Ctrl+Shift+O (Eclipse) or Ctrl+Alt+O (Intellij) to sort imports. https://source.android.com/setup/code-style#order-import-statementsERRORS: [platform/bootable/recovery] tools/image_generator/ImageGenerator.java:43: Wrong order for org.apache.commons.cli.CommandLine import. Use Ctrl+Shift+O (Eclipse) or Ctrl+Alt+O (Intellij) to sort imports. https://source.android.com/setup/code-style#order-import-statementsERRORS: [platform/bootable/recovery] tools/image_generator/ImageGenerator.java:50: Extra separation in import group before 'org.w3c.dom.Document' Test: `mmma -j bootable/recovery` Test: `repo upload` no longer gives warnings. Change-Id: If24c6b7ca33b9223b3e326a48885c24c35b5fa68
* | Merge "Make the text image readable under recovery" am: d84922216c am: d50aa4f4eeTianjie Xu2018-11-051-14/+123
|\| | | | | | | | | | | am: 69067f1946 Change-Id: I3ed6dc0ce70a8b859bd703cd7a322ee899f8e647
| * Make the text image readable under recoveryTianjie Xu2018-11-011-14/+123
| | | | | | | | | | | | | | | | | | | | | | | | Encode the width, height and locale of the localized image as pixels so that recovery can locate the correct range of the image from a concatenated png file. Also address a few todoes including wrapping the CJK text, making a catch-all type for all languages. Test: view the generated image under locale test Change-Id: Icd3997eb4e992e76ef72526787d64c406f606970
* | Import translations. DO NOT MERGEBill Yi2018-10-3185-0/+850
|/ | | | | Change-Id: Icfe0dc21567e74da70cc7b2f1229815bceeac958 Auto-generated-cl: translation import
* Merge "Add description for the new translation"Tianjie Xu2018-10-301-0/+32
|\
| * Add description for the new translationTianjie Xu2018-10-291-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As we localize the wipe data menu under the recovery mode, some additional strings need the new translation. The strings include 1. The menu header that prompts a data wipe 2. Try again description 3. Factory reset description 4. The menu header to confirm a data wipe 5. Cancel description We will resue the "Factory reset description" in the confirmation menu; and the image_generator tool will be moved to this directory in later cls. Bug: 74397117 Test: mma Change-Id: I706b8677dba506b62e890f6b200e3eb3b11ce483
* | Switch to use commandline parserTianjie Xu2018-10-293-15/+72
|/ | | | | | | | | The commandline parser adds some flexibility to the argument parsing. It also makes the help message more descriptive. Bug: 74397117 Test: generate a image, checks the help message Change-Id: Ib238658a9a6fa8806f1b0dde419c8fb970e7cb37
* Use a host java program to generate the background textTianjie Xu2018-10-134-0/+438
| | | | | | | | | | | | | | | | | | | | | This program uses java.awt.Graphics2D to generate the background text files used under recovery mode. And thus we don't need to do the manual work by running emulators with different dpi. The program takes the following parameters: 1. imageWidth: The number of pixels per line; and the text strings will be wrapped accordingly. 2. textName: The description of the text string, e.g. "recovery_erasing", "recovery_installing_security" 3. fontDirectory: The directory that contains all the support .ttf | .ttc files, e.g. $OUT/system/fonts/ 4. resourceDirectory: The resource directory that contains all the translated strings in xml format, e.g. bootable/recovery/tools/recovery_l10n/res/ 5. outputFilename: Path to the generated image. Bug: 74397117 Test: checks the generated png files Change-Id: Ia5506a0a4f5da1ebfd7090345eb246f44b265075
* Merge "tools: Move to Soong." am: 6b16093b29Tao Bao2018-05-295-36/+50
|\ | | | | | | | | | | am: 9016deefe4 Change-Id: I1c8b1dd470279e3e5b8ca15c76dfe09691257bd6
| * tools: Move to Soong.Tao Bao2018-05-175-36/+50
| | | | | | | | | | | | Test: `mmma -j bootable/recovery/` Test: Build and run RecoveryLocalizer on device. Change-Id: I3359223c82bd670c94ad51296cb8b357b04f5349
* | Import translations. DO NOT MERGEBill Yi2018-02-222-0/+18
| | | | | | | | | | Change-Id: I60c4e4ebce0bf3abcc2b0b5ab90b0fc5e9406c34 Auto-generated-cl: translation import
* | Merge "Set LOCAL_SDK_VERSION where possible." am: bf52b7e00b am: cd06b1696dhansson2018-02-211-0/+1
|\ \ | | | | | | | | | | | | | | | am: b1ac1b8494 Change-Id: Id51803759530a630ecfb287126c5e366938ad09f
| * | Merge "Set LOCAL_SDK_VERSION where possible." am: bf52b7e00bhansson2018-02-211-0/+1
| |\| | | | | | | | | | | | | | | | am: cd06b1696d Change-Id: I78bbe2e58b6d7d442984d3533dedbae705cb156f
| | * Set LOCAL_SDK_VERSION where possible.Anton Hansson2018-02-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change sets LOCAL_SDK_VERSION for all packages where this is possible without breaking the build, and LOCAL_PRIVATE_PLATFORM_APIS := true otherwise. Setting one of these two will be made required soon, and this is a change in preparation for that. Not setting LOCAL_SDK_VERSION makes the app implicitly depend on the bootclasspath, which is often not required. This change effectively makes depending on private apis opt-in rather than opt-out. Test: make relevant packages Bug: 73535841 Change-Id: I82fee834c5d92e699e9571933faded11c6d4596e
| | * Import translations. DO NOT MERGEBill Yi2017-10-204-9/+9
| |/ | | | | | | | | | | | | | | Auto-generated-cl: translation import Exempt-From-Owner-Approval: translation import Bug: 68003463 Change-Id: Iae8fc3afc1453b6b609dae2bbff08231d00735e7
* | Import translations. DO NOT MERGEBill Yi2017-09-131-2/+2
| | | | | | | | | | | | Change-Id: I8de15b09695dea1a53a368c942cb8a7dd30ed87d Auto-generated-cl: translation import Exempt-From-Owner-Approval: translation import
* | Import translations. DO NOT MERGEBill Yi2017-09-061-1/+1
| | | | | | | | | | | | Change-Id: If7aad0299a372403f2875fe3aeb60ad07acb7b47 Auto-generated-cl: translation import Exempt-From-Owner-Approval: translation import
* | Import translations. DO NOT MERGEBill Yi2017-08-272-2/+2
| | | | | | | | | | Change-Id: I0b2ff87788553d2c49519d005f8876cd7318b8c6 Auto-generated-cl: translation import
* | Import translations. DO NOT MERGEBill Yi2017-08-242-2/+2
| | | | | | | | | | | | Change-Id: I8fb3f973ecd0dfe54dea048ef445d45902eae028 Auto-generated-cl: translation import Exempt-From-Owner-Approval: translation import
* | Import translations. DO NOT MERGEBill Yi2017-08-1716-0/+144
| | | | | | | | | | | | | | | | Auto-generated-cl: translation import Exempt-From-Owner-Approval: translation import Bug: 64680434 Change-Id: Ie356071f322238a5fb3a4610d2a79141c9aa9377
* | Import translations. DO NOT MERGEBill Yi2017-08-1215-128/+2
|/ | | | | | Change-Id: I99a2cf060c75a70b3baf3c22d538fbfa08828474 Auto-generated-cl: translation import Exempt-From-Owner-Approval: translation import
* Import translations. DO NOT MERGEBill Yi2017-02-281-1/+1
| | | | | Change-Id: I90d94072de955eca8ea38762faa5d3e5a4f295db Auto-generated-cl: translation import
* Merge "Restore the max width for recovery background texts" am: c1df344381 am: b037cff12e am: f1a371b1b0Tianjie Xu2017-01-231-0/+3
|\ | | | | | | | | | | am: 281fa9fd30 Change-Id: I109593352d526941895eafea41f87a49561f8fd7
| * Merge "Restore the max width for recovery background texts" am: c1df344381Tianjie Xu2017-01-231-0/+3
| |\ | | | | | | | | | | | | | | | am: b037cff12e Change-Id: I177c4d5edcf8e0ee9874bd1627d0ae12a43ae506
| | * Restore the max width for recovery background textsTianjie Xu2017-01-231-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | Restore the max width to 900px for xxhdpi and 1200px for xxxhdpi Bug: 34541299 Test: Checked width and images passed recovery_manual_test Change-Id: If0fd51f93cfb3f965d4e9e69be5626eba89eb857
* | | Merge "Update background text images in recovery" am: f0af02fea6 am: 19e4f627d8 am: e05674f93eTianjie Xu2017-01-141-2/+20
|\| | | | | | | | | | | | | | | | | am: f92c313723 Change-Id: I36ab3a5d46758ef45854efd16dcf8285166d1dc4
| * | Merge "Update background text images in recovery" am: f0af02fea6Tianjie Xu2017-01-141-2/+20
| |\| | | | | | | | | | | | | | | | am: 19e4f627d8 Change-Id: Ic16111cc970780090827f3e2851e4df874a5d8cf
| | * Update background text images in recoveryTianjie Xu2017-01-071-2/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Locale texts are missing in the recovery log due to an extra empty locale chunk in the png file. Fix the bug in the app and regenerate all the background texts and compress the file with pngcrush + zopflipng. Bug: 34054052 Test: Locale texts logged successfully on angler Change-Id: I89f823a53c1eb69756183e8e11113216d093304f
| | * Import translations. DO NOT MERGEBill Yi2016-11-2178-312/+390
| |/ | | | | | | | | | | | | Auto-generated-cl: translation import Bug: 32177112 Change-Id: I4d68cd0c69b40d1765cd74dfa730f56be01b5b23
* | Rename language+country resources to just languageRoozbeh Pournader2017-01-1130-0/+0
| | | | | | | | | | | | Bug: 26496609 Test: none Change-Id: I6467c8496478402614fcdb46c5399dfa28162201
* | Revert "Import translations. DO NOT MERGE"Bill Yi2016-12-0581-0/+729
| | | | | | | | | | | | This reverts commit 6ecd63e459f7e9eab062c172122e319aff8b7042. Change-Id: I66c34fc72c1e8f6a0c11e12fd7e21864f4437977
* | Import translations. DO NOT MERGEBill Yi2016-12-0381-729/+0
| | | | | | | | | | Change-Id: Ibe3698aabd36cca6e053ca099b87f09e8ad05c93 Auto-generated-cl: translation import
* | Merge "Further compress the text images with zopflipng" am: 61240f88ea am: 3e244dc301 am: 5a84cecd26Tianjie Xu2016-08-031-0/+2
|\| | | | | | | | | | | am: 8b36965175 Change-Id: I6aad408e27e8661a83c6d985d080c0ae8637eec9
| * Merge "Further compress the text images with zopflipng" am: 61240f88eaTianjie Xu2016-08-031-0/+2
| |\ | | | | | | | | | | | | | | | am: 3e244dc301 Change-Id: Id651a94190d91c508b55d3745816253160b84284
| | * Merge "Further compress the text images with zopflipng"Tianjie Xu2016-08-031-0/+2
| | |\ | | | | | | | | | | | | | | | | | | | | am: 61240f88ea Change-Id: Ib3b28e84ee331a0e9d613d3761ff4d657c23088d
| | | * Further compress the text images with zopflipngTianjie Xu2016-08-031-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Bug:30415666 Test: Graphic tests pass on angler with new image files Change-Id: I8716f53cb2f9fc6598fdc84f84e9626994faaa5e
* | | | Merge \\\\"Add docs on regeneration background text image\\\\" am: 5aa2e104c0 am: b02a58740e am: 698f75467aTianjie Xu2016-07-293-0/+33
|\| | | | | | | | | | | | | | | | | | | | | | | am: 0df6011d0f Change-Id: I9bf3d8a5357811700e7e09aec146eaf1969f6eb9
| * | | Merge \\"Add docs on regeneration background text image\\" am: 5aa2e104c0Tianjie Xu2016-07-293-0/+33
| |\| | | | | | | | | | | | | | | | | | | | | | am: b02a58740e Change-Id: Ib15f443946a97eeb6609b0aab9b91bcd3ca91d4c
| | * | Merge \"Add docs on regeneration background text image\"Tianjie Xu2016-07-293-0/+33
| | |\| | | | | | | | | | | | | | | | | | | | | am: 5aa2e104c0 Change-Id: I565fa63de18e0c806f2452c009d97c5ad4ebebc3
| | | * Add docs on regeneration background text imageTianjie Xu2016-07-293-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Also add a missing string in the recovery_l10n APP. Bug: 30415666 Change-Id: Ice2a9f7cad4ebe332b427bc0c7a9adccb6cf3af3
| | | * Add string for Installing_security_updateTianjie Xu2016-03-291-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | Bug: 27837319 Change-Id: I037158697a294c3e03f186f3b4207ea700321a8a (cherry picked from commit 1ee0ff3d78c5143d4e3307bc44e3c27792e72d1e)
| | * | Import translations. DO NOT MERGEBill Yi2016-07-0178-312/+390
| |/ / | | | | | | | | | | | | | | | | | | Auto-generated-cl: translation import Bug: 29390361 Change-Id: Ie1d01357ef53bd977da8188825dd744801ae58ad
* | | Import translations. DO NOT MERGEBill Yi2016-04-273-11/+7
| | | | | | | | | | | | | | | Change-Id: Ic9a498dd7367a61fc2d380dc6eeeea0c4cafc8bf Auto-generated-cl: translation import
* | | Import translations. DO NOT MERGEBill Yi2016-04-2581-324/+328
| | | | | | | | | | | | | | | Change-Id: Ice2fc6151b69ad3a4029184a5afa6020085219f2 Auto-generated-cl: translation import
* | | Merge "Merge "Remove trailing punctuation from recovery strings." into nyc-dev am: 4eec72d am: c15177b" into nyc-mr1-dev-plus-aospElliott Hughes2016-04-201-4/+4
|\| | | | | | | | | | | | | | | | | | | | | | | | | | am: f39da4f * commit 'f39da4fc1b84c594d95b241d75eec1b25f7d4480': Remove trailing punctuation from recovery strings. Change-Id: I8858b1097b301b612494801cce4c2ad3274823dc
| * | Merge "Remove trailing punctuation from recovery strings." into nyc-devElliott Hughes2016-04-201-4/+4
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: 4eec72d * commit '4eec72d2cf8c1be0068feffc804035dab756c78d': Remove trailing punctuation from recovery strings. Change-Id: I60cf10d7748227d81f60fc9d1fe18cdb01f8b2f3
| | * | Remove trailing punctuation from recovery strings.Elliott Hughes2016-04-201-4/+4
| | | | | | | | | | | | | | | | | | | | Bug: http://b/26548285 Change-Id: I235c620532e1759bfc76a4486409a4404f1c8c6a
* | | | Explicitly set the font face and color. am: 70ae70bElliott Hughes2016-04-152-7/+6
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: 6fa5fa9 * commit '6fa5fa91bf1439e6c5070f3aee9b447f995882c1': Explicitly set the font face and color. Change-Id: I1b2079d35cb7165db738a8d9ca442fa96729979e
| * | | Explicitly set the font face and color.Elliott Hughes2016-04-152-7/+6
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: 70ae70b * commit '70ae70b81e452ce8a85dfbb184786c02a9072c23': Explicitly set the font face and color. Change-Id: I94011b0f4df228e6cdfe4c095542839abb689a74
| | * | Explicitly set the font face and color.Elliott Hughes2016-04-152-7/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This matches what the UI folks asked us to use. Also fix the locale parsing code. Bug: http://b/27837319 Bug: http://b/22465983 Bug: http://b/26548285 Change-Id: I316a6e1f44855313dd983950abf21b543be7ffc0
| | * | Import translations. DO NOT MERGEBill Yi2016-04-052-2/+2
| | | | | | | | | | | | | | | | | | | | Change-Id: Ic643d0e2d39e45d772ffb25001de45afdf923579 Auto-generated-cl: translation import
| | * | Import translations. DO NOT MERGEBill Yi2016-04-0581-229/+148
| | | | | | | | | | | | | | | | | | | | Change-Id: Ia0012b89f00c65ec6056d29612748e60564bab32 Auto-generated-cl: translation import
| | * | Import translations. DO NOT MERGEBill Yi2016-03-3181-312/+498
| | | | | | | | | | | | | | | | | | | | Change-Id: Id992a2cff5d431b5862f7c27f3823dbffe52f5c7 Auto-generated-cl: translation import
* | | | Import translations. DO NOT MERGEBill Yi2016-04-061-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: Id4a5f32acb01776c95b092cc6e883036812836a9 Auto-generated-cl: translation import
* | | | Import translations. DO NOT MERGEBill Yi2016-04-051-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: Ib4ebc02261abc4610947ab54f5e53f9958190e27 Auto-generated-cl: translation import
* | | | Import translations. DO NOT MERGEBill Yi2016-04-0581-229/+148
| | | | | | | | | | | | | | | | | | | | Change-Id: I5280c977c6c5099c681fa5069bdde9b5426d5949 Auto-generated-cl: translation import
* | | | Import translations. DO NOT MERGEBill Yi2016-03-3181-312/+498
|/ / / | | | | | | | | | | | | Change-Id: I96a3ebec0ab7b7400bcf8ffd2a899d291d8a4579 Auto-generated-cl: translation import
* | / Add string for Installing_security_updateTianjie Xu2016-03-291-0/+4
|\| | | |/ |/| | | | | | | | | | | | | am: 1ee0ff3 * commit '1ee0ff3d78c5143d4e3307bc44e3c27792e72d1e': Add string for Installing_security_update Change-Id: Ied2a3b07fbf8548688759727da527fc7a994d5a0
| * Add string for Installing_security_updateTianjie Xu2016-03-291-0/+4
| | | | | | | | | | Bug: 27837319 Change-Id: I037158697a294c3e03f186f3b4207ea700321a8a
| * Move recovery_l10n here from development/tools.Elliott Hughes2016-03-2683-0/+1038
| | | | | | | | | | | | | | | | Bug: http://b/27837319 (cherry picked from commit 3d0153a807042dd1bdb7e9fd81d16429a205d9ce) Change-Id: Iec2cd10fa77ed1881d55ac4e0ab48e45172f0cf7
* | Merge "Move recovery_l10n here from development/tools."Elliott Hughes2016-03-2683-0/+1038
|\ \
| * | Move recovery_l10n here from development/tools.Elliott Hughes2016-03-2683-0/+1038
| | | | | | | | | | | | | | | Bug: http://b/27837319 Change-Id: I116fc13ae108a59b657f5c9f7efe971de72ac743
* | | Remove dead tools.Elliott Hughes2016-03-234-398/+0
|/ / | | | | | | | | | | None of these have been touched since cupcake, except to keep them building. Change-Id: I5ed13849e6842e755c62da05f1a8a6da2583b1ee
* | Remove dumpkey build guards after completing code move.Mattias Nissler2016-02-261-10/+0
| | | | | | | | | | Bug: 27326256 Change-Id: Ia713b23e3c898c1f10af7c61ea67f34601fdcbe3
* | Move dumpkey tool to the recovery repo.Mattias Nissler2016-02-243-0/+303
|/ | | | | | | | | | The dumpkey tool is used to dump encryption keys in a custom format used by the recovery code. Nobody else uses this format AFAICT, so it's more appropriate to keep the code of the tool alongside the recovery code instead of next to mincrypt. BUG:27326256 Change-Id: I30176845617972be1d6e46e9a9218e161fbf0680
* Check all lseek calls succeed.Elliott Hughes2015-04-301-1/+1
| | | | | | | Also add missing TEMP_FAILURE_RETRYs on read, write, and lseek. Bug: http://b/20625546 Change-Id: I03b198e11c1921b35518ee2dd005a7cfcf4fd94b
* Add missing includes.Elliott Hughes2015-01-301-0/+1
| | | | Change-Id: I06ea08400efa511e627be37a4fd70fbdfadea2e6
* Recovery 64-bit compile issuesMark Salyzyn2014-03-141-2/+2
| | | | Change-Id: I92d5abd1a628feab3b0246924fab7f97ba3b9d34
* Fixed unused param warnings for check-lost+foundEdwin Vane2012-08-211-1/+1
| | | | | | | | A few simple warnings fixed to produce a clean clang build. Change-Id: I9484f860903a80e4c91e204e7e6738145535f642 Author: Edwin Vane <edwin.vane@intel.com> Reviewed-by: Ariel J Bernal <ariel.j.bernal@intel.com>
* Remove the simulator target from all makefiles.Jeff Brown2011-07-121-4/+0
| | | | | | Bug: 5010576 Change-Id: Ib465fdb42c8621899bea15c04a427d7ab1641a8c
* remove amendDoug Zongker2009-07-152-238/+0
| | | | | | | | 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.
* Automated import from //branches/donutburger/...@142141,142141Doug Zongker2009-03-251-4/+9
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-046-0/+635
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-048-978/+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
|
* Code drop from //branches/cupcake/...@124589The Android Open Source Project2008-12-185-1/+309
|
* Initial ContributionThe Android Open Source Project2008-10-215-0/+670