History log of /build/core/product.mk
Revision Date Author Comments
0d7d09ae040f6d6bd44ec393e60f4aab2a6a0ddf 22-Aug-2014 Raphael Moll <raphael@google.com> SDK Addon multi-sys-img support, part 4.

Change the add-on build rules to packages the system-image
separately from the main add-on zip file. This is then picked
up by development's sdk_repo.mk to generate two repository
packages files (one for the add-on, one for its system image.)

The system-image now also contains a source.propertie file,
which value is not infered from the add-on's manifest.ini

Add-on product files need to be modified to define a
PRODUCT_SDK_ADDON_SYS_IMG_SOURCE_PROP variable that points
to their source.properties or source.prop_template file.

Change-Id: I79e9cdfd43c99f099a70890fb3e5e9215ad647f4
89ec496f989c44315b25ec08915d847edd322739 05-Aug-2014 Narayan Kamath <narayan@google.com> Remove services, wifi, ethernet from BOOTCLASSPATH.

They belong to the system_server classpath.

bug: 16555230

Change-Id: Ic84f0b2baf611eeedff6d123cb7191bb0259e600
7326f7b746b82ec60d7381f1fe967a2cd8c7f8e9 05-Aug-2014 Alex Light <allight@google.com> Add a WITH_DEXOPT_BOOT_IMG_ONLY configuration option.

If WITH_DEXOPT_BOOT_IMG_ONLY=true and WITH_DEXPREOPT=true then we will
only preopt the boot.art and boot.oat files, leaving everything else to
be compiled at first boot. This has fast startup times of WITH_DEXPREOPT
but has a smaller space usage and allows one to update the non-image
parts of /system without reflashing.

Bug: 16938924

(cherry picked from commit 440cc769a3617bf99546bdc7599c949e1e858943)

Change-Id: Ib366b6b5ad80f7078f01bf51f9fbc29ea7e5d777
f4eabc3961c3b7f7730329fd527824df35e5b242 11-Jul-2014 Daniel Rosenberg <drosen@google.com> Added support for building verified vendor partition

Change-Id: I762724800ccab3a365e6d2efdf86cd9c394818eb
Signed-off-by: Daniel Rosenberg <drosen@google.com>
5bfed5a320860de5d44c915c88cf7f72c2cdb574 16-Jun-2014 JP Abgrall <jpa@google.com> core+tools: support specifying F2FS as the fstype for userdata

- Support TARGET_USERIMAGES_USE_F2FS.
- Support BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE.
- Support "userdata_fs_type" in the prop dict.
- Update build_image to recognize f2fs and call the correct command.

Change-Id: If31cc8bd235f93a4c7814fab36e6e2d13d3037ad
Signed-off-by: JP Abgrall <jpa@google.com>
dde3184ae86b4c1c1f51ada592fd710bdebd0aee 28-May-2014 Daniel Rosenberg <drosen@google.com> Added variables to support seperate vendor patition.

Change-Id: I73cc76697e138aa8ce1273d410391d55c8d7f34f
Signed-off-by: Daniel Rosenberg <drosen@google.com>
5b5f4958d89dae6a79a9715f4d91c30cb38a4680 06-May-2014 Geremy Condra <gcondra@google.com> Add verity support to `make dist`.

Without this, system images will be built that do not contain the
necessary bits for verification.

Change-Id: I87c15282b26377d7a2a1540e3d0e30b0299622e3
3e92fd0fbaf0a7366bd9b60e700948d6be2b08e4 09-May-2014 Ed Heyl <edheyl@google.com> Fix build: Revert "Add verity support to `make dist`."

This reverts commit 5dee206d8ef106a70a5ada4b8aba9c4489f7e308.

Change-Id: I6f4f536c127d3e5dcb6594efb193231cd8dece7e
5dee206d8ef106a70a5ada4b8aba9c4489f7e308 06-May-2014 Geremy Condra <gcondra@google.com> Add verity support to `make dist`.

Without this, system images will be built that do not contain the
necessary bits for verification.

Change-Id: Icaa636085dbfd386424c90dfbe404c5960df0fe4
9c440215350f0777deb5ce58de9946484f2aa0eb 02-May-2014 Ying Wang <wangying@google.com> Add WITH_DEXPREOPT to the list of protected global variables.

Bug: 14380196
Change-Id: I02cff39eeaf2deddf434c0c310063e4b341edd43
26d22f713948dfc5292268b7307de7a3b9e22e4d 19-Mar-2014 Jeff Sharkey <jsharkey@android.com> Import OEM build properties, if defined.

Certain products can define a list of system properties that should be
delegated to the OEM. Since these properties may be ro.*, we give
them first shot at defining.

Also support blacklist of properties that should never be defined by
build.prop, used to delegate to runtime fingerprint generation.

Bug: 13367676
Change-Id: I3f00db732f485818205a7b76b31edbdc3a89aac0
780128a6f05ad6bcd594ce10953a8ca533e63597 29-Jan-2014 Ying Wang <wangying@google.com> Support custom sdk.atree files.

Bug: 12683047
Change-Id: I79ca1eff81e947d03c50759d47426487e48435d0
8fb5dfc5c716f823b48617fa35a486b2bc696731 17-Jan-2014 Brian Carlstrom <bdc@google.com> build: PRODUCT_DEX_PREOPT_IMAGE_IN_DATA

(cherry-picked from commit cd337c71ee65b17529a67af34d4c0b2824a4f175)

Change-Id: I6d8ab3b3cf52f6a6b15f1c8e8d00cdf59042436b
fd6f7513f82a4b2ec9810d6cb6c33a94060d14e9 17-Jun-2013 Geremy Condra <gcondra@google.com> Add support for verity builds to the build system.

Change-Id: I3ef908d8d52ec88de453b161bbc3f198517a72f1
10d2e0cd9119d25ba58d27004c18f4b894992a80 26-Aug-2013 Ying Wang <wangying@google.com> Remove the vendor-specific vars from the protected list.

Change-Id: I915a61034c9c3e2b886f609c4b8f4043e97bda61
0650d1503d89f1563978f6006a2f904da7140027 24-Jul-2013 Ying Wang <wangying@google.com> Add PRODUCT_BOOT_JARS to derive BOOTCLASSPATH

- BOOTCLASSPATH now is product-configurable;
- No need to maintain the duplicate values in core/dex_preopt.mk.
- clean up some legacy ALL_PREBUILTs.
Bug: 9990214

Change-Id: Ie3953e66d282e335bb7782b0ebd56102c35ec10e
1aeee8bb660cb91d1611ad0ba1b9eaf318cf2779 27-Jun-2013 Brian Carlstrom <bdc@google.com> Move from WITH_ART to PRODUCT_RUNTIMES

Change-Id: I3a9217b4aafc1f59d095169deb9eaeae17320505
af21f7c3e7f6e6295b2ca2c95d216c958b15ee84 15-Jan-2013 Ben Cheng <bccheng@google.com> Stash TARGET_CPU_VARIANT and print it in dumpvar.

Bug:7961327

Merged from internal master.

Change-Id: Ia78472ba53ae1221de4572119aa5c63246941eeb
7028f5ec862229090818ee8dfe33107ffbaec9c7 15-Jan-2013 Ben Cheng <bccheng@google.com> Stash TARGET_CPU_VARIANT and print it in dumpvar.

Bug:7961327
Change-Id: I8a3637a87b5a0f791568fe74e44a4a173541deb7
0c4eb4188553fc06049834111416067da53ac605 27-Sep-2012 Ying Wang <wangying@google.com> Load only the current product config makefile.

To reduce the start time.
With the change and previous change of doing clean step in only given paths,
start time of mm/mmm is reduced from ~5s to about 1s;
lunch time is reduced from ~40s to 3.5s.

(cherry-pick of 157a5e1695593f935c3223430f4530e21f990378.)

Bug: 7186768,7169854
Change-Id: I0be5e2721efa66a80f112acf8f95e177ebc2f65b
54fa8c3ff9b1f0f1b0b9c551be864f1b7378c7fc 27-Sep-2012 Ying Wang <wangying@google.com> Load only the current product config makefile.

To reduce the start time.
With the change and previous change of doing clean step in only given paths,
start time of mm/mmm is reduced from ~5s to about 1s;
lunch time is reduced from ~40s to 3.5s.

Bug: 7186768,7169854
Change-Id: Ifd72ba1c6362a5e1125a23c505fd47947ab56675
157a5e1695593f935c3223430f4530e21f990378 27-Sep-2012 Ying Wang <wangying@google.com> Load only the current product config makefile.

To reduce the start time.
With the change and previous change of doing clean step in only given paths,
start time of mm/mmm is reduced from ~5s to about 1s;
lunch time is reduced from ~40s to 3.5s.

Bug: 7186768,7169854
Change-Id: Ifd72ba1c6362a5e1125a23c505fd47947ab56675
4b0486b4a6108ea863da6232cc376cd1edc55640 21-Sep-2012 Ying Wang <wangying@google.com> Allow to tag owner to PRODUCT_COPY_FILES

PRODUCT_COPY_FILES now is a list of words like <source
path>:<destination path>[:<owner>].
The optional :<owner> is used to indicate the owner of a vendor file.

Bug: 7048854
Change-Id: I435d1e18b7a091fb62513062cfc2e420e51557ec
a93b122d49ffd1143111b1b1762d0ad9e206f878 15-Aug-2012 Iliyan Malchev <malchev@google.com> build: register BOARD_HAVE_BLUETOOTH_QCOM

Change-Id: I594abd6d3b152a4e5bc48b6ac447e155c85b2fe0
Signed-off-by: Iliyan Malchev <malchev@google.com>
0854694c515eea74b1f38d46bd00497a9891946b 15-Aug-2012 Iliyan Malchev <malchev@google.com> build: register BOARD_HAVE_BLUETOOTH_QCOM

Change-Id: I594abd6d3b152a4e5bc48b6ac447e155c85b2fe0
Signed-off-by: Iliyan Malchev <malchev@google.com>
d7d0afcaea24b0fb0cb37dca921a5ff52fd2485b 06-Jun-2012 Joe Onorato <joeo@google.com> Add the ability in a product spec file to have modules installed for specific variants.

Change-Id: Ifa5eb2e15b3d3e5007378ec00efc4aec3e9a3b99
c41c5f4e46ff8da87de593e581ac9ed27b42504b 30-May-2012 Keun young Park <keunyoung@google.com> add add-to-product-copy-files-if-exists for pdk

Change-Id: Ib35006824de81be31652bfff220bbe4e814869ce
e1d191ee956674147ac1b34129d1f2df322fc3ae 17-May-2012 Joe Onorato <joeo@google.com> Add rules to build the factory bundle.

Change-Id: I66bda914a5bd41bda7c8a4314f658924087e2bfb
f926990ba3f04c03037b838cd5fe8f33c21e8013 16-Mar-2012 Dima Zavin <dima@android.com> core: allow product to provide kernel headers as well

This is useful when a device inherits from an architecture
product, such as omap4.mk. The architecture specific product
can provide kernel headers to all the devices that use
that architecture.

Change-Id: I0c9d3120a6089fb535a3fa8eccf10775a271cd21
Signed-off-by: Dima Zavin <dima@android.com>
89686538d77c47ed7816594c7597f5d1e456d656 16-Dec-2011 Ying Wang <wangying@google.com> Support to build factory ramdisk image.

Bug: 5769921

With this change, to build factory_ramdisk.img, set
PRODUCT_FACTORY_RAMDISK_MODULES in your product config.
PRODUCT_FACTORY_RAMDISK_MODULES consists of
"<module_name>:<install_path>" pairs.
<install_path> is relative to the root of the factory ramdisk output.
For example:
PRODUCT_FACTORY_RAMDISK_MODULES := \
toolbox:bin/toolbox adbd:sbin/adbd adb:bin/adb

On the other hand you can use PRODUCT_COPY_FILES to copy prebuilt files
to the factory ramdisk.
Or you can define modules that are specific for the factory ramdisk
(with LOCAL_MODULE_PATH pointing to TARGET_FACTORY_RAMDISK_OUT) and add
the module names to PRODUCT_PACKAGES.

Change-Id: I80ff72606415cd74fe6f3bc93020a05d84e45b70
0a099d904a5f82cba0ce86878d3d3e5e2dbf9e95 16-Dec-2011 Ying Wang <wangying@google.com> Support to build factory ramdisk image.

Bug: 5769921

With this change, to build factory_ramdisk.img, set
PRODUCT_FACTORY_RAMDISK_MODULES in your product config.
PRODUCT_FACTORY_RAMDISK_MODULES consists of
"<module_name>:<install_path>" pairs.
<install_path> is relative to the root of the factory ramdisk output.
For example:
PRODUCT_FACTORY_RAMDISK_MODULES := \
toolbox:bin/toolbox adbd:sbin/adbd adb:bin/adb

On the other hand you can use PRODUCT_COPY_FILES to copy prebuilt files
to the factory ramdisk.
Or you can define modules that are specific for the factory ramdisk
(with LOCAL_MODULE_PATH pointing to TARGET_FACTORY_RAMDISK_OUT) and add
the module names to PRODUCT_PACKAGES.

Change-Id: I3778e3d091979261cb476628da1365f931e11f49
dbb31be41302aa4426006685e9c652de8074906a 10-Dec-2011 Ying Wang <wangying@google.com> Restrict vendor modules to help AOSP product distribution.

Bug: 5692177

If you set "PRODUCT_RESTRICT_VENDOR_FILES := true" in a product
configuration, this changes restricts that:
- No overlays in the vendor tree.
- No PRODUCT_COPY_FILES coming from the vendor tree.
- Any referenced package with Android.mk in the vendor tree must have
LOCAL_MODULE_OWNER set to a value that's compared against a whitelist
stored in the core build system.

Change-Id: I172b84c7c853e9a04bf9879ea8dec90bd5054230
a032d3d07372423176e072dfcbcf60a53f8a7d57 11-Nov-2011 Ying Wang <wangying@google.com> Support for multiple PRODUCT_SDK_ADDON_DOC_MODULES

Bug: 5429077
Change-Id: I8d962c803496479ba5b5e7316538aced65ee4df1
9f8e8db188371cb3787a91a03d193f87ad244ea3 04-Nov-2011 Ying Wang <wangying@google.com> Build cache.img on demand

Bug: 5153694
To build cache.img, set BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE (required,
ext4 only for now), BOARD_CACHEIMAGE_PARTITION_SIZE (optional) in
BoardConfig.mk.

Change-Id: I1d8b91646aa1dba88285e008ad3335768bcbddd2
a0f464a8e7f006177db084df7e925bbb8e5ffed3 15-Oct-2011 Dianne Hackborn <hackbod@google.com> New PRODUCT_AAPT_PREF_CONFIG.

To use the new aapt --preferred-configurations option. For use with Prime
to be able to strip everything but xhdpi density bitmaps selectively,
not stripping when this would result in no data for the resource.

Change-Id: I4e1012929b8f9b0b1e79c06496647f69661ba1f2
32ef58e2c13b9692f9b16a14434978200573d26c 10-Oct-2011 Ying Wang <wangying@google.com> Remove PRODUCT_CONTRIBUTORS_FILE which is no longer in use.

Bug: 5433204
Change-Id: Id88c21f8d1991d8cbcc5bb7dae784aa72dc4becf
cf0db94c87b2b3beca5cbf6b769fff73ed91c4d4 04-Oct-2011 Ying Wang <wangying@google.com> Support for product-specific dev keys.

Change-Id: Id577a72ee9f7cd70e8ca77efcbf10a37885c7d6f
fa2bf54a0450427bd26d1dcfb982fcbd550ac3a2 04-Oct-2011 Ying Wang <wangying@google.com> Support for product-specific dev keys.

Change-Id: Id577a72ee9f7cd70e8ca77efcbf10a37885c7d6f
3c21fe5b12d95fe374b9b8c874dc4c48b7f9fce1 04-Oct-2011 Ying Wang <wangying@google.com> Support for product-specific dev keys.

Change-Id: Id577a72ee9f7cd70e8ca77efcbf10a37885c7d6f
0d23fec792d2bc92417d2b2e716be73704efc240 09-Jun-2011 Mike Lockwood <lockwood@android.com> Add support for products overriding properties in /default.prop

We need this to allow products to specify the default USB configuration,
and allow the build system to add adb to this configuration
for eng and userdebug builds.

For example:

PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
persist.sys.usb.config=mtp

Change-Id: I83d7d918e57a8117eb96919e17d8ad52afdc0388
Signed-off-by: Mike Lockwood <lockwood@android.com>
5d4808db1630048f6eb0610b75af01c9fc877412 16-Mar-2011 Doug Zongker <dougz@android.com> put extra recovery keys in the product definition

Change-Id: I71637cd578b24891c10171aa59406848649be703
4f1ab92aac00a73276793ed25af669d112618a32 15-Mar-2011 Ying Wang <wangying@google.com> Move screen density config from PRODUCT_LOCALES to PRODUCT_AAPT_CONFIG

With this change, PRODUCT_LOCALES will contain only locales.
Other aapt config flags, such as *dpi, small/normal/large/xlarge,
should go to PRODUCT_AAPT_CONFIGS.
Bug: 4086309

Change-Id: I922f153d79777a9522c542a3907111193b40e7b7
b375e71d306f2fd356b9b356b636e568c4581fa1 09-Mar-2011 Iliyan Malchev <malchev@google.com> build: remove prelinker build build system

This patch removes support for prelinking from the build system. By now, the
prelinker has outlived its usefulness for several reasons. Firstly, the
speedup that it afforded in the early days of Android is now nullified by the
speed of hardware, as well as by the presence of Zygote. Secondly, the space
savings that come with prelinking (measued at 17MB on a recent honeycomb
stingray build) are no longer important either. Thirdly, prelinking reduces
the effectiveness of Address-Space-Layout Randomization. Finally, since it is
not part of the gcc suite, the prelinker needs to be maintained separately.

The patch deletes apriori, soslim, lsd, isprelinked, and iself from the source
tree. It also removes the prelink map.

LOCAL_PRELINK_MODULE becomes a no-op. Individual Android.mk will get cleaned
separately. Support for prelinking will have to be removed from the recovery
code and from the dynamic loader as well.

Change-Id: I5839c9c25f7772d5183eedfe20ab924f2a7cd411
f9953b4a613d378cdb5cc18c1fa46ad3512eb0b9 29-Dec-2010 Ying Wang <wangying@google.com> Enhance product vars examining.

Change-Id: I348629aa6e63ad24d457e91af8f75712dcf91b27
7522f04a4b0327cf493dfe6c501634b2b1e1367a 12-Oct-2010 Ying Wang <wangying@google.com> Verify PRODUCT_* are not modified by Android.mks, but allow them to be read only.

Bug: 3076955
Change-Id: I7ddcc5b9d6325d3a3c63f952f97034ddf223630a
700b88e1451f216d137d8a356496bf51712512c6 05-Oct-2010 Joe Onorato <joeo@google.com> Pass device characteristic information through to aapt.

A build configuration can define PRODUCT_CHARACTERISTICS, which is
a comma-separated list of device characteristics, for example
"nosdcard,grayscale". This will be passed through to aapt with
the --product flag.

Change-Id: I902c034b2f2824dbd2d33449308ee08beeb09551
8dc8faaaeadf83353b8144cc0db58972f19f5c7e 14-Sep-2010 Joe Onorato <joeo@google.com> Add option to fail when Android.mk files change PRODUCT_* variables.

It's turned off for now.

Change-Id: I0b5a3ce5fdc7693c8ebd870312f0c2e13fdb8b22
529113098350c026ec521258d4c6fba51f285a48 26-May-2010 Ying Wang <wangying@google.com> Cherry-pick unbundled build changes from master

Change-Id: I82cab32f00b7b729d9b01c8e1532c8bf0ad2fb92
1a031e411ef5eca621c1958103407a6dc40a5114 11-May-2010 Ying Wang <wangying@google.com> Support for unbundled app build

With this CL, run "make APP-{appname}" to build unbundled app in
the unbundled app src tree.
See http://b/issue?id=2667113

Change-Id: I1d753db795142508bc841ae66b4408220ab687c5
e0a18a75a930fd83ceee55a8ac0270625476d8c1 07-Apr-2010 Joe Onorato <joeo@android.com> Finish moving the policies out of frameworks/policies/base and into frameworks/base.

Change-Id: I6b3991de3276258318cab2aff9651f18b3d07f85
4eb079f67f7ec1dea9c430edfe6a2a589b3100d9 22-Jan-2010 Jean-Baptiste Queru <jbq@google.com> Look for product configs in device/ in addition to vendor/

This will allow to create open-sourceable product configurations.

Change-Id: I4e73347c2095935340bfc8c3737c2adf1ef22a9c
28a846d013fc89c9b7e480e0610895ac6b119fab 22-Feb-2010 Joe Onorato <joeo@android.com> Allow optional product inheritance

This allows to use a proper $(call inherit-product) across
the open-source -> non-open-source boundary in a way that
can automatically adapt to whether the non-open-source
part is present or not

Change-Id: I357721c68362ff8c0f90610850b0368adee68ada
8d05416d613af2632eb3dd5763dee468a3b09034 22-Jan-2010 Jean-Baptiste Queru <jbq@google.com> Look for product configs in device/ in addition to vendor/

This will allow to create open-sourceable product configurations.

Change-Id: I4e73347c2095935340bfc8c3737c2adf1ef22a9c
e6b4e5b20ac8a3b01f1a99dd877a98c92036ce5e 13-Nov-2009 Jean-Baptiste Queru <jbq@google.com> eclair snapshot
fbd10d940d9dca8aba940f91fceade4098c6cb92 20-May-2009 Robert Greenwalt <robdroid@android.com> Add PRODUCT_DEFAULT_WIFI_CHANNELS build var.

Allows the build to specify the default number of allowed
WIFI channels. Part of the fix for 1625953.
214a42bbb6e60f1231aa178c114a55dbe363c845 10-Apr-2009 Joe Onorato <> AI 145655: am: CL 145618 am: CL 145333 Cloned from CL 144759 by 'g4 patch'.
Original change by joeo@abreu on 2009/04/06 19:54:13.
Implement SDK add-ons in the build system.
- Add an option to use the standard javadoc doclet instead
of droiddoc, since droiddocs non-sdk templates aren't
ready for prime time.
- Add the notion of a stubs for a library. It's only
implemented for java libraries, but when we do native
libraries in the NDK or sdk-addons, it will work there too.
Original author: joeo
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 145655
64d85d0d827489c514f6aec075482563c80cda73 10-Apr-2009 Joe Onorato <> AI 145618: am: CL 145333 Cloned from CL 144759 by 'g4 patch'.
Original change by joeo@abreu on 2009/04/06 19:54:13.
Implement SDK add-ons in the build system.
- Add an option to use the standard javadoc doclet instead
of droiddoc, since droiddocs non-sdk templates aren't
ready for prime time.
- Add the notion of a stubs for a library. It's only
implemented for java libraries, but when we do native
libraries in the NDK or sdk-addons, it will work there too.
Original author: joeo
Merged from: //branches/cupcake/...

Automated import of CL 145618
8bbfe659d76266a8d45e19793d22e34dccfe6610 09-Apr-2009 Joe Onorato <> AI 145333: Cloned from CL 144759 by 'g4 patch'.
Original change by joeo@abreu on 2009/04/06 19:54:13.
Implement SDK add-ons in the build system.
- Add an option to use the standard javadoc doclet instead
of droiddoc, since droiddocs non-sdk templates aren't
ready for prime time.
- Add the notion of a stubs for a library. It's only
implemented for java libraries, but when we do native
libraries in the NDK or sdk-addons, it will work there too.

Automated import of CL 145333
6a5f7f068b54c5cc083a3e8224c010060aab24e9 05-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@136594
88b607994a148f4af5bffee163e39ce8296750c6 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
05806d7af62e07c6225b2e7103a1b115ecf6c9ad 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
475fa12adef8fc2b08290555a33dc8a9fef05be4 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
66339ad5cebeae8f4cbf7e335c67368abbb91223 16-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@126645
dcc08f073b6873c69ab891d4f69f7c568e282df7 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
b6c1cf6de79035f58b512f4400db458c8401379a 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution