• Home
  • History
  • Annotate
  • only in /frameworks/base/tools/aapt/
History log of /frameworks/base/tools/aapt/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
feaf99fa1b7563f15dbd4211718a6cfb7a3cc3c8 06-May-2016 Michael Wright <michaelwr@google.com> Stop emitting javadoc for @removed attributes.

We need the attributes to remain public because people might still be
linking against them, but we don't want them showing up in the
documentation any more. Them showing up in the documentation also had
the side effect that it would accidentally mark the parent class of
attributes as @removed, which was not intended.

Bug: 28663748

Change-Id: I2f6eb09455fddf1086e6b24bc3bea5292e8e32b7
esource.cpp
682583c8902efbd33d4394131a2214ce94469535 22-Apr-2016 Rohit Agrawal <rohitagr@google.com> AAPT: ProGuard config for components in main dex.

Create an analogue of "aapt -G" which outputs a proguard configuration
that keeps only components which need to be in the main dex.

Bug: 27383099
Bug: 28425556

Change-Id: Ic18c8c563794ff27a5598a214111d1b446a005f1
(cherry picked from commit 86229cb622fccde8ab8cbe85eead91a34313a708)
undle.h
ommand.cpp
ain.cpp
ain.h
esource.cpp
694d0a7dfd281060c9f8d92a79bda1b7071affe3 07-Apr-2016 Adam Lesinski <adamlesinski@google.com> AAPT: Dump uses-feature version in dump badging

Bug:27162500
Change-Id: I4f82cdd8ef1801c92d4ea6b4bb982c6e7d91edb5
ommand.cpp
6e452f9e8a42f0f1217d25c9cf6017abdd5be08a 04-Apr-2016 Wonsik Kim <wonsik@google.com> Don't try to compress .mkv resources

Bug: 27987970
Change-Id: I58e920e81d1e79b7fbba479d8fb34afb3911f97d
ackage.cpp
08a3fa7dea522112cbeab954a396845f7d638779 31-Mar-2016 Andrew Johnson <aqj@google.com> Merge "Removing assignments to localeScriptWasComputed in aapt." into nyc-dev
299e488ee28e75b96c23a8a37fdff2ec0f4ccb98 30-Mar-2016 Andrew Johnson <aqj@google.com> Removing assignments to localeScriptWasComputed in aapt.

On certain devices running Android M with unknown vendor
modifications. Setting the localeScriptWasComputed bit in
the resource parameters struct causes the translations
for many languages to fail to load. The app then
defaults to English.

This has been reported on the following devices:
Motorola XT1086, XT1096, and XT1586, HTC One, and Huawei
MediaPad 10 LINK.

This change works around the issue by never setting
localeScriptWasComputed in aapt and instead always
writing the default value of false.

Bug: 27872476
Change-Id: Id638d1d0e5f9dcb1c02e65d67667d76174c69b9e
aptAssets.cpp
d126b1ed5d3a89deadaf7a9d1a9e64a48b53d2ce 21-Mar-2016 Matt Sarett <msarett@google.com> Merge "Work-around paletted image decoding bug in SDK_JELLYBEAN" into nyc-dev
48efde4fb14cfe160747a8148b8e1a810c8f1c6e 16-Mar-2016 Matt Sarett <msarett@google.com> Work-around paletted image decoding bug in SDK_JELLYBEAN

Because there is a bug decoding paletted images in SDK_JELLYBEAN,
we need to avoid encoding paletted images for apps that support
SDK_JELLYBEAN and earlier.

BUG=27643907

Change-Id: Ib7d51ed87435cd36507915d62b0057c06f18b2b6
undle.h
mages.cpp
7960898f6f886aadda1dd3d7a89106dde9f44217 04-Mar-2016 Roozbeh Pournader <roozbeh@google.com> Fix script-related parts of locale resource matching

Previously, a bit was kept to find if the script of a locale was
explicitly "provided" in a resource. This was not backward
compatible, and failed in some edge cases when the package was
created with older versions of AAPT that did not set the bit.

The cases would happen when the old resource had an explicit script
specified in its locale, but since the "provided" bit was not set in
the package, we would assume that the script was computed by us.

This CL replaces the "provided" bit with a "computed" bit, so the
default value of the bit (set to "false" for old packages) would be
correct.

Bug: 27156990
Change-Id: I99e7f1ad8f70c90e25ab3640ed34cc1a6f8d1d64
aptAssets.cpp
afc79be228596c56ea68c0d2fa22d0a8d733be47 22-Feb-2016 Adam Lesinski <adamlesinski@google.com> AAPT: Allow duplicate attribute definitions if identical

This allows libraries to coexist a bit easier, since a lot of them
declare the same attribute. When used together they cause errors.
Bug:27101533

Change-Id: I649cf17bc587c4814f849d5ac522daf74495adcf
esourceTable.cpp
esourceTable.h
525db2489d8bb1204225e697171d3f18b6fc9695 26-Feb-2016 Adam Lesinski <adamlesinski@google.com> Revert "AAPT: Allow duplicate attribute definitions if identical"

This reverts commit c25283b5e206ceae2aa6eb01877b79c3c1f0adfb.

Change-Id: I2f42a4360fa53c4333494afe0178dcec56d62d8e
esourceTable.cpp
esourceTable.h
c25283b5e206ceae2aa6eb01877b79c3c1f0adfb 22-Feb-2016 Adam Lesinski <adamlesinski@google.com> AAPT: Allow duplicate attribute definitions if identical

This allows libraries to coexist a bit easier, since a lot of them
declare the same attribute. When used together they cause errors.
Bug:27101533

Change-Id: I10327251636392e810637a79e7c9aa514f3f07a6
esourceTable.cpp
esourceTable.h
9e1923d02fbc161abe107c814224c594cb4beb56 11-Feb-2016 Adam Lesinski <adamlesinski@google.com> AAPT: Remove warnings for public resources without comments

There are so many public resources that do not warrant comments
that having a warning that no one cares about is just producing
log spam.

Bug:21495023
Change-Id: I84e3b39c7139ee67fb5cb711d5ab466d8f4ef2e0
esource.cpp
37a866e9a6e325a6bcebd052e959ff264a34dd6a 01-Feb-2016 Matt Sarett <msarett@google.com> Merge "Encode paletted PNGs more efficiently (part 2)"
33fcd11bc296fa495a4f4584f782c1c0fe4fe592 30-Jan-2016 Matt Sarett <msarett@google.com> Encode paletted PNGs more efficiently (part 2)

Many PNGs have multiple distinct pixels with zero alpha. This
CL allows us to treat all of those pixels as a single zero pixel.

This saves space in the color palette and also may help save
memory pages when we skip writing zeros.

There is also a potential disadvantage: if someone intended to decode
this image as unpremultiplied with particular transfer modes where
their color components have an effect even though alpha is zero,
this will prevent that. At the moment, we do not support unpremul as
a source, so this won't affect anyone trying to draw with the view
system.

This change originated in:
https://googleplex-android-review.git.corp.google.com/#/c/854580/

Change-Id: I702c7bd22d431cc7c775ed29bbd73c930f945ca3
mages.cpp
2a84e23399840dc365cd03edcbfcf2727a17cd6e 29-Jan-2016 Matt Sarett <msarett@google.com> Encode paletted PNGs more efficiently

Saves about 2 MB of encoded size across affected assets.

Also will enable more efficient decoding.

Specifically, encoded palette values are assumed to be opaque unless
alpha values are provided in a tRNS chunk. Before this change, we
would wastefully store many opaque alpha values in tRNS chunk.
Additionally, the decoder used to need to premultiply all of these
opaque colors, because the encoded data indicated that they had alpha.

Change-Id: Id21b3b31850c9db6149ced6d20ed5e0ce2d71c5b
mages.cpp
3c7235d3868d4bf554d4c1700ac11fc3d4125c71 29-Jan-2016 Matt Sarett <msarett@google.com> Encode paletted PNGs more efficiently

Saves about 2 MB of encoded size across affected assets.

Also will enable more efficient decoding.

Specifically, encoded palette values are assumed to be opaque unless
alpha values are provided in a tRNS chunk. Before this change, we
would wastefully store many opaque alpha values in tRNS chunk.
Additionally, the decoder used to need to premultiply all of these
opaque colors, because the encoded data indicated that they had alpha.

Change-Id: I1d5400f71a0e3cb800fd0fc68a04c8c4069da8ef
mages.cpp
b927c559e1ef8530b08712507f320502627db298 15-Jan-2016 Roozbeh Pournader <roozbeh@google.com> Implement smarter locale resource selection

* Add support for determining script from language and region.
* Add support for determining special parents of locales.
* Add support for smart comparison of locales with only a difference
in region, using the locale parentage tree.
* Fix LocaleData.matchScore() to not fallback to old locale matching
behavior if we can't determine a script.
* Allow four-character variant codes. (Previously, only five- to
eight-character variant codes were allowed.)

Bug: 7296673
Bug: 26589793
Change-Id: Ibde0a48c0564ff383b41068095a5cbacfe7b94bc
aptAssets.cpp
46736ec81c2a35d450b2c2d86ca3423cd92a225d 16-Jan-2016 Dan Albert <danalbert@google.com> Merge "Make the appropriate cast to protect from mingw." am: dbf8c17bd2
am: 2edfa8c9b0

* commit '2edfa8c9b00cd0c0bd18738f75e0928394b99c76':
Make the appropriate cast to protect from mingw.
2edfa8c9b00cd0c0bd18738f75e0928394b99c76 15-Jan-2016 Dan Albert <danalbert@google.com> Merge "Make the appropriate cast to protect from mingw."
am: dbf8c17bd2

* commit 'dbf8c17bd20c3c5b4ba99242afa8b714841914d1':
Make the appropriate cast to protect from mingw.
ed811eeaea83453df91fa564287cd2f1b7cb705f 15-Jan-2016 Dan Albert <danalbert@google.com> Make the appropriate cast to protect from mingw.

As the comment at the top of the file says:

STATUST: mingw does seem to redefine UNKNOWN_ERROR from our enum
value, so a cast is necessary.

Bug: http://b/26523949
Change-Id: I9d86cafdc47bbb9ce0e967cdde9315babc083432
esource.cpp
3b1b68d6c764a4f60d034e57a94879b7df65fd43 14-Dec-2015 Matt Sarett <msarett@google.com> Allow ninepatches to be encoded using non-RGBA modes

The original intention for forcing ninepatches to be encoded as
RGBA (with alpha) was to avoid the possibility of the decoder
producing 565 output.

565 output is bad for ninepatches because dithering tiny images
that we intend to scale later leads to bad results. I would
argue that, since the new BitmapFactory does not dither, we might
now be ok to allow 565 decodes for ninepatches. However, we
will maintain the old behavior by disabling 565 decodes for
ninepatch.

There are two changes to PNG encodings:
(1) Allows ninepatch images to be encoded in any mode. Forcing
them to RGBA makes things awkward for the decoder. Currently,
BitmapFactory's png decoder checks every pixel for alpha.
That way, RGBA images that are actually opaque can be marked
as opaque, in order to optimize drawing. We want to remove
this complexity from the decoder.
(2) Make sure ninepatch chunks are stored in the png header. That
way we know immediately that the png is a ninepatch, and can
refuse to decode to 565 (if we feel this is best).

Change-Id: I724f5dbefb1be7b412f9b362dff83cbc0603f0bf
mages.cpp
087e0fcba687bce677f39fd2b708a9cbb1defcd0 17-Dec-2015 Adam Lesinski <adamlesinski@google.com> DO NOT MERGE: AAPT: Dump uses-permission-sdk-23 am: b2c5155638 am: 40d1ab91d2 am: 8c9209183f am: 7f5ad22330
am: 1f7a36b8e6

* commit '1f7a36b8e6aa55dcb22a63c250fb318260ac349f':
DO NOT MERGE: AAPT: Dump uses-permission-sdk-23
b2c51556382acd3981e5a6380e2fb3d85c2f68a5 03-Dec-2015 Adam Lesinski <adamlesinski@google.com> DO NOT MERGE: AAPT: Dump uses-permission-sdk-23

Include <uses-permission-sdk-23> permissions in dump badging and dump permissions.

This will also add implied features for that permission, marked as -sdk-23 features.

Ex:

uses-permission: name='android.permission.ACCESS_FINE_LOCATION'
uses-permission-sdk-23: name='android.permission.CAMERA'

feature-group: label=''
uses-feature: name='android.hardware.location'
uses-implied-feature: name='android.hardware.location' reason='...'
uses-feature-sdk-23: name='android.hardware.camera'
uses-implied-feature-sdk-23: name='android.hardware.camera' reason='...'

Bug:24939655
Change-Id: Ifb374696ed4760b0ba2f1cc3516f3bf08e6cb6a3
(cherry picked from commit 5f3b2ecb3e9d27e77bd59c7b9006a6239b773944)
ommand.cpp
5f3b2ecb3e9d27e77bd59c7b9006a6239b773944 03-Dec-2015 Adam Lesinski <adamlesinski@google.com> AAPT: Dump uses-permission-sdk-23

Include <uses-permission-sdk-23> permissions in dump badging and dump permissions.

This will also add implied features for that permission, marked as -sdk-23 features.

Ex:

uses-permission: name='android.permission.ACCESS_FINE_LOCATION'
uses-permission-sdk-23: name='android.permission.CAMERA'

feature-group: label=''
uses-feature: name='android.hardware.location'
uses-implied-feature: name='android.hardware.location' reason='...'
uses-feature-sdk-23: name='android.hardware.camera'
uses-implied-feature-sdk-23: name='android.hardware.camera' reason='...'

Bug:24939655
Change-Id: Ifb374696ed4760b0ba2f1cc3516f3bf08e6cb6a3
ommand.cpp
78713998f94a2cc2562aa0ae7761bbc563d8eafa 07-Dec-2015 Adam Lesinski <adamlesinski@google.com> Specify private resource package in Android.mk

Private resource package shouldn't be buried in some resource file.
It can now be specified on the command line via the Android.mk file.

Change-Id: I9e3cb0bf54830d6b021077af271913306c024701
undle.h
ain.cpp
esource.cpp
esourceTable.cpp
43aecc85e85c46f457764eea22cca42b7ee912d1 05-Dec-2015 Elliott Hughes <enh@google.com> Merge "Track rename from base/ to android-base/." am: 9f6a2ae67c am: 8aa8fe2c64
am: 7e7047ea0a

* commit '7e7047ea0aba2099408fba70937a758a91cebbca':
Track rename from base/ to android-base/.
be5474da4bfc961419feaee5046162e8524f08c1 05-Dec-2015 Elliott Hughes <enh@google.com> Track rename from base/ to android-base/.

Change-Id: I31be831de812052d1c0d4c0781178d0756124bcf
seudolocalize.h
90d5052bd71b4b58069fd830834daf8dad339ef0 01-Dec-2015 Marco Nelissen <marcone@google.com> Don't try to compress .webm resources

Bug: 25822610
Change-Id: I40a93c9daac258a8e9a41668c0040353e44ed5bb
ackage.cpp
07dfd2d8642f8a3630ca6429f740865a0c0bfdf7 28-Oct-2015 Adam Lesinski <adamlesinski@google.com> Implement AAPT Bundle format

AAPT will scan XML files looking for the <aapt:attr> XML tag.

<!-- @layout/bundle.xml -->
<ImageView xmlns:aapt="http://schemas.android.com/aapt">
<aapt:attr name="android:src">
<vector android:pathData="..." ...>
</vector>
</aapt:attr>
</ImageView>

The SINGLE child element of the <aapt:attr> tag is extracted into its own top
level resource. It is given a generated name.

The parent element of <aapt:attr> is then given the resource attribute that was assigned
to the `name' attribute. The value is set to a reference to the generated resource.

<!-- @layout/bundle.xml -->
<ImageView android:src="@drawable/bundle_1.xml">
</ImageView>

<!-- @layout/bundle_1.xml -->
<vector android:pathData="..." ...>
</vector>

Bug:22627686
Change-Id: I8575fc4f739011402662fbf6b3db96df0012f598
esource.cpp
esourceTable.cpp
esourceTable.h
MLNode.cpp
MLNode.h
5b9847ca3fbcd0bb2528dd2b4c0b789e2d501684 30-Nov-2015 Adam Lesinski <adamlesinski@google.com> Revert "Implement AAPT Bundle format"

This reverts commit 9d0f7d44d5cc5322415f52f7ce03cc37a478b350.

Caused a build breakage when parsing some attributes.

Change-Id: I89ca958b2f2e820d353648df8aadd90bbe8d8339
esource.cpp
esourceTable.cpp
esourceTable.h
MLNode.cpp
MLNode.h
9d0f7d44d5cc5322415f52f7ce03cc37a478b350 28-Oct-2015 Adam Lesinski <adamlesinski@google.com> Implement AAPT Bundle format

AAPT will scan XML files looking for the <aapt:attr> XML tag.

<!-- @layout/bundle.xml -->
<ImageView xmlns:aapt="http://schemas.android.com/aapt">
<aapt:attr name="android:src">
<vector android:pathData="..." ...>
</vector>
</aapt:attr>
</ImageView>

The SINGLE child element of the <aapt:attr> tag is extracted into its own top
level resource. It is given a generated name.

The parent element of <aapt:attr> is then given the resource attribute that was assigned
to the `name' attribute. The value is set to a reference to the generated resource.

<!-- @layout/bundle.xml -->
<ImageView android:src="@drawable/bundle_1.xml">
</ImageView>

<!-- @layout/bundle_1.xml -->
<vector android:pathData="..." ...>
</vector>

Bug:22627686
Change-Id: I31bc96aae30d38bfd0b16508d0f585de5fd88a07
esource.cpp
esourceTable.cpp
esourceTable.h
MLNode.cpp
MLNode.h
b3559643b946829933a76ed45750d13edfefad30 31-Oct-2015 Tor Norbye <tnorbye@google.com> Don't set modification times in aapt zip entries

Use a modification timestamp of 0 for all files
inside the zip archive to make the build repeatable.

Change-Id: Ie6e57329469b99c6f93cb0a6083e0c402be99815
ipFile.cpp
09ffc62fdb296cd98de6a253d501f3b07ed950da 11-Sep-2015 Adam Lesinski <adamlesinski@google.com> Merge "AAPT: Don't try to rewrite String constants when loading shared lib"
eed585821a0dc55a18897773a52e2b5fdda78b55 11-Sep-2015 Adam Lesinski <adamlesinski@google.com> AAPT: Don't try to rewrite String constants when loading shared lib

Bug:20138255
Change-Id: Ieb6a31ee9afe0de3d1c99b21f78aa48fe07015c6
esource.cpp
ab5bca1519cb9acb4fd140e99a250fc50868ff2f 09-Sep-2015 Tao Bai <michaelbai@google.com> Merge "Load app resource as shared library."
a6d7e3fb9c9233b9ae46b702d17433854c43d6a0 02-Sep-2015 Tao Bai <michaelbai@google.com> Load app resource as shared library.

- Added aapt command line flag --app-as-shared-lib to build app resources
that could be loaded as shared lib at runtime.
- Added new method AssetManager.addAssetPathAsSharedLibrary() to load an
app resource as shared library.

Bug 22487604

Change-Id: Ib9b33c35f9c2b7129f3ba205de03d4564623ea39
undle.h
ommand.cpp
ain.cpp
13786e281e4d67b9e2ff549fee34ddb3e82e0325 01-Sep-2015 Dan Willemsen <dwillemsen@google.com> am 60dd5d59: Merge "Remove USE_MINGW, whitelist windows modules"

* commit '60dd5d5966ebe993f5a81c46d9dea62c207abfd3':
Remove USE_MINGW, whitelist windows modules
4aa679ff969c3ec2159088cd3740df1034c9ee24 19-Aug-2015 Dan Willemsen <dwillemsen@google.com> Remove USE_MINGW, whitelist windows modules

Bug: 23566667
Change-Id: Ie6b8c51e2b6d6273f99f4e361c440136d7c6915c
ndroid.mk
84d4917c7560da364eb8fe79353e046807beb416 17-Aug-2015 Elliott Hughes <enh@google.com> am 12cf0f9c: am eba23aaa: Merge "Replace HAVE_MS_C_RUNTIME with _WIN32 in frameworks/base/tools."

* commit '12cf0f9c4cf8e6aed738da7349f556bd716ec09e':
Replace HAVE_MS_C_RUNTIME with _WIN32 in frameworks/base/tools.
bda7780daedf017b46da61610ea4c0fa93e8d82c 17-Aug-2015 Elliott Hughes <enh@google.com> am 12cf0f9c: am eba23aaa: Merge "Replace HAVE_MS_C_RUNTIME with _WIN32 in frameworks/base/tools."

* commit '12cf0f9c4cf8e6aed738da7349f556bd716ec09e':
Replace HAVE_MS_C_RUNTIME with _WIN32 in frameworks/base/tools.
e17788ceff5c676f3783e5aa25d57a613e9f59db 17-Aug-2015 Elliott Hughes <enh@google.com> Replace HAVE_MS_C_RUNTIME with _WIN32 in frameworks/base/tools.

Change-Id: Ideef62acbf53a442167c9b8038021affffef9e8a
acheUpdater.h
esource.cpp
MLNode.cpp
f473084a4a71c3e1c1f58db36b3934540f89c9e6 16-Aug-2015 Adam Lesinski <adamlesinski@google.com> am 6df21b51: am 085a6b42: am 89a3c5ad: am 0cd143ad: Merge "AAPT: Fix regression in resource versioning" into mnc-dev

* commit '6df21b51b118281a46cfd3c13716718040a33aea':
AAPT: Fix regression in resource versioning
9a9fd61e0b4a93ef36b13e4ff00621dd594b96cb 14-Aug-2015 Adam Lesinski <adamlesinski@google.com> am 0cd143ad: Merge "AAPT: Fix regression in resource versioning" into mnc-dev

* commit '0cd143adae642465a26a7eaac96030bb18826e94':
AAPT: Fix regression in resource versioning
beb9e33bfb79847c25aac98e39f3ea620a953ef7 14-Aug-2015 Adam Lesinski <adamlesinski@google.com> AAPT: Fix regression in resource versioning

With a set of resources with the following configurations:

()
(land)

the regression caused any resources that needed to be versioned in configuration () to be lost.

Bug:23038206
Change-Id: I2f1b0313fb780ac241e7aaa487cb37dfb79c36aa
ndroid.mk
esourceTable.cpp
esourceTable.h
ests/ResourceTable_test.cpp
344d347af22705aa2fa80602d27a5682a72b5f69 13-Aug-2015 Elliott Hughes <enh@google.com> am 39669d7f: am 6fdc6333: Merge "Lose HAVE_ANDROID_OS from frameworks/base."

* commit '39669d7f6b8fedef3468ab3d417c93a21df528af':
Lose HAVE_ANDROID_OS from frameworks/base.
17b4be07fed91da2f770be87f66b1e8918dff52f 13-Aug-2015 Elliott Hughes <enh@google.com> am 39669d7f: am 6fdc6333: Merge "Lose HAVE_ANDROID_OS from frameworks/base."

* commit '39669d7f6b8fedef3468ab3d417c93a21df528af':
Lose HAVE_ANDROID_OS from frameworks/base.
ba3fe56edc1da4dad0d831a1892e7b1c3c20c437 12-Aug-2015 Elliott Hughes <enh@google.com> Lose HAVE_ANDROID_OS from frameworks/base.

Change-Id: I713881fdbaec7cbbb5e7f2f4be6f9b8be3d2ca4e
ommand.cpp
a5c9d829ce9e84d4a4322fc96259ba333d41f336 31-Jul-2015 Adam Lesinski <adamlesinski@google.com> am 7fa83d26: am b9904daa: am 15724ffc: am e3b0119f: Merge "AAPT: Fix resource versioning" into mnc-dev

* commit '7fa83d269b6f84ae32ddc94731a44acb6d66c4c1':
AAPT: Fix resource versioning
10730b690732e3301048a0a564c3e5b42f28995d 31-Jul-2015 Adam Lesinski <adamlesinski@google.com> am e3b0119f: Merge "AAPT: Fix resource versioning" into mnc-dev

* commit 'e3b0119f79d11744a7f590510b184feef0f45894':
AAPT: Fix resource versioning
0e252720b2b7b6a5e7cab9dee1e8c6144a9ad662 30-Jul-2015 Elliott Hughes <enh@google.com> am e528f048: am 84a04d52: Merge "Move frameworks/base/tools/ off AndroidConfig.h."

* commit 'e528f048689868a2d4dfdf23b553fe536acd15cd':
Move frameworks/base/tools/ off AndroidConfig.h.
e62867247d9386472c0b19662763c731312491cf 30-Jul-2015 Elliott Hughes <enh@google.com> am e528f048: am 84a04d52: Merge "Move frameworks/base/tools/ off AndroidConfig.h."

* commit 'e528f048689868a2d4dfdf23b553fe536acd15cd':
Move frameworks/base/tools/ off AndroidConfig.h.
9ec96f97567bc86deebe073d5c828a6477b9a785 29-Jul-2015 Elliott Hughes <enh@google.com> Move frameworks/base/tools/ off AndroidConfig.h.

Change-Id: Ibc7abb67a56945a9618bc91ccdbebe4c806879a5
runchCache.cpp
ain.cpp
f45d2fad2ecd3cb3c4aeee3014763e01b59eab09 28-Jul-2015 Adam Lesinski <adamlesinski@google.com> AAPT: Fix resource versioning

Resource generation was greedy, so when an attribute with sdk level 21 was used in a resource
with v1, and a different attribute with sdk level 21 was used in a resource with v11,
a v21 resource would be synthesized, but it would contain the attribute from v1 instead of v11.

This change fixes the issue, having the higher versioned resource take precedence.

Bug:22793816
Change-Id: Ia687f56b0d9969e424111477d55d9804255b22e9
esourceTable.cpp
a083ef9a7b882a249928ed928adf6af61a525e37 23-Jul-2015 Colin Cross <ccross@google.com> am bbcc914b: am 01efd7e8: Merge "Use build_number from file"

* commit 'bbcc914b18a5b2ea57e25e6e79336c5c75d49421':
Use build_number from file
6f1e3c56a7a0c7e56db9393e0e1dea99b627dfb5 23-Jul-2015 Colin Cross <ccross@google.com> am bbcc914b: am 01efd7e8: Merge "Use build_number from file"

* commit 'bbcc914b18a5b2ea57e25e6e79336c5c75d49421':
Use build_number from file
01efd7e820edb9677491f28af999d825f21711a4 23-Jul-2015 Colin Cross <ccross@google.com> Merge "Use build_number from file"
1c6d9005d30ef3f9cc30fb89e78751b7033a453f 22-Jul-2015 Elliott Hughes <enh@google.com> am f9a82218: am 86d5fc28: Merge "aapt: expat exports its header files now."

* commit 'f9a8221810a0b5aaa4050becaa0aa9d492035ff3':
aapt: expat exports its header files now.
b48adad2ede148b62c7025da4d2320cb5d9af58c 21-Jul-2015 Elliott Hughes <enh@google.com> aapt: expat exports its header files now.

(cherrypick of 51348d2007b801c7bd7350f72e2300f1a5a41dd1)
Change-Id: Iddf0133919d38fc896f97c6796f8228a6decf174
ndroid.mk
tringPool.h
MLNode.h
06e04f76715e05ad5a49b13f541cdebb11f41409 17-Jul-2015 Colin Cross <ccross@android.com> Use build_number from file

Improve incremental ninja builds by keeping the command line the same
across builds.

Change-Id: If9dfcee74a4d282c183f9669e14a89104c115a71
ndroid.mk
4fafd672116967ac5ec33d44c5726a86e8562414 21-Jul-2015 Elliott Hughes <enh@google.com> aapt: expat exports its header files now.

Change-Id: Iddf0133919d38fc896f97c6796f8228a6decf174
(cherry picked from commit 51348d2007b801c7bd7350f72e2300f1a5a41dd1)
ndroid.mk
tringPool.h
MLNode.h
37b894c9f844829e008e69bc66bd160d32812743 11-Jul-2015 Elliott Hughes <enh@google.com> am 94fed352: am 188af044: Merge "Revert "frameworks/base: libexpat now exports its headers.""

* commit '94fed352f6f4dc1c53ea69a0cee3944f55b92d99':
Revert "frameworks/base: libexpat now exports its headers."
1bd6d9c979eddeaa8fb602383fa227db8e741ef9 11-Jul-2015 Elliott Hughes <enh@google.com> am 94fed352: am 188af044: Merge "Revert "frameworks/base: libexpat now exports its headers.""

* commit '94fed352f6f4dc1c53ea69a0cee3944f55b92d99':
Revert "frameworks/base: libexpat now exports its headers."
ba7e659b5563537efffed1308ba3a1da98b5bf78 11-Jul-2015 Elliott Hughes <enh@google.com> Revert "frameworks/base: libexpat now exports its headers."

This reverts commit 2f31b66c04b1e80fd039418edf41e74f67b68143.

Change-Id: Ib4ce610d1767db5c72c54d33520e8bdf50171a18
tringPool.h
3108dabf05862f8f14e05a7da1cdbc398f78c49d 11-Jul-2015 Elliott Hughes <enh@google.com> am 4d4c4507: am 220b61f1: Merge "frameworks/base: libexpat now exports its headers."

* commit '4d4c45071b56089112bcfc687d635b966b810f4b':
frameworks/base: libexpat now exports its headers.
aa4a994d5c6e136752b41964d655ff610b345cd0 11-Jul-2015 Elliott Hughes <enh@google.com> am 4d4c4507: am 220b61f1: Merge "frameworks/base: libexpat now exports its headers."

* commit '4d4c45071b56089112bcfc687d635b966b810f4b':
frameworks/base: libexpat now exports its headers.
2f31b66c04b1e80fd039418edf41e74f67b68143 10-Jul-2015 Elliott Hughes <enh@google.com> frameworks/base: libexpat now exports its headers.

Change-Id: Iaba3d57db18ebdd89e4a993436e9bf844722ff87
tringPool.h
729ffa299ca786eb21ba8330096b33c7bcd66fbf 15-May-2015 Igor Viarheichyk <viarheichyk@google.com> ICU format support for pseudolocalizes.

Custom parser can handle nested ICU messages even if they
are split into multiple fragments. Code reworked to encapsulate
all pseudolocalization logic in Pseudolocalizer and PseudoMethods
classes. To minimize a changelist size, some static functions
remained. Fake BiDi pseudolocalization method is reimplemented
to handle word boundaries correctly. Unit tests added.

(cherry picked from commit cbb1e676b56677ae3585c067f29646dddffb4857)

bug: 22060509

Change-Id: I11968d81984d99501a4d9334ff2e7453a1eb7a00
ndroid.mk
MLNode.cpp
seudolocalize.cpp
seudolocalize.h
ests/Pseudolocales_test.cpp
dde606924357dd03a5ebf5e62241f84c4f4e152c 09-Jun-2015 Narayan Kamath <narayan@google.com> am 3277710c: am a121d34c: Merge "ICU format support for pseudolocalizes."

* commit '3277710c10e7b2dcd06bdc7f649346cd302fb3ac':
ICU format support for pseudolocalizes.
cbb1e676b56677ae3585c067f29646dddffb4857 15-May-2015 Igor Viarheichyk <viarheichyk@google.com> ICU format support for pseudolocalizes.

Custom parser can handle nested ICU messages even if they
are split into multiple fragments. Code reworked to encapsulate
all pseudolocalization logic in Pseudolocalizer and PseudoMethods
classes. To minimize a changelist size, some static functions
remained. Fake BiDi pseudolocalization method is reimplemented
to handle word boundaries correctly. Unit tests added.

Change-Id: I9fb4baf4e3123df5dd6d182cca02bb7b0489ca71
ndroid.mk
MLNode.cpp
seudolocalize.cpp
seudolocalize.h
ests/Pseudolocales_test.cpp
5892248580859620db90d5ef2e3c2f48531933fa 02-Jun-2015 Adrian Roos <roosa@google.com> aapt: add option for stricter symbol generation

Adds an option that prevents generating java symbols for string
resources that don't have a default localization.

Bug: 21537397
Change-Id: Ifafa942b24d5cdbed93651cde363e859be13d395
undle.h
ain.cpp
esource.cpp
esourceTable.cpp
esourceTable.h
2738c96d998dedfae5b4670d588d0cd299c4ca0f 14-May-2015 Adam Lesinski <adamlesinski@google.com> Add -round and -notround qualifier to android runtime/aapt

The round qualifier denotes a device with a screen shape that
is round. The qualifier shows up after the 'long/notlong' qualifier
and before the orientation 'port/land/square' qualifiers.

Change-Id: I3044258b2703a9165694b79725bade770fa6cea1
aptConfig.cpp
aptConfig.h
dkConstants.h
ests/AaptConfig_test.cpp
9a59a991ddd10a1bcb1e6523d978ed4ec8228d20 04-May-2015 Chih-Hung Hsieh <chh@google.com> Remove unused aapt target.

BUG: 20765163
Change-Id: I13f36f76541216c5c1c20ae8866e09038e08e6f8
(cherry picked from AOSP commit 97627314a4d3e114afe3dbd764a51523e9f0b787)
ndroid.mk
97627314a4d3e114afe3dbd764a51523e9f0b787 04-May-2015 Chih-Hung Hsieh <chh@google.com> Remove unused aapt target.

BUG: 20765163
Change-Id: I13f36f76541216c5c1c20ae8866e09038e08e6f8
ndroid.mk
bb4ed9aa3aec4b787c8cd5e4f04b7f95302b76f9 29-Apr-2015 Narayan Kamath <narayan@google.com> am 815d9bb1: Merge "Add a static dependency on libbase."

* commit '815d9bb178a0488ed1579cd230d447630ad0891b':
Add a static dependency on libbase.
9c8ba9666d2fad27baae11e56d63485a22812d17 28-Apr-2015 Narayan Kamath <narayan@google.com> Add a static dependency on libbase.

Used by libziparchive.

Change-Id: I120494b620c72b36a725b01f1f274f5dc862a9a3
ndroid.mk
6e46056abc1c2803ed7f195bab169bbb1cacec6b 21-Apr-2015 Adam Lesinski <adamlesinski@google.com> AAPT: Add flag to disable versioning of vector related XML

AAPT automatically versions XML files according to the SDK level
in which their attributes were introduced. Support libraries
know how to handle resources built against newer SDKs, so offer
the option to disable some of the automatic versioning, namely
vectors.

Bug:19336994
Change-Id: I9f9d0ae8f2a0c28404f82e27de416f80e38493c9
undle.h
ain.cpp
esourceTable.cpp
88fa96c7589a076898ac5514925d09a9058df715 09-Apr-2015 Colin Cross <ccross@android.com> am 106f83ee: am 4cead39a: am 1be312df: Merge "Re-enable -Wall and -Werror that were lost in a merge"

* commit '106f83ee9cc145a6421d21067c44b513cc148e80':
Re-enable -Wall and -Werror that were lost in a merge
1be312dfb02e86731da6ac54a39956db791f4978 09-Apr-2015 Colin Cross <ccross@android.com> Merge "Re-enable -Wall and -Werror that were lost in a merge"
01f185633c1c12017731336e7f926fe398c69781 09-Apr-2015 Colin Cross <ccross@android.com> Re-enable -Wall and -Werror that were lost in a merge

-Wall and -Werror were lost during a merge when they were added to
aaptCFLAGS instead of aaptCFlags. Fix the typo, and the warnings
that crept in while it was disabled.

Change-Id: Ib944b8d6149278e4f3861c1acac277bcd95cc7c2
ndroid.mk
mages.cpp
esource.cpp
esourceTable.cpp
dda35c37ead316d671c16a168ffdb9c4b3321e4d 03-Apr-2015 Elliott Hughes <enh@google.com> am 66d94512: am dbb5f5d6: am efcbaec1: Merge "Only Windows doesn\'t have %zd."

* commit '66d9451273c4a3775b6b63a0e4b7027bd2eae65d':
Only Windows doesn't have %zd.
b12f2410c7bdbf90bd8a77b897846ee2763e3037 03-Apr-2015 Elliott Hughes <enh@google.com> Only Windows doesn't have %zd.

Change-Id: I0e4b0fdc61641c5ecb724fd096bd2315dcf8ed4a
esource.cpp
esourceTable.cpp
tringPool.cpp
MLNode.cpp
47fe60a643d5d138ee3b0d836a1c4ab8b6e5b730 20-Mar-2015 Adam Lesinski <adamlesinski@google.com> Merge "Output modified bcp47 tag in ResTable_config::toString()"
644cb092757dd002d1e7c464e57e3e609d26b9ae 19-Mar-2015 Elliott Hughes <enh@google.com> am 0634fba5: am 89da4ca6: Merge "Remove unused printapk.cpp."

* commit '0634fba5915073e5b46e24f0ba0d5bbc44c922a5':
Remove unused printapk.cpp.
e519c81f352ba75ddc7b559e4e357ef4d2b55bea 19-Mar-2015 Elliott Hughes <enh@google.com> Remove unused printapk.cpp.

This is one of the few remaining users of libzipfile, but doesn't get built.
Not worth porting to libziparchive.

Change-Id: Ica466b22e3a7ebaf123727c0d703af39cc89cf9c
rintapk.cpp
8a9355a98ece3d7fc9d022e759d05378060c86e2 11-Mar-2015 Adam Lesinski <adamlesinski@google.com> Output modified bcp47 tag in ResTable_config::toString()

We expect to be able to parse the output of ResTable_config::toString(),
so it should use modified bcp47 (b+en+Latn+US).

Change-Id: I597a1779a1fa5cff171c473e6a0368d93b9c7722
aptAssets.cpp
aptAssets.h
ests/AaptConfig_test.cpp
9b754a1bb8c4111d31c70d418c0160192889117e 12-Mar-2015 Vishwath Mohan <vishwath@google.com> Handle malformed manifests in printXMLBlock

Specially crafted manifest files can cause a segfault in printXMLBlock()
using improper tag nesting (without evaluating to
ResXMLTree::BAD_DOCUMENT). This fix checks and breaks when this
condition is detected.

Bug: 15549617
Change-Id: I27997fda86d228e993217a0c09993bff404cf317
MLNode.cpp
9488813873735174d762615ea8a78cf60c21c10f 06-Mar-2015 Dan Albert <danalbert@google.com> am 7a79c4ca: am f8d6a4ba: resolved conflicts for merge of 701f9c2f to stage-aosp-master

* commit '7a79c4cac3b0c722832e868346db2375b6d6c379':
Stop using namespace std.
f8d6a4ba8739e16e13ae0014efa099ec564939a7 06-Mar-2015 Dan Albert <danalbert@google.com> resolved conflicts for merge of 701f9c2f to stage-aosp-master

Change-Id: I42e0411c0acef4b15137491ecaaed95d9b1cd0c1
030f536009b56dbcc23d284541e51562bd9a6ed3 04-Mar-2015 Dan Albert <danalbert@google.com> Stop using namespace std.

The pattern of #include and using namespace std here fails to build
with GCC. At first glance it's a GCC bug rather than libc++ doing
something wrong. Regardless, it can be worked around by just
specifying std:: where appropriate.

Bug: 19606303
Change-Id: I5652682eae7ca7559cf2a9307909859013440781
mages.cpp
esourceTable.cpp
esourceTable.h
97a366f9d7d7a089195794b86e78fee782828607 11-Feb-2015 Narayan Kamath <narayan@google.com> Merge "Parse res-car as resources for UI_MODE_TYPE_CAR.."
4308c2aea45a4780b460734ee8634d74205c15c5 10-Feb-2015 Chris Warrington <cmw@google.com> am 510c24e8: Merge "Fix AAPT daemon mode with paths containg spaces." into lmp-mr1-dev
automerge: 4499888

* commit '449988872be61f273c91db13069d5b7172429032':
Fix AAPT daemon mode with paths containg spaces.
7f1a8957cca420d525719836069b7f6d5ee04718 10-Feb-2015 Narayan Kamath <narayan@google.com> Parse res-car as resources for UI_MODE_TYPE_CAR..

.. and not a 3 letter language code.

bug: 19291216
Change-Id: I01bf76d89880693dcdb4384d5c239902fa3defa8
aptAssets.cpp
ests/AaptConfig_test.cpp
de3ab0a9e8609f6a631b2c047f352069bb9cfa86 10-Feb-2015 Chris Warrington <cmw@google.com> Fix AAPT daemon mode with paths containg spaces.

Use new line as a delimiter rather than space.
Fixes: https://code.google.com/p/android/issues/detail?id=135757
Gradle CL: https://android-review.googlesource.com/130423

Change-Id: I7c73e680b0417b0e7cff9e0110822675c53ae20f
ommand.cpp
e03f2cb2c26d30c277d38566976bb4b00326d465 23-Jan-2015 Adam Lesinski <adamlesinski@google.com> Merge "AAPT: Use the right enum when checking for density configurations" into lmp-mr1-dev automerge: b443610
automerge: 83f58a2

* commit '83f58a2f7afac98199536b3090fe6f767ffb3a0d':
AAPT: Use the right enum when checking for density configurations
ed643e81827797bd22069bf4283348d49fded891 23-Jan-2015 Adam Lesinski <adamlesinski@google.com> AAPT: Use the right enum when checking for density configurations

Bug:19116675
Change-Id: I2322d8d6bdf890005c80014273e5d07df735ed50
aptConfig.cpp
5c61dfc25fed75a436dc32b0fb18854bde0c4cea 14-Jan-2015 Adam Lesinski <adamlesinski@google.com> am e488ce86: am 94e30215: Merge "AAPT: Handle all old unversioned attribute usage" into lmp-mr1-dev

* commit 'e488ce8668538b45c586eba21f5bca288d749686':
AAPT: Handle all old unversioned attribute usage
28994d8d181c286b39811441ce78399576c2d315 13-Jan-2015 Adam Lesinski <adamlesinski@google.com> AAPT: Handle all old unversioned attribute usage

All references to attributes defined in pre-LOLLIPOP_MR1 SDK
are moved to version qualified resource entries.

Bug:18221682
Change-Id: Ifd739530ebcf99e6bc7ddb3f10bc5e05f0726e62
esourceTable.cpp
esourceTable.h
dkConstants.h
6e2eb2df4cb8ca4d0eeda0fb38e1a67136a0d275 08-Jan-2015 Adam Lesinski <adamlesinski@google.com> am c04a21a0: Merge "Fixup aapt usage message" automerge: 64044d0

* commit 'c04a21a0ef6cd97a45307e4c1de9088e57719ca2':
Fixup aapt usage message
6ab7a7849cc0bb93fa637bd93ab71c287e6878fe 07-Jan-2015 Johan Redestig <johan.redestig@sonymobile.com> Fixup aapt usage message

The --preferred-configurations option was renamed to
--preferred-density in fab5087 but only part of the
usage message was changed.

Change-Id: I89d270990023beca19605901d956d29d0b0b848b
ain.cpp
915f44e1ee98f8c1d1b9ac0ac45ee05d656734a6 16-Dec-2014 Adam Lesinski <adamlesinski@google.com> am 503a4494: am f1f179a7: Merge "AAPT: Copy android:revisionCode to Splits" into lmp-mr1-dev

* commit '503a4494d64d30f9b904b24a56fff986810da610':
AAPT: Copy android:revisionCode to Splits
f1f179a765b6969ba51574d4a10b0381acb0f945 16-Dec-2014 Adam Lesinski <adamlesinski@google.com> Merge "AAPT: Copy android:revisionCode to Splits" into lmp-mr1-dev
54de298c01ad79fe7f5850eb7aefc2542dd8d5da 16-Dec-2014 Adam Lesinski <adamlesinski@google.com> AAPT: Copy android:revisionCode to Splits

Bug:18706179
Change-Id: I669b56e0b67dd1bfda7749ef433b55af16851154
undle.h
esource.cpp
22bfb75ebb949ff05d34ad22fbcc888582aaaaa4 16-Dec-2014 Adam Lesinski <adamlesinski@google.com> am 0f0e85a6: Merge "AAPT: attributes showing up after v21 attributes would be removed for pre-21 devices" into lmp-mr1-dev
automerge: 465d123

* commit '465d123464eadf180b618164b2ed23702bca3d86':
AAPT: attributes showing up after v21 attributes would be removed for pre-21 devices
0f0e85a68961e303ac85d31fb36ec8384277349d 16-Dec-2014 Adam Lesinski <adamlesinski@google.com> Merge "AAPT: attributes showing up after v21 attributes would be removed for pre-21 devices" into lmp-mr1-dev
ea4e5ecc27793b5c1dd2eda291f752b3f900ee6c 11-Dec-2014 Adam Lesinski <adamlesinski@google.com> AAPT: attributes showing up after v21 attributes would be removed for pre-21 devices

There was an inconsistency in the indexing when removing attributes
in layouts. Now we account for that shift that happens when you delete
an attribute.

Bug:18707321
Change-Id: I656eee3fb614168fa8ceeff379e8594708961dad
esourceTable.cpp
55188f591844ce34e9c1862f10a85d89fa20cb91 09-Dec-2014 Adam Lesinski <adamlesinski@google.com> am c765655a: am fbba9b57: Merge "AAPT: Dump status of required flag for uses-feature" into lmp-mr1-dev

* commit 'c765655ae1ae35f9d5f0958295f0b71270132ca7':
AAPT: Dump status of required flag for uses-feature
73a05114b051c6dcf5e5126ac94eaf8cac0ab289 08-Dec-2014 Adam Lesinski <adamlesinski@google.com> AAPT: Dump status of required flag for uses-feature

Outside of a feature-group, the legacy uses-feature tag
has a boolean required flag that should be emitted in
dump badging.

Bug:17790999
Change-Id: I43023af00e9c9ed4bc35795c3a983fc719bf9b7a
ommand.cpp
e97908d32ee8ea80138d085260a0eac93841c722 05-Dec-2014 Adam Lesinski <adamlesinski@google.com> Merge commit '0953ab27' into manualmerge

Change-Id: I36dea45f7571096136ea7bda5e2680bd85a0df32
720beef28dacc924d77576f63fced84e6a820dc6 04-Dec-2014 Adam Lesinski <adamlesinski@google.com> Merge "AAPT: Move private attrs to new type for framework" into lmp-mr1-dev
9b624c186cb6059dfb3ec24bfb6386a0fc17b88c 20-Nov-2014 Adam Lesinski <adamlesinski@google.com> AAPT: Move private attrs to new type for framework

Private attributes are typically placed after public
attributes in the resource table. Each time a new version
of the Android framework is released, new public attributes
take the place of the private attributes, and the private
attributes are shifted after the new public ones.

This means that any apps built against the newer SDK
may inadvertently be using private attributes on older
devices.

This change moves all private attributes to a completely
different type ID, so there will never be collisions across
versions.

These private attributes are automatically moved to a synthesized
type only for the system resources.

Bug:18263655

Change-Id: I7a850512953fadcc9f3524d509cea30249782db8
esourceTable.cpp
esourceTable.h
455550d5869e6ca1433802b06e15d415b6f86e6b 03-Dec-2014 Adam Lesinski <adamlesinski@google.com> am 72a6aeac: am 91ca64ea: Merge "AAPT: Add pathMotion custom classes to Proguard Keep set" into lmp-mr1-dev

* commit '72a6aeaca0712d9b72b9f773e2b72bb45ddd3cb8':
AAPT: Add pathMotion custom classes to Proguard Keep set
62c5df52e771e8cf490ee42e5d1516ec10170679 03-Dec-2014 Adam Lesinski <adamlesinski@google.com> AAPT: Add pathMotion custom classes to Proguard Keep set

Bug:18590044
Change-Id: Ia5dbf55317d2cc89826316e8d10f031b5d340e57
esource.cpp
3550c6c5d67740b8ea77b2921146780fe340f34e 03-Dec-2014 Adam Lesinski <adamlesinski@google.com> am f17611a2: am 130e30fe: Merge "AAPT: Add custom transition classes to Proguard keep set" into lmp-mr1-dev

* commit 'f17611a29e3b0d0c7a5d28a1ce92682a2c097de6':
AAPT: Add custom transition classes to Proguard keep set
4c488ff931fe6b2fc79ef854febc98b4cb748402 02-Dec-2014 Adam Lesinski <adamlesinski@google.com> AAPT: Add custom transition classes to Proguard keep set

Bug:18590044
Change-Id: Ib24831e669a09f0e6f32434081c0e2499702399c
esource.cpp
6698749dd4d4d6513b26aa9071af290b956b68a7 20-Nov-2014 Dan Albert <danalbert@google.com> Add appropriate casts for char16_t.

C++11 defines a real char16_t, which is not implicitly convertible to
uint16_t (and by extension jchar). Add casts as needed.

Bug: 18300613
Change-Id: I00752002ef2e938bdb57f70947e8fd53ec103293
aptXml.cpp
d493fa6d797cbdd805f009f7403f2a046190b5d4 13-Nov-2014 Yabin Cui <yabinc@google.com> am 537888be: Merge "kill HAVE_LOCALTIME_R"

* commit '537888be7d5cfa6bfa9ddd459a622ea208339735':
kill HAVE_LOCALTIME_R
25d58a93571119af35044b54f559e9f88b0b2fff 13-Nov-2014 Yabin Cui <yabinc@google.com> kill HAVE_LOCALTIME_R

Bug: 18361583
Change-Id: Ia79e2b641fd6c61ae5d2b8f2db5456bd3d36a25b
ipEntry.cpp
b28ff487fb6db4a44e4d18aa17d8253f00a63bb6 12-Nov-2014 Dan Albert <danalbert@google.com> resolved conflicts for merge of 5e6cf242 to lmp-mr1-dev-plus-aosp

Change-Id: If21bd328a5c8ea3474abfe624e910d4830c72dc9
ff1d8a6635fb6441615778a47e2881129574a5b1 12-Nov-2014 Dan Albert <danalbert@google.com> Move frameworks/base over to libc++.

Bug: 15193147
Change-Id: I96109d2d383f0c8a4aaa611f29fcf887afb3c69e
ndroid.mk
be6c125783686be593e958725249ffcff5717fc4 11-Nov-2014 Adam Lesinski <adamlesinski@google.com> am da772234: Merge "AAPT: Ignore densities specified in -c flag" into lmp-mr1-dev
automerge: 1e2e05b

* commit '1e2e05bf8cb1445f9e431ca54837bb01f762d9e6':
AAPT: Ignore densities specified in -c flag
d660e05c84c7412336ca5510ff9514357e9ba074 11-Nov-2014 Adam Lesinski <adamlesinski@google.com> am 8aa93764: Merge "Fixing NULL pointer access causing segmentation fault in aapt"

* commit '8aa93764ea025b1c20f96b366ae6efb17e4f2d67':
Fixing NULL pointer access causing segmentation fault in aapt
a2bb565db553e3def89a6e010b59f2fd1db98ff4 11-Nov-2014 Adam Lesinski <adamlesinski@google.com> AAPT: Ignore densities specified in -c flag

The --preferred-density flag knows how to handle missing resources of
specific densities. Using -c with a density leads to missing resources.

Change-Id: I2251d842f48c08ed083663bb7ed608e14c4983c8
esourceFilter.cpp
4d29c6693090cb9a0be209f9cfd0aef307fe52ed 10-Nov-2014 Adam Lesinski <adamlesinski@google.com> Merge commit 'fa31eb2c' into manualmerge

Conflicts:
tools/split-select/RuleGenerator_test.cpp

Change-Id: I0d1261301d433f32e857cf1b0d75a861205f7625
da44fe0e1f7c177cd65b7c5c80b35ec8fb3bc1c2 24-Mar-2011 Jörgen Ekström <jorgen.ekstrom@sonyericsson.com> Fixing NULL pointer access causing segmentation fault in aapt

In cases where resource packages are generated which does
not have public resources for all resource types - NULL
pointers sneaks into the mOrderedConfigs vector causing
the aapt tool to crash. The solution in this fix simply
ignores the NULL elements when later processing the sorted
vector.

The NULL elements are inserted during applyPublicEntryOrder
function call

Change-Id: I8b7135932e2d235018da2e2f7e09f0d22f1b2f59
esourceTable.cpp
dcdfe9fef4b07ee53d312c3fbecc74cb215ace6f 06-Nov-2014 Adam Lesinski <adamlesinski@google.com> split-select: Fix rules generated for anydpi density

Change-Id: I9de569ca9a76eb22df4d0e178df847ba1c7d0b01
aptConfig.cpp
undle.h
esourceTable.cpp
dkConstants.h
685d363d7a3e8833edc9368a3c59b69755e0ba29 05-Nov-2014 Adam Lesinski <adamlesinski@google.com> Merge commit 'fb96e54' into manualmerge

Conflicts:
tools/aapt/Resource.cpp

Change-Id: I4147c3550e9426f3429146eaeb16f10ba76b5b15
8a5bb15efaa55ff57a92e36d2b9e33d1f34c9608 04-Nov-2014 Adam Lesinski <adamlesinski@google.com> Fix automerge issue

Duplicate method declaration.

Change-Id: I9355bd7c716e668ad7892fd12e93352455d149b5
acheUpdater.h
b2808c03c3de0d4fe6a986545fd506df0233b072 04-Nov-2014 Adam Lesinski <adamlesinski@google.com> Merge "Fix build due to bad merge" into lmp-mr1-dev-plus-aosp
0cc963c66334acbcaef7f50c2415080b56c60c78 04-Nov-2014 Adam Lesinski <adamlesinski@google.com> Fix build due to bad merge

- tools/aapt/qsort_r_compat.c was removed
and the merge added it back to the src list in Android.mk

Change-Id: I15aae8adc68f82ac2381020ac0b96a7b1ab59f9c
ndroid.mk
4dfff4e7276ef98e4c5b84ef715b75a80b01f5c7 04-Nov-2014 Adam Lesinski <adamlesinski@google.com> am 5fa90218: am f7ffcaa7: Merge "Build the split-select tool without C++11 support" into lmp-mr1-dev

* commit '5fa9021822577f1e4676db49a6b5cb5d36e4614a':
Build the split-select tool without C++11 support
3fd340028fc24198edb23ddf5eb5a0a100bab745 04-Nov-2014 Adam Lesinski <adamlesinski@google.com> Merge commit '78be0498' into manualmerge

Conflicts:
libs/androidfw/ResourceTypes.cpp
tools/aapt/Android.mk
tools/aapt/StringPool.cpp
tools/aapt/StringPool.h

Change-Id: I9d69efdfb892032895ace12159d193304f02dc6c
de7de47fef1dcaa26d553665d89e4d3792325c3f 03-Nov-2014 Adam Lesinski <adamlesinski@google.com> Add error checking to aapt for split generation

Change-Id: Ica627db6a671f6a6c35f98bfd9c03598ffe103ce
aptConfig.cpp
aptConfig.h
esource.cpp
esourceTable.cpp
esourceTable.h
ourcePos.cpp
ourcePos.h
ymbol.h
f7ffcaa7a478eaafc121e84b14dcaf2503dd5457 04-Nov-2014 Adam Lesinski <adamlesinski@google.com> Merge "Build the split-select tool without C++11 support" into lmp-mr1-dev
c3dc0b57b8d0b3875f868788e110aa67fb032b4a 03-Nov-2014 Adam Lesinski <adamlesinski@google.com> Build the split-select tool without C++11 support

It was complicated to get the tool building on Windows, Linux,
and OSX with C++11 support.

OSX uses Clang to build C++11 binaries, which requires the libc++
standard library. Since most of the dependencies of this program
are built against libstdc++, this was difficult to resolve.

Now we build without C++11 support.

Change-Id: I4e537c113734508a8f480a1c402ed237de4f0e60
aptUtil.h
4bf58108d442b37ab4adf5ce3a4ecd63472ce254 03-Nov-2014 Adam Lesinski <adamlesinski@google.com> Fix issues that will be present in C++11

- char16_t is a distinct type, so stay consistent
with it throughout the code base.
- char16_t is defined as minimum size of 16 bits.
Since we mmap and cast data structures onto raw memory,
we need a precise definition (uint16_t), so we cast between
that (and static_assert that they are the same size).

Change-Id: I869c32637543bbcfb39d2643e7d9df10d33acd3c
aptXml.cpp
ndroid.mk
acheUpdater.h
ain.cpp
esource.cpp
esourceTable.cpp
tringPool.cpp
tringPool.h
MLNode.cpp
a9aecc0c29ce9b9692b9b317559f83b2520dcc43 24-Oct-2014 Tim Kilbourn <tkilbourn@google.com> Merge "aapt updates for Android TV" into lmp-mr1-dev automerge: 6af7d76
automerge: 181c18e

* commit '181c18efd438f7a5e8cc18327367c49bf51795be':
aapt updates for Android TV
d9b1cad71e8aaf94e7738d2e47d3a06daa3cdf2d 24-Oct-2014 Tim Kilbourn <tkilbourn@google.com> aapt updates for Android TV

- Output whether an app claims to be a game (android:isGame)
- Output android:banner if it is specified at the application level.

Change-Id: I7118b524f62cdfc4effeef21b32b3cdd814d9bfa
ommand.cpp
08d1c808477d67fe9f0a2d2ad9463998f8d54379 23-Oct-2014 Adam Lesinski <adamlesinski@google.com> Merge commit 'cd8442d4' into manualmerge

Conflicts:
tools/aapt/ResourceIdCache.cpp

Change-Id: I5341d47ed0fe891d6fefb174f644e636ce966eb8
40e8eefbedcafc51948945647d746daaee092f16 16-Sep-2014 Adam Lesinski <adamlesinski@google.com> First commit of split-select tool

This tool emits a set of rules as JSON for when a Split APK
should match a target device.

Change-Id: I8bfbdfbdb51efcfc645889dd03e1961f16e39645
aptAssets.cpp
aptAssets.h
onfigDescription.h
esourceIdCache.cpp
11d3d1016bf7064f0232278eb0a798dfb33ab00f 21-Oct-2014 Dan Albert <danalbert@google.com> am 9295a135: am e40974d9: Merge "Fix an overflow found by ASAN."

* commit '9295a1354eb8220be9a0a40985253c6cdfac35c3':
Fix an overflow found by ASAN.
2095ed4ef650809c6ead90ebd1223fa2ad669eea 21-Oct-2014 Dan Albert <danalbert@google.com> am 9295a135: am e40974d9: Merge "Fix an overflow found by ASAN."

* commit '9295a1354eb8220be9a0a40985253c6cdfac35c3':
Fix an overflow found by ASAN.
d395f7913336417bcbbea740fcdc8589789626bc 20-Oct-2014 Dan Albert <danalbert@google.com> Fix an overflow found by ASAN.

Sometimes len is 0.

Change-Id: I031000188edc57663a5519b00cbbb751600d32f4
esource.cpp
217b17a915849ac50f01f9097e0e35e2b21e6235 20-Oct-2014 Adam Lesinski <adamlesinski@google.com> am d3969d92: am 6dfe03ae: am 73a8c596: am 3f8c7dec: Merge "AAPT: Fix path for final generated resources on Windows" into lmp-dev

* commit 'd3969d927eef2f04ec097244c5f2bff5e7c0689e':
AAPT: Fix path for final generated resources on Windows
6dfe03ae6cb6ea7c96c5485f542e42ab59b598a0 20-Oct-2014 Adam Lesinski <adamlesinski@google.com> am 73a8c596: am 3f8c7dec: Merge "AAPT: Fix path for final generated resources on Windows" into lmp-dev

* commit '73a8c5962d4d28a2e8aa6fa0b0b18e39782ee79c':
AAPT: Fix path for final generated resources on Windows
3986e52cf994ea7960dabffb8d6015e400ce3b63 20-Oct-2014 Adam Lesinski <adamlesinski@google.com> am 3f8c7dec: Merge "AAPT: Fix path for final generated resources on Windows" into lmp-dev

* commit '3f8c7dec6b3fd4ac7fc99fe4e41cd0fa1b97bcad':
AAPT: Fix path for final generated resources on Windows
aff7c2447df1ddfe094628317b6d22121cd657f8 20-Oct-2014 Adam Lesinski <adamlesinski@google.com> AAPT: Fix path for final generated resources on Windows

Change-Id: Id11ac79b281b51747c73f90406ebd60023c54f92
esourceTable.cpp
10db7553ec036557032c98cdcd334b55fa1bec10 18-Oct-2014 Adam Lesinski <adamlesinski@google.com> am dd64fc43: am effd416e: am 83fae208: am 3cd840f4: Merge "AAPT: Fix an issue where a resource name was incorrectly derived on Windows" into lmp-dev

* commit 'dd64fc43a6c560d3c545132adc16cd4a079f9600':
AAPT: Fix an issue where a resource name was incorrectly derived on Windows
effd416ee3c05c6c378614995fdbe514c8423a48 18-Oct-2014 Adam Lesinski <adamlesinski@google.com> am 83fae208: am 3cd840f4: Merge "AAPT: Fix an issue where a resource name was incorrectly derived on Windows" into lmp-dev

* commit '83fae208fee402d8a6a51362f99660f9a49bd5a4':
AAPT: Fix an issue where a resource name was incorrectly derived on Windows
18d5d1107db296c6ac991d991fff98337f6724dd 18-Oct-2014 Adam Lesinski <adamlesinski@google.com> am 3cd840f4: Merge "AAPT: Fix an issue where a resource name was incorrectly derived on Windows" into lmp-dev

* commit '3cd840f4b5a2988700a6b366fa32f4565c319900':
AAPT: Fix an issue where a resource name was incorrectly derived on Windows
9306a474e1b7509f4cdf252359dc301ce933ca1d 17-Oct-2014 Adam Lesinski <adamlesinski@google.com> AAPT: Fix an issue where a resource name was incorrectly derived on Windows

Calling String8::getLeaf() will assume the system's file path separator,
however the source string was already converted to a unix path.
getLeaf() would therefore not find any occurence of '\' and would
return the full path.

Bug:18036805
Change-Id: Ic2bfac0cc553406740204a296327e266b05c0eff
mages.cpp
7dd87312c9e9ee52c7c945785c6d3b274b3004b3 17-Oct-2014 Adam Lesinski <adamlesinski@google.com> am 87a529c8: am 12c84b5d: Merge "Minor resource notation/compatibility fixes" into lmp-mr1-dev

* commit '87a529c899045cf2785b86e4e289dd6c6cf56c1a':
Minor resource notation/compatibility fixes
9086562a6a524cc0c96231411863cd65d8785bfe 17-Oct-2014 Adam Lesinski <adamlesinski@google.com> Minor resource notation/compatibility fixes

- Change the format of mnc/mcc when printing a resource-qualifier
formatted string from a Configuration object.
- Correctly bump the SDK to 21 when using anydpi in a resource qualifier.

Change-Id: I3c31e344dc5384d45398d6e9f264a073abab65d1
aptConfig.cpp
b51644c3c7d428d92202c2c6a8f6ba69700a71f1 11-Oct-2014 Jerome Dochez <jedo@google.com> am e36550dc: am 0757e5fd: am c9c512e0: am f47f8855: Merge "Added a daemon mode to aapt to receive streams of commands from gradle." into lmp-dev

* commit 'e36550dc9e202450d0921bf65d00d14e7e3e8a54':
Added a daemon mode to aapt to receive streams of commands from gradle.
fc07eb1c7f06f75cca9e32547516e83e115163c3 10-Oct-2014 Jerome Dochez <jedo@google.com> am f47f8855: Merge "Added a daemon mode to aapt to receive streams of commands from gradle." into lmp-dev

* commit 'f47f8855175213b4bf1014593f97bc81c042dfd1':
Added a daemon mode to aapt to receive streams of commands from gradle.
f47f8855175213b4bf1014593f97bc81c042dfd1 10-Oct-2014 Jerome Dochez <jedo@google.com> Merge "Added a daemon mode to aapt to receive streams of commands from gradle." into lmp-dev
5787920f5bbac1c7cf296b5c042daf0108dbdacc 04-Oct-2014 Adam Lesinski <adamlesinski@google.com> am 85035d90: am b2b166a5: am 397001b2: am a80aba70: Merge "AAPT: Gate v21 resource synthesizing logging behind -v flag" into lmp-dev

* commit '85035d90257beedd54641385674ce2dfb29ae241':
AAPT: Gate v21 resource synthesizing logging behind -v flag
865acc74395a56287ab7bec58947327b5790aa70 04-Oct-2014 Adam Lesinski <adamlesinski@google.com> am a80aba70: Merge "AAPT: Gate v21 resource synthesizing logging behind -v flag" into lmp-dev

* commit 'a80aba70728c2843df94474dbd7829dadb77855f':
AAPT: Gate v21 resource synthesizing logging behind -v flag
f15de2e2151ae48338afd27f3ebd33fce5009103 03-Oct-2014 Adam Lesinski <adamlesinski@google.com> AAPT: Gate v21 resource synthesizing logging behind -v flag

This is verbose information and should be hidden behind the -v flag.

Bug:17822471
Change-Id: I36e2c6beb54669a31cde73416427477a80ded8a6
esourceTable.cpp
6f1280cf170b358a57ff70341a9f2ad224e5a662 26-Sep-2014 Jerome Dochez <jedo@google.com> Added a daemon mode to aapt to receive streams of commands from gradle.

When crunching png, we used to spawn a separate aapt process from java
which is slow and resource intensive.
Introduced a daemon mode to appt which when invoked with -m parameter
will listen from commands on stdin and give report of command execution
on stdout.

One one command is supported so far :
s f1 f2

This command perform a single png crunch, f1 pointing to the input
png file to crunch, and f2 pointing to the path for the resulting
crunced file.

Expected output from the command is "Done" or "Error".

Change-Id: Iaf1d865e8d5ee5d36abe39dea6443715865a98d3
undle.h
ommand.cpp
ain.cpp
ain.h
f08384c763d2e57c05e0be4325c267d12fc516d4 02-Oct-2014 Stephen Hines <srhines@google.com> am 25a8e43b: am 7d92ae6d: am 5b3be618: am 70de9c0d: Merge "include direct.h for _mkdir" into lmp-dev

* commit '25a8e43b13e719ff97edd174f8b1ed175e6f91b0':
include direct.h for _mkdir
5e77475b5d1de1fecbaf5b3e27988a255a3c399e 02-Oct-2014 Andreas Gampe <agampe@google.com> am 152d9aae: am 31629651: Merge "Frameworks/base: Fix more aapt issues"

* commit '152d9aae631381ea28f5701168d372a1486a7502':
Frameworks/base: Fix more aapt issues
e1b180e21e10e2cc18f3985c4e40cd32a605ac48 02-Oct-2014 Andreas Gampe <agampe@google.com> am 152d9aae: am 31629651: Merge "Frameworks/base: Fix more aapt issues"

* commit '152d9aae631381ea28f5701168d372a1486a7502':
Frameworks/base: Fix more aapt issues
8daabceb2efddebe2e7c0b2425ad9f8ef62c0a5c 02-Oct-2014 Andreas Gampe <agampe@google.com> resolved conflicts for merge of 1dcc75b2 to lmp-dev-plus-aosp

Change-Id: I8e1c6ee2025b6acd90803545fb95ab1b98560d92
87332a7109610d02ac7f5db6af99d3a11813d5c1 02-Oct-2014 Andreas Gampe <agampe@google.com> resolved conflicts for merge of 1dcc75b2 to lmp-mr1-dev-plus-aosp

Change-Id: I8f7cbd971beae3ab134195e612d705860665142f
b8dc7bc582ee4acd9d6c1379701a002c5ddbe323 02-Oct-2014 Andreas Gampe <agampe@google.com> Frameworks/base: Fix more aapt issues

Change-Id: I6da7dc674e9f9e3b0886a3cfd1e3194d6b5ac948
aptAssets.cpp
ommand.cpp
mages.cpp
MLNode.cpp
2412f84064c26b643c722ce914a97c4ec7776c69 01-Oct-2014 Andreas Gampe <agampe@google.com> Frameworks/base: Fix AAPT warnings

Turn on -Wall -Werror. Fix warnings.

Change-Id: I287fb3c1e851c654479bcf9ea8c73bd354a6b2a1
aptAssets.cpp
ndroid.mk
acheUpdater.h
runchCache.cpp
mages.cpp
ackage.cpp
esource.cpp
esourceIdCache.cpp
esourceTable.cpp
tringPool.cpp
MLNode.cpp
ipEntry.cpp
ipEntry.h
ipFile.cpp
95fc18f38b704869fa779e587e8703e1dd8e1c2c 02-Oct-2014 Stephen Hines <srhines@google.com> am 70de9c0d: Merge "include direct.h for _mkdir" into lmp-dev

* commit '70de9c0d585dcfe71e2cfd921438071e69ff5c45':
include direct.h for _mkdir
47c23a228deb2fa2e7158c58fc42441e8517ea38 01-Oct-2014 Dan Albert <danalbert@google.com> resolved conflicts for merge of fe50cfd5 to lmp-mr1-dev-plus-aosp

Change-Id: Id09c2786db18fa7e747cd1652ea95f575c3f5c46
864272f3eb1700b999275887a61dd228f8a565a9 01-Oct-2014 Dan Albert <danalbert@google.com> resolved conflicts for merge of fe50cfd5 to lmp-dev-plus-aosp

Change-Id: Iea93ad20b44f0183f1868f078dd7982b2798fcd3
0de19adc80d8caeac8ab5da79e70ed4adb18b1c1 01-Oct-2014 Dan Albert <danalbert@google.com> Use std::sort instead of qsort_r wrapper.

The HAVE_(BSD|GNU)_QSORT_R in AndroidConfig.h has never worked, and we
should just be using something standard anyway.

Change-Id: I784d6212f6c890a11c4af2f83d1ce2d279708652
ndroid.mk
tringPool.cpp
tringPool.h
sort_r_compat.c
sort_r_compat.h
c9d32390e59d99c76b79edd247a1127088ce81ec 07-May-2014 Andrew Hsieh <andrewhsieh@google.com> include direct.h for _mkdir

Bug: 14416410

The new mingw-w64 toolchain x86_64-w64-mingw32-4.8 no longer
declares _mkdir in io.h.

Change-Id: I624b52d2f35db54a7f28df09f997fc883b0f0557
acheUpdater.h
61b8bfa5d303645d95a7bff52d19a3d6ec297bb8 26-Sep-2014 Adam Lesinski <adamlesinski@google.com> am a196e203: am 98e858b1: am 581dfee1: am 0a6c5ea4: Merge "AAPT: Fix issue with synthesized resource not actually showing up" into lmp-dev

* commit 'a196e203076cb810a21a702b41f6a1d82d029318':
AAPT: Fix issue with synthesized resource not actually showing up
86641af81dc7e7216ac035a7e78bc39ff1f1244d 26-Sep-2014 Adam Lesinski <adamlesinski@google.com> am 0a6c5ea4: Merge "AAPT: Fix issue with synthesized resource not actually showing up" into lmp-dev

* commit '0a6c5ea412bc1e49aa1e98a6a3fe268081883d4a':
AAPT: Fix issue with synthesized resource not actually showing up
978ab9d92934b79409638cf220de3002fea8d505 25-Sep-2014 Adam Lesinski <adamlesinski@google.com> AAPT: Fix issue with synthesized resource not actually showing up

AAPT keeps around a few pieces of state that are disjoint, so
simply adding to a collection won't add the resource to the final
flattened output. Instead, we create the resource from the top
and then copy over the values into the newly created resource.

Bug:17647890
Change-Id: I214263e84c18f9370c6e6a5aa53aa2d833fc842d
esourceTable.cpp
esourceTable.h
dc03c9f292a93806a30a3a32009ff75ff8d419cc 22-Sep-2014 Adam Lesinski <adamlesinski@google.com> am d4e5b601: am 37e3df38: am 1aa4db07: am 81745c51: Merge "AAPT: Continuation of public/private attribute fix" into lmp-dev

* commit 'd4e5b601c7da5c662d8cf9c46177810fdeeed23f':
AAPT: Continuation of public/private attribute fix
94ea10844c2b1ab344a5bcb404a19fdf66434874 22-Sep-2014 Adam Lesinski <adamlesinski@google.com> am 36b5795f: am 81745c51: Merge "AAPT: Continuation of public/private attribute fix" into lmp-dev

* commit '36b5795fc9e9a2eed320a0d626bce44a8c231f6b':
AAPT: Continuation of public/private attribute fix
e572c011feabf6319ba836cf5bc4c3baa0ba6a85 20-Sep-2014 Adam Lesinski <adamlesinski@google.com> AAPT: Continuation of public/private attribute fix

XML files like layouts are now scanned and checked
for v21 attributes. If those kinds of attributes
are found, then we remove them in the original
version and synthesize a new xml file under the
v21 configuration.

Bug:17520380
Change-Id: Icf984cb96134180a2e35349c1dbf2cef9a8f0bda
aptAssets.h
mages.cpp
mages.h
ain.h
esource.cpp
esourceTable.cpp
esourceTable.h
MLNode.cpp
MLNode.h
8ab25d82b56c7604dc945e4385b74a75de093e56 20-Sep-2014 Dan Albert <danalbert@google.com> resolved conflicts for merge of 1a4527ce to lmp-mr1-dev-plus-aosp

Change-Id: If649bd9ef98181a1e1e341cc5b73d237586fb72c
c04d92cac93fdbbdc6d104f15f6496d197753e92 20-Sep-2014 Dan Albert <danalbert@google.com> resolved conflicts for merge of 1a4527ce to lmp-dev-plus-aosp

Change-Id: Iee4e93e3a2b049ec5f13166dbbffdd77b301fe5c
0fa7511db2ec1e2326938f92262d00f23876307e 19-Sep-2014 Adam Lesinski <adamlesinski@google.com> am 9ee3ba23: am e7e9ad6d: am 863b1a90: am 19f9d54f: Merge "Fix backwards compat problem with AAPT public attrs" into lmp-dev

* commit '9ee3ba23395bd1a13bbfd3fe523ee611a5ca001b':
Fix backwards compat problem with AAPT public attrs
8d2556f0de2786367babaafbf1c34b24926e48ca 19-Sep-2014 Adam Lesinski <adamlesinski@google.com> am 8bdb265f: am 19f9d54f: Merge "Fix backwards compat problem with AAPT public attrs" into lmp-dev

* commit '8bdb265f0a73bc6f2114ca70f141c214a23696c7':
Fix backwards compat problem with AAPT public attrs
82a2dd8efe48d3a4e04655f01329da857ace4b7d 18-Sep-2014 Adam Lesinski <adamlesinski@google.com> Fix backwards compat problem with AAPT public attrs

AAPT has traditionally assigned resource IDs to public attributes,
and then followed those public definitions with private attributes.

--- PUBLIC ---
| 0x01010234 | attr/color
| 0x01010235 | attr/background

--- PRIVATE ---
| 0x01010236 | attr/secret
| 0x01010237 | attr/shhh

Each release, when attributes are added, they take the place of the private
attributes and the private attributes are shifted down again.

--- PUBLIC ---
| 0x01010234 | attr/color
| 0x01010235 | attr/background
| 0x01010236 | attr/shinyNewAttr
| 0x01010237 | attr/highlyValuedFeature

--- PRIVATE ---
| 0x01010238 | attr/secret
| 0x01010239 | attr/shhh

Platform code may look for private attributes set in a theme. If an app
compiled against a newer version of the platform uses a new public
attribute that happens to have the same ID as the private attribute
the older platform is expecting, then the behavior is undefined.

We get around this by detecting any newly defined attributes (in L),
copy the resource into a -v21 qualified resource, and delete the
attribute from the original resource. This ensures that older platforms
don't see the new attribute, but when running on L+ platforms, the
attribute will be respected.

We still need to address this problem in the platform moving forward,
as this will only help us in the transition from pre L to L.

Bug:17520380
Change-Id: Ia2a985798b50006c21c7c3431d30d9598f27cd91
esource.cpp
esourceTable.cpp
esourceTable.h
88ba339aefd74ffe0ea978ebb659a430f82940f0 12-Sep-2014 Dan Albert <danalbert@google.com> Clean up makefile cruft.

The build system already takes care of all these things.

Change-Id: Idef80b554e07cef5e5ed2adf1b5740a76f13ef6d
ndroid.mk
0bdcb84b55bd94843081ba45e95256e0655e99b7 11-Sep-2014 Marcin Kosiba <mkosiba@google.com> am 972628dc: am 5128e88e: Merge "Don\'t use reflection when generating the onResourcesLoaded callback." into lmp-dev

* commit '972628dc8c63b02b75f9e976b3ab67e3913da1a8':
Don't use reflection when generating the onResourcesLoaded callback.
a0a946647611ea0477c9a25b3d9621fab4cfaaf3 11-Sep-2014 Marcin Kosiba <mkosiba@google.com> Merge "Don't use reflection when generating the onResourcesLoaded callback." into lmp-dev
0f3a5a6559a955ea20f1ae2d3e0995f3fa821c90 11-Sep-2014 Marcin Kosiba <mkosiba@google.com> Don't use reflection when generating the onResourcesLoaded callback.

BUG: 17466240
Change-Id: I74608f3d8b3617281639a9d387face97e15fb616
ommand.cpp
esource.cpp
017d1bdca7d41ceb1351fc73e50f543fb45618a2 10-Sep-2014 Adam Lesinski <adamlesinski@google.com> am 716c7279: am 799dc748: Merge "AAPT: Don\'t crash on illegal symbol name" into lmp-dev

* commit '716c7279854318eeabad39b7bb187aa69ad41c97':
AAPT: Don't crash on illegal symbol name
3fb8c9b50ef1873454acf3a4e7fd33ad182c03d7 10-Sep-2014 Adam Lesinski <adamlesinski@google.com> AAPT: Don't crash on illegal symbol name

We never checked the return value when adding a nested
symbol, which would be NULL if the symbol name was invalid.

External bug: https://code.google.com/p/android/issues/detail?id=75876

Change-Id: I5211f4d4b87897d52f2b6e5907113d31930bb92d
esourceTable.cpp
6800165351b693fa7e4bcf0f205655f0cd16b361 09-Sep-2014 Dan Albert <danalbert@google.com> resolved conflicts for merge of 1d99636f to lmp-dev-plus-aosp

Change-Id: Ic5f808de7d9722056112c6a73c718892e00bc9df
8085477fb98eab36bbc8c3e9add76f398235b469 09-Sep-2014 Dan Albert <danalbert@google.com> Merge "Don't check for null references."
20ec4fa2294a91e5ff87839280904aba4a050cf6 09-Sep-2014 Dan Albert <danalbert@google.com> resolved conflicts for merge of 6c585756 to lmp-dev-plus-aosp

Change-Id: I5a25f2bac44ac5efcd7462af91005e09680a1d96
ddb605d4b2fa544bab69a72a288e578f2dd37f52 09-Sep-2014 Dan Albert <danalbert@google.com> am de86cf13: am 5a6934c0: Merge "Don\'t pollute the namespace for two uses."

* commit 'de86cf1362ef0461b589fa85bdd5c58921010c6a':
Don't pollute the namespace for two uses.
2ffa4aabd76353a907ee89a3e0c6f1961237f257 09-Sep-2014 Dan Albert <danalbert@google.com> Merge "Use char16_t for char things."
1c6c7573e9ffa95058adc9d185d205b1e59b3d70 09-Sep-2014 Dan Albert <danalbert@google.com> Don't pollute the namespace for two uses.

Clang complains about ambiguity between std::hash and ::hash (locally
defined). There's no need to pull in the whole namespace for two uses of
std::map anyway.

Change-Id: Icbaa7ebbaad05999988784ad34662c721fb12b29
esourceIdCache.cpp
a8995adc2b363811482c38009f64992b322efaad 09-Sep-2014 Dan Albert <danalbert@google.com> Don't check for null references.

The address of a reference will never be null in well formed C++ code.
The function returning the value being checked simply returns a
dereferenced pointer (which is just going to segfault if it is null!).

Change-Id: I3a4eb6adfc003c63ebf21b81d46088d52154d99d
ommand.cpp
f348c15ecf78e9d58b8238ffcf1d78a279e3a862 09-Sep-2014 Dan Albert <danalbert@google.com> Use char16_t for char things.

When compiling in C++ mode, the compiler will complain about conversions
from uint16_t to char16_t. Be consistent in using char16_t for strings.

Change-Id: I052b6176ced635162920b31560052d9a64f92764
ommand.cpp
esource.cpp
esourceTable.cpp
tringPool.cpp
tringPool.h
MLNode.cpp
5283faba4a75a4d1fd9990637d22768e423895e3 29-Aug-2014 Adam Lesinski <adamlesinski@google.com> Change platformBuildVersionCode to name in aapt dump badging

Change-Id: Ie3972105b3f6a727682f91851f7a99b05bb28e1a
ommand.cpp
ad2d07d2d98a46babb2a9472413fe9ce5080ca76 28-Aug-2014 Adam Lesinski <adamlesinski@google.com> Stamp platform version code into app Apks

The versionCode of theframework resources that an app is built against
gets stamped inside an app's AndroidManifest.xml in the <manifest>
tag as "platformBuildVersionCode" and "platformBuildVersionName"
attributes.

Bug:17207635
Change-Id: Id573c3dffcbca38eec9c0eb3e89f4a547e3361d3
aptAssets.cpp
aptAssets.h
aptXml.cpp
aptXml.h
ndroid.mk
undle.h
ommand.cpp
ain.h
esource.cpp
3aa6076083f09a3c6c25726a14efb1ea5af8c044 26-Aug-2014 Adam Lesinski <adamlesinski@google.com> Merge "Have R classes generate their own reference rewrite logic" into lmp-dev
1e466385d4a4f1acee080fa0fdf16cc8fd8ce7ca 15-Aug-2014 Adam Lesinski <adamlesinski@google.com> Have R classes generate their own reference rewrite logic

Change-Id: I0e5b8311fc3479d966a49f9acf0d4c32a6a024d3
ommand.cpp
ndentPrinter.h
ain.h
esource.cpp
31245b4f06003f1c8cd44c31b387c96ab4e282f9 23-Aug-2014 Adam Lesinski <adamlesinski@google.com> Introduce anydpi density resource qualifier

This is meant to be used with scaleable vector
drawables, and are chosen as the best match unless
there is a configuration that matches the density
requested exactly.

Bug:17007265
Change-Id: Ic3288d0236fe0bff20bb1599aba2582c25b0db32
aptConfig.cpp
undle.h
a5cc002bfe7ca8a6536549189b44e7143c8611dc 22-Aug-2014 Adam Lesinski <adamlesinski@google.com> AAPT: Filtering resource fix

Previously, when filtering resources from an APK using
-c option, if one qualifier matched, we would keep the resource.
However, in the case of something like

-c fr-FR,sw360dp

and with a resource in the APK like so

drawable-fr-FR-sw600dp-v13

we would want this resource to be excluded, as it does not
match the sw360dp qualifier (must be less than or equal to it).

This CL fixed the behavior of the filter to require that all
defined qualifier axis be matched.

Bug:17142358
Change-Id: Ie48f3d516a0e610abc7ba8a7ced4eb3ab52534d4
esourceFilter.cpp
esourceFilter.h
ests/ResourceFilter_test.cpp
caf797c84a6a2829662872e0df93fcd61da78d51 22-Aug-2014 Adam Lesinski <adamlesinski@google.com> AAPT: Dump installLocation in badging

Bug:17033144
Change-Id: I87dea9af47eef8bcba1465df9b49e355ac6346ec
ommand.cpp
d255aba09337bf81c3cc277e978f6664699a54b7 22-Aug-2014 Adam Lesinski <adamlesinski@google.com> Merge "Add better error message for AAPT file conflicts" into lmp-dev
27f69f4e06961fdecd1078b2292d764a157e5e1c 21-Aug-2014 Adam Lesinski <adamlesinski@google.com> AAPT: mipmaps should not end up in Splits

Mipmaps are never filtered, and so they will always
end up in the base APK. Make sure they get omitted from
any split.

Change-Id: Id24b082bc9bd2d3f031a58bd0de4d30b4f0de7e0
esource.cpp
esourceTable.cpp
esourceTable.h
ests/ResourceFilter_test.cpp
48f05d29f398576c76b2c3b47a22f4e44e8919fc 13-May-2014 Adam Lesinski <adamlesinski@google.com> Add better error message for AAPT file conflicts

Some resource directories may be the same even though
their names are different. For instance, the
"smallest width" qualifier was added in API 13,
so the resource directory "values-sw600dp" and
"values-sw600dp-v13" are the same and cause
a conflict. The error reports that this might be the
case.

Change-Id: Ia35f1d670edd48265b3a7fe3d55656128421f612
aptAssets.cpp
6a7d2757a936ee79b8dba2055139c8b71130c58e 08-Aug-2014 Adam Lesinski <adamlesinski@google.com> Use the correct versionCode for Split APKs

Insert the correct versionCode into the generated
Split AndroidManifest.xml.

Change-Id: I0aec797b5a4ff8bd70f9394b18aee5ad292b37c8
esource.cpp
6022debdbcc4498736580640c6287b57872617a2 20-Aug-2014 Adam Lesinski <adamlesinski@google.com> AAPT: Fix regression generating dynamic ref table for shared libraries

AAPT stopped generating dynamic reference tables for shared libraries.

Change-Id: Ib0025811bdca1a4756eb21080dd6b6bb3fc1ca3d
esourceTable.cpp
43a0df04b0826ffb9e4589aac73b07b0c98abe8c 19-Aug-2014 Adam Lesinski <adamlesinski@google.com> Allow enum generated IDs to reuse existing IDs

Change-Id: Ida5dbbce1c4ecb0a4e57511555cec6448737be25
esourceTable.cpp
ad751224401564dcc8338df3d5c4c5de7722be8f 18-Aug-2014 Adam Lesinski <adamlesinski@google.com> Include build number in aapt version

Teams are constantly confused over which version of aapt
they are running. Include the build number from the
Android build system in the binary. Can be retrieved by executing
'aapt version'.

Change-Id: I9165c7d01f977344e143c2cb4dd963310ab28b72
ndroid.mk
ommand.cpp
9a9a17eb07e748542dc8eff15daef1eccfa5717d 19-Aug-2014 Adam Lesinski <adamlesinski@google.com> Revert "Include build number in aapt version"

This reverts commit a7ce555ee82ed91345a54ee171dc9a415b65e134.

Change-Id: I1018747766963e75bec11ddb01ba6d138f133959
ndroid.mk
ommand.cpp
71809ee7f63229d0ea4f6169922ddfbfee330fd2 18-Aug-2014 Adam Lesinski <adamlesinski@google.com> Include build number in aapt version

Teams are constantly confused over which version of aapt
they are running. Include the build number from the
Android build system in the binary. Can be retrieved by executing
'aapt version'.

Change-Id: Ie4692fb160c7cbe720a8e76b73e435170214fe0e
ndroid.mk
ommand.cpp
e47fd129057b19862e94b89f9ba413b5ceaca498 16-Aug-2014 Adam Lesinski <adamlesinski@google.com> AAPT: Output only 64-bit arch when multiArch is true

When android:multiArch="true" in the <application> tag,
aapt dump badging should only output the 64-bit architecture
under the 'native-code' entry.

Other architectures will be emitted under the 'alt-native-code'
entry.

Bug:17061929
Change-Id: I8310b2388b06a2ed571e5e121e4989403082ba68
ommand.cpp
91306bccf16715f0867a10f3537122179527f7c3 16-Aug-2014 Adam Lesinski <adamlesinski@google.com> Merge "Add FeatureGroup to PackageInfo" into lmp-dev
d3edfde51bd069a63e820282421d1a534fcf00ce 09-Aug-2014 Adam Lesinski <adamlesinski@google.com> Add FeatureGroup to PackageInfo

FeatureGroups replace top-level FeatureInfo objects.
FeatureGroups inherit top-level FeatureInfos but override
them if the feature names are the same.

Bug:16822121

Change-Id: I80b2cb778a0fbcb4521efce986fba641e0914290
ommand.cpp
esource.cpp
2cb761e3ddb9d68ab430013e9cd15ecaab9fbc62 15-Aug-2014 Adam Lesinski <adamlesinski@google.com> Fix assumption about DynamicRefTable in aapt

Packages without any resources should not expect to have
a DynamicRefTable.

Bug:16895517
Bug:17056720
Change-Id: Id006f6bdbf08f30505f6ba5982bc9d1b09db0f0a
ommand.cpp
47d86230823de5d372688dff2b6e363a607009a8 15-Aug-2014 Chris Craik <ccraik@google.com> Fix nine patch outline radius computation

bug:16852714
Change-Id: I475154c0f324fd2e2c8991415e0d8240c75663d8
mages.cpp
6240840387335632fdc92d5d168f924e2f414dda 08-Aug-2014 Adam Lesinski <adamlesinski@google.com> Ensure that split names are valid

Generate valid split names for resource splits.
Validate split names for features.

Change-Id: I3040438af0156778c2bd66ddeffdf62fe9dcc9fc
pkBuilder.cpp
pkBuilder.h
esource.cpp
25d35a9d68fed6304352d0bfc2e0d581ed47f8b5 11-Aug-2014 Adam Lesinski <adamlesinski@google.com> AAPT: Dump an APK's split name attribute

Bug:16919497

Change-Id: I109e21bff9e4a64a10f48dce7f2d41102b32ee1d
ommand.cpp
ec64709ce042bcf456f9749e079e5f6981cfbbb9 09-Aug-2014 Adam Lesinski <adamlesinski@google.com> Merge "AAPT support for feature splits" into lmp-dev
e8e91925074479fc06310418b58b54f49d051801 07-Aug-2014 Adam Lesinski <adamlesinski@google.com> Have styleable indices be non-final for library projects

Invoking aapt after merging resources from a library project
may yield a different ordering to styleable arrays, so have
the indices be non-final too.

Bug:16842410

Change-Id: I0432bea03dc4312d5908a770fc70a11f0a1596ae
esource.cpp
833f3ccbc8f4dd1ec8abb9121988b99ff34ec4c1 19-Jun-2014 Adam Lesinski <adamlesinski@google.com> AAPT support for feature splits

This change allows the developer to add a base package for
which to build a feature split. The generated resource types
will begin after the base APK's defined types so as not
to collide or override resources.

Multiple features can be generated by first choosing an
arbitrary order for the features. Then for each feature,
the base APK and any preceding features are specified
with the --feature-of flags.

So with a base APK 'A' and features, 'B', and 'C',
'B' would be built with

aapt package [...] --feature-of A [...]

and 'C' would be built with

aapt package [...] --feature-of A --feature-of B [...]

Change-Id: I1be66e3f8df9a737b21c71f8a93685376c7e6780
aptAssets.cpp
undle.h
ain.cpp
esource.cpp
esourceTable.cpp
esourceTable.h
c2dea8daea2ae0001d56689d96ce1066012b7b40 05-Aug-2014 Adam Lesinski <adamlesinski@google.com> Modify base Configuration used for aapt dump badging

Some apps don't provide defaults when providing icons
for different screen sizes, so use a configuration
that has a screen size set to NORMAL.

Change-Id: If4b9eebd37e5d2e2991301d09ff5c39dd41c1565
ommand.cpp
8e554924c527183962fc908c5f916f390f806c74 01-Aug-2014 Chris Craik <ccraik@google.com> Merge "Add outline alpha" into lmp-dev
77b5cad3efedd20f2b7cc14d87ccce1b0261960a 31-Jul-2014 Chris Craik <ccraik@google.com> Add outline alpha

bug:16140822
bug:16566746

This allows background drawables to alter the opacity of a shadow
being cast with their own alpha values.

Change-Id: I49698cc7c1bf4b2b55ffe2f82899543ca62bc61c
mages.cpp
63e646eed5a8d7f5d04544ac8628f65b0173cf3a 30-Jul-2014 Adam Lesinski <adamlesinski@google.com> Add shared library support to aapt dump

AAPT dump should be able to handle dynamic references
that often come with shared library resources.

Bug:16678251
Change-Id: I6c8cd943145aab20ca9db9694c8c433b3c64279b
ommand.cpp
57079519f4610715e4c0668c641575d10f3d4461 29-Jul-2014 Adam Lesinski <adamlesinski@google.com> Fix large memory corruption in AAPT

When assigning a new string pool to a package, don't release the
reference to the old memory immediately, as the cleanup code that
is called after references the old memory.

Bug: 16155257
Change-Id: I3eaeb81191b71a282a0ef82856023f09707f1b17
esourceTable.cpp
d7a94da476e9b783acf0673ed938cc3fc2cc6ba5 25-Jul-2014 Adam Lesinski <adamlesinski@google.com> Have AEP GL feature depend on GLES 3.1 in badging

AAPT dump badging should output the uses-gl-es tag with
a version of 3.1 when android.hardware.opengles.aep is
declared as a feature.

Change-Id: I8affc6dad574c8303c6ba9810ad8e6e205ea9506
ommand.cpp
2c72b6822debb08fe997926eedc110f62d287d34 24-Jun-2014 Adam Lesinski <adamlesinski@google.com> Add <feature-group> tag and change aapt badging

A <feature-group> represents a set of features required
for an app to be compatible with a device. Multiple
<feature-group> elements represent a logical 'or'
of required features.

Features defined in the old way with <uses-feature> tags
under the <manifest> tag are automatically added to each
feature-group defined.

Defining a <feature-group> means that any default
features are not included (such as android.hardware.touchscreen)
and declared permissions do not imply any features.

Change-Id: I45626f0fdc546e47bcf2aead7ef05ebcca12b023
ommand.cpp
78a130144bdd047665f00782c481d31edb3e5fb7 16-Jul-2014 Jeff Sharkey <jsharkey@android.com> Mark resource-only splits as hasCode=false.

PackageManagerService now skips dexopt for split APKs that don't
declare they have code. Also surface more detailed error messages
in logs.

Bug: 14975160
Change-Id: Ie6078dba724815020cee59b7fc52317e88ca097a
esource.cpp
47cd8e921db73e894f94ec4729ade90da50996f5 09-Jul-2014 Chris Craik <ccraik@google.com> Implement outline support for nine patches

b/15856895

Nine patches now have outline round rect metadata stored as optional
png tags. aapt generates these automatically by inspecting the bitmap
pixels to estimate outline bounds and round rect radius, based on
opacity.

Change-Id: I226e328a97873010d9e1adb797ac48f93a31183c
mages.cpp
2cfc8482267707a671cbe4275ea8927c1aef991a 10-Jul-2014 Jeff Sharkey <jsharkey@android.com> Add versionCode to split manifest; compile.

To verify consistency at install time, all APK manifests must declare
the same package name and version code. Also start compiling the
manifest, since versionCode is an attribute.

Bug: 14975160
Change-Id: I2a1a769bd3dfde05b19563af5ca9b6c15a9c95ff
esource.cpp
eb8d1be6acad180eabde84f19196b9ecaba81353 25-Jun-2014 John Spurlock <jspurlock@google.com> Add a BIND_DREAM_SERVICE signature-level permission.

Starting in api 21, will be required to bind to a
declared dream or doze service.

Also added to aapt dump badging output.

Bug:15862654
Change-Id: Ifa0a594eeecf21e6146176c7810a847e1d08fe3b
ommand.cpp
9d5b08ea8c1eef6658418b33090a6a8142d75208 25-Apr-2014 Adam Lesinski <adamlesinski@google.com> Dump more info about behaviors an APK offers

Behaviors include things like print services,
custom launchers, camera apps, etc.

Bug:13748429

Change-Id: I9fb83bac95b1be61fc630c1e74daf0f4a8b9b27f
ommand.cpp
f90f2f8dc36e7243b85e0b6a7fd5a590893c827e 06-Jun-2014 Adam Lesinski <adamlesinski@google.com> Support multiple resource tables with same package

In order to support APK split features, the resource
table needs to support loading multiple resource
tables with the same package but potentially new set
of type IDs.

This adds some complexity as the type ID space changes
from dense and ordered to potentially sparse.

A ByteBucketArray is used to store the type IDs in
a memory efficient way that allows for fast retrieval.

In addition, the IDMAP format has changed. We no longer
need random access to the type data, since we store the
types differently. However, random access to entries of
a given type is still required.

Change-Id: If6f5be680b405b368941d9c1f2b5d2ddca964160
esource.cpp
esourceTable.cpp
96c2e9f1cbda615197047a46af5a39ae182fc306 09-Jun-2014 Jeff Brown <jeffbrown@google.com> Merge "Add support for @SystemApi annotation to aapt."
aa00ae0a67059c305323d234cf9ffb0cf9a15961 09-Jun-2014 Bryan Mawhinney <bryanmawhinney@google.com> am 99017c01: Merge "Fix issue preventing aapt from stripping all unwanted densities" into lmp-preview-dev

* commit '99017c01bac525ca4b5b10768052ced398b4a493':
Fix issue preventing aapt from stripping all unwanted densities
eb490d6194bd79adbe144a1230fc126f4c180a2f 07-Jun-2014 Jeff Brown <jeffbrown@google.com> Add support for @SystemApi annotation to aapt.

When aapt sees @SystemApi in the XML comment associated with a resource,
it will now remove this tag from the comment (since is it not meaningful as
a Javadoc tag) and instead add an @android.annotation.SystemApi annotation
to the declared type or member. This enables easy downstream processing of
this annotation from generated code.

Change-Id: If984908477648c0c90be52fdc955fbb891d99b28
esource.cpp
b0db8de73e6e4151b4e9d1fe3be1f609c3c1fb83 06-Jun-2014 Bryan Mawhinney <bryanmawhinney@google.com> Fix issue preventing aapt from stripping all unwanted densities

Bug: 15463874
Change-Id: I9d1e289f1db2ed3c9a41d91caea6d07b69fcb84f
aptAssets.cpp
8ee244355bdba6773e3647f0f283995fefb10c3a 03-Jun-2014 Adam Lesinski <adamlesinski@google.com> resolved conflicts for merge of 522c5ce2 to master

Change-Id: I15c7f78e9c81947e33270251d7b50e592fb61583
522c5ce280de6467bfdb99eeb384bf8c1c7bd49b 03-Jun-2014 Adam Lesinski <adamlesinski@google.com> am 7e547e0d: Merge "Add --pseudo-localize option to generate resources for pseudolocales."

* commit '7e547e0d72817032737909952f00acc2e777a35a':
Add --pseudo-localize option to generate resources for pseudolocales.
a191d0464f1eb5973caa044eee288a5a3e6c4dac 03-Jun-2014 Igor Viarheichyk <viarheichyk@google.com> Add --pseudo-localize option to generate resources for pseudolocales.

Update help output with new option, remove mention of obsolete zz_ZZ
pseudolocale.

Change-Id: Ie2cfc8d11ef6a57e2b9a2333514a7340a3a8c075
ain.cpp
25e9d55e964c180ec6e57ba1d977d6c2e1115f5a 20-May-2014 Adam Lesinski <adamlesinski@google.com> Don't dump data from a bad ResTable

AAPT dumps data from a bad ResTable, which
causes crashes. Prevent this by checking if
there were errors when creating the ResTable.

Bug:14902008
Change-Id: I5e04ebf967c60b78c511dd175785a13bca52f09a
ommand.cpp
tringPool.cpp
9e1e95f6e3af79f0d659afa2476e462fdac2f5e2 15-May-2014 Adam Lesinski <adamlesinski@google.com> Merge "AAPT dump badging should allow refs in meta-data"
b71adb6571aa740f4fa794602133f708e1b96545 15-May-2014 Adam Lesinski <adamlesinski@google.com> AAPT dump badging should allow refs in meta-data

The framework allows references in the <meta-data>
element in an AndroidManifest.xml, so badging should
do the same.

Bug:14088271
Change-Id: Ia8157655e21adaf11b7ace90a98a9cca3c8a476c
ommand.cpp
4c1227e448c938eb2deb431336abb9e67d6e1099 15-May-2014 Adam Lesinski <adamlesinski@google.com> Merge "Fix crash in AAPT dump badging with bad StringPool"
9cb2c68fafce55d43aacb2202deb882b986fa237 15-May-2014 Adam Lesinski <adamlesinski@google.com> Fix crash in AAPT dump badging with bad StringPool

With a malformed StringPool, AAPT dump badging would
crash trying to retrieve the name of an XML tag.

Bug:14658555
Change-Id: I6aa6c53c60b20725a461da2d3a39685c174b4d35
ommand.cpp
3921e87e6e67a063caa1987937d7944b24aef489 13-May-2014 Adam Lesinski <adamlesinski@google.com> Quick fix to ensure mipmap doesn't get stripped by AAPT

This is a quick fix. A refactoring is already underway to properly
solve this problem.

Bug:14857725
Change-Id: Ic0c475aa0b180803a687904ad9f71eb87e137a25
pkBuilder.h
ommand.cpp
f0009776203b4e5b705f575990d3fa466a10a1b3 12-May-2014 Adam Lesinski <adamlesinski@google.com> Merge "Add support for building split APKs"
fab50875b98e8274ac8ee44b38ba42521bbbf1f9 16-Apr-2014 Adam Lesinski <adamlesinski@google.com> Add support for building split APKs

Build multiple APKs, each containing a disjoint subset
of configurations. These can then be loaded into the device
AssetManager and should operate as if they were never split.

Use the idea of building multiple sets of files, where each
set represents an APK. An ApkBuilder can place files
in a set based on its configuration, but you can actually
add directly to a set, in the case of the resources.arsc and
generated AndroidManifest.xml for splits.

Change-Id: Ic65d3f0ac1bbd290185695b9971d425c85ab1de3
aptAssets.cpp
aptAssets.h
aptConfig.cpp
aptConfig.h
aptUtil.cpp
aptUtil.h
ndroid.mk
pkBuilder.cpp
pkBuilder.h
undle.h
ommand.cpp
onfigDescription.h
ain.cpp
ain.h
utputSet.h
ackage.cpp
esource.cpp
esourceFilter.cpp
esourceFilter.h
esourceTable.cpp
esourceTable.h
ests/AaptConfig_test.cpp
ests/AaptGroupEntry_test.cpp
ests/ResourceFilter_test.cpp
ests/TestHelper.h
f3e7945c79557cfd4d667caeacf69ee197508535 06-May-2014 Elliott Hughes <enh@google.com> am 86768034: am b593ad60: am f1f28d1d: Merge "Skip resource files for locales en-XA and ar-XB during packaging if pseudolocalization was done automatically. This prevents attemts to add same resource twice."

* commit '867680342e12af59a26756f30cf817a131724943':
Skip resource files for locales en-XA and ar-XB during packaging if pseudolocalization was done automatically. This prevents attemts to add same resource twice.
867680342e12af59a26756f30cf817a131724943 06-May-2014 Elliott Hughes <enh@google.com> am b593ad60: am f1f28d1d: Merge "Skip resource files for locales en-XA and ar-XB during packaging if pseudolocalization was done automatically. This prevents attemts to add same resource twice."

* commit 'b593ad60682a6f8c945c4c2ffc3d278df3f6e360':
Skip resource files for locales en-XA and ar-XB during packaging if pseudolocalization was done automatically. This prevents attemts to add same resource twice.
47843df11fe88b30abcac324173b6c15f16cc797 02-May-2014 Igor Viarheichyk <viarheichyk@google.com> Skip resource files for locales en-XA and ar-XB
during packaging if pseudolocalization was done automatically.
This prevents attemts to add same resource twice.

Change-Id: I51e17f961ac44047bf466ce4aa0d4d17f4ded0d6
esourceTable.cpp
ce8083fc51d71f104222d90a6736e52bccb33b7f 05-May-2014 Adam Lesinski <adamlesinski@google.com> am 0472fb58: am 34dd2cdd: am f2d2c871: AAPT should not process XML that failed to compile

* commit '0472fb5882cfe55577a169a0f0ff4b8920a839b0':
AAPT should not process XML that failed to compile
0472fb5882cfe55577a169a0f0ff4b8920a839b0 05-May-2014 Adam Lesinski <adamlesinski@google.com> am 34dd2cdd: am f2d2c871: AAPT should not process XML that failed to compile

* commit '34dd2cdd4142ca8c7463b9f831429b4366fa222a':
AAPT should not process XML that failed to compile
34dd2cdd4142ca8c7463b9f831429b4366fa222a 05-May-2014 Adam Lesinski <adamlesinski@google.com> am f2d2c871: AAPT should not process XML that failed to compile

* commit 'f2d2c871813656012420faa89080d8e3cda1f308':
AAPT should not process XML that failed to compile
f2d2c871813656012420faa89080d8e3cda1f308 08-Apr-2014 Adam Lesinski <adamlesinski@google.com> AAPT should not process XML that failed to compile

AAPT would attempt to warn if an unprefixed 'id'
attribute was used in an XML resource file even
if that XML file failed to compile. The result
was undefined behaviour, including crashing the
process.

Change-Id: I1a9464ec937760e8d38bbe1af8d1b5d6b2c105a2
esource.cpp
8c2fff23853d78c19a94d034dbf21fc2718ead9a 01-May-2014 Elliott Hughes <enh@google.com> am fd955f14: am 6a6979ad: am 86315c45: Merge "Fixes issue causing pseudolocalization of strings in non-translatable resource files."

* commit 'fd955f14d6c87dffd1a20c36ad8001705495f831':
Fixes issue causing pseudolocalization of strings in non-translatable resource files.
fd955f14d6c87dffd1a20c36ad8001705495f831 30-Apr-2014 Elliott Hughes <enh@google.com> am 6a6979ad: am 86315c45: Merge "Fixes issue causing pseudolocalization of strings in non-translatable resource files."

* commit '6a6979ad17dfb492fb85a979e8f8688e4ed973b2':
Fixes issue causing pseudolocalization of strings in non-translatable resource files.
84410b054c7db0b6685a0f15cb2d1ffcb264f6c9 30-Apr-2014 Igor Viarheichyk <viarheichyk@google.com> Fixes issue causing pseudolocalization of strings
in non-translatable resource files.

Change-Id: Ic8e5effc86226d5be00561ac71bab7695ef90376
esourceTable.cpp
9cf4b4a932d0bd84e0b7263540bd9d7174e8d2d0 25-Apr-2014 Adam Lesinski <adamlesinski@google.com> Child nodes of <preference-headers> now output proguard keep options.

Bug:13797600
Change-Id: I55c71a2fcf7f9b4bdad684d5c235981c3a8bc1e9
esource.cpp
5a63d119020e54132641718198f2ddadb8bc5270 19-Apr-2014 Elliott Hughes <enh@google.com> am 36e64ab9: am cf4d85e4: am 90840ec2: Merge "Fix warning introduced by recent psuedolocalizer change."

* commit '36e64ab902a6932f2711d1dff6ee273610d68e7d':
Fix warning introduced by recent psuedolocalizer change.
36e64ab902a6932f2711d1dff6ee273610d68e7d 19-Apr-2014 Elliott Hughes <enh@google.com> am cf4d85e4: am 90840ec2: Merge "Fix warning introduced by recent psuedolocalizer change."

* commit 'cf4d85e4786beb98743eac68b71d67e36f76c058':
Fix warning introduced by recent psuedolocalizer change.
0a1eed394fa287523b105aa569ed6348f4986483 19-Apr-2014 Elliott Hughes <enh@google.com> Fix warning introduced by recent psuedolocalizer change.

Change-Id: I577caf6ca4261b3d044b18bc8c5915012168031d
seudolocalize.cpp
4b0ee78bfa0df6e278c7327822fd9a0eff52b584 19-Apr-2014 Elliott Hughes <enh@google.com> resolved conflicts for merge of 56ca8219 to master

Change-Id: I62f5804a5c4404eedce09188cda2e3b1bb990b36
56ca82191231f3aba1132e3db06e7e09a10ec6dc 19-Apr-2014 Elliott Hughes <enh@google.com> resolved conflicts for merge of ec42199a to klp-modular-dev-plus-aosp

Change-Id: I9ecd5d51be4d073ab93dbb0bd60097735e76bf94
a2ef5c0d4fb863c0382e77ae00f986a019b11cbe 12-Mar-2014 Anton Krumin <antkrumin@google.com> Pseudolocalizer improvements.

Fixes accented pseudolocalization and adds RTL pseudolocale.

This change contains following modifications in the pseudolocalization logic:
1) zz_ZZ pseudolocale was removed;
2) en_XA pseudolocale was added for pseudo-accented;
3) ar_XB pseudolocale was added for pseudo-rtl;
4) Pseudo RTL localization functionality was implemented;
5) Text expansion functionality was implemented;
6) Text bracketing was implemented;
7) Couple of issues of previous implementation were fixed.

Change-Id: I9f7f27bed717e39e82717d15c398decffc8bec3c
Signed-off-by: Anton Krumin <antkrumin@google.com>
undle.h
ommand.cpp
esourceFilter.cpp
esourceFilter.h
esourceTable.cpp
MLNode.cpp
MLNode.h
seudolocalize.cpp
seudolocalize.h
0a0454fdcc7aeac6e57f9466da8f39bcf5f3f6ec 04-Apr-2014 John Spurlock <jspurlock@google.com> am 642421aa: am 5c31e487: Merge "Introduce new UI_MODE_TYPE_WATCH and qualifier." into klp-modular-dev

* commit '642421aa7f284817cc1a972a7f9c7a64696a0116':
Introduce new UI_MODE_TYPE_WATCH and qualifier.
642421aa7f284817cc1a972a7f9c7a64696a0116 04-Apr-2014 John Spurlock <jspurlock@google.com> am 5c31e487: Merge "Introduce new UI_MODE_TYPE_WATCH and qualifier." into klp-modular-dev

* commit '5c31e487c4577e1c47ee7c949325d6a13f0d462e':
Introduce new UI_MODE_TYPE_WATCH and qualifier.
6c191299a73388cd593809c0b66bafbd08fd2982 03-Apr-2014 John Spurlock <jspurlock@google.com> Introduce new UI_MODE_TYPE_WATCH and qualifier.

Default ui mode to watch if we have FEATURE_WATCH.

Bug:13395758
Change-Id: Ie5ff95de60e69e91ad3612c7d2f1fca7f49061bd
aptAssets.cpp
587e420ea9fb5578985e32d31b8791e773a5861e 27-Mar-2014 Adam Lesinski <adamlesinski@google.com> am 004ceaaa: am 55a65509: Merge "Reduce warning verbosity in aapt"

* commit '004ceaaa4d3ddfc66ba3f3635e987c2ddc7f2d09':
Reduce warning verbosity in aapt
de898ff42912bd7ca1bfb099cd439562496765a4 30-Jan-2014 Adam Lesinski <adamlesinski@google.com> Shared library resource support

Shared libraries can now export resources for applications
to use.

Exporting resources works the same way the framework exports
resources, by defining the public symbols in res/values/public.xml.

Building a shared library requires aapt to be invoked with the
--shared-lib option. Shared libraries will be assigned a package
ID of 0x00 at build-time. At runtime, all loaded shared libraries
will be assigned a new package ID.

Currently, shared libraries should not import other shared libraries,
as those dependencies will not be loaded at runtime.

At runtime, reflection is used to update the package ID of resource
symbols in the shared library's R class file. The package name of
the R class file is assumed to be the same as the shared library's
package name declared in its manifest. This will be customizable in
a future commit.

See /tests/SharedLibrary/ for examples of a shared library and its
client.

Bug:12724178
Change-Id: I60c0cb8ab87849f8f8a1a13431562fe8603020a7
aptAssets.cpp
aptAssets.h
undle.h
ain.cpp
esourceIdCache.cpp
esourceIdCache.h
esourceTable.cpp
esourceTable.h
rintapk.cpp
e119b22146c602dac1e8bdfdb325b6c83fc66d66 21-Mar-2014 Adam Lesinski <adamlesinski@google.com> Reduce warning verbosity in aapt

- Attributed source of problems to the correct file.
- Only verify string localizations against valid
locales.
Bug:13140015
Change-Id: I9dabc5efa0510649caee8af0c8ebb803d6f48269
esourceTable.cpp
esourceTable.h
ourcePos.cpp
ourcePos.h
a01a9374fd386f3a8773528d7a49bc5315492dff 21-Mar-2014 Adam Lesinski <adamlesinski@google.com> Reduce warning verbosity in aapt

- Attributed source of problems to the correct file.
- Only verify string localizations against valid
locales.
Bug:13140015
Change-Id: I9dabc5efa0510649caee8af0c8ebb803d6f48269
esourceTable.cpp
esourceTable.h
ourcePos.cpp
ourcePos.h
b5c4e7fd3866bbe30d7ea4d7bc463da5a70970e2 10-Mar-2014 Narayan Kamath <narayan@google.com> resolved conflicts for merge of 92860a74 to master

Change-Id: I3036ef9f1251c756092dc5ee2c4fed8146855e1e
8272c84cb531a4f148f0b0a31d8359d381137378 10-Mar-2014 Narayan Kamath <narayan@google.com> am bbf82665: am 6e2fb587: Merge "LP64: Make 9 patches architecture agnostic."

* commit 'bbf826659e8e5d0be683b2459207c495303d53b6':
LP64: Make 9 patches architecture agnostic.
6381dd4ff212a95be30d2b445d40ff419ab076b4 03-Mar-2014 Narayan Kamath <narayan@google.com> LP64: Make 9 patches architecture agnostic.

The Res_png_9patch struct had several pointer members
whose size differed between 32 and 64 bit platforms.

These members have been replaced by uint32_t offsets
to serialized data. The serialized form for 9patches
places a Res_png_9patch object at the beginning of
serialized data, followed by int32_t arrays of xDivs,
yDivs and colors.

Note that these offsets are not strictly required,
since they can be computed from the values of numXDivs,
numYDivs & numColors, however they are called in tight
loops so having them computed once is a beneficial.

This change also removed the unused patch_equals function
from aapt's Image.cpp.

Change-Id: I3b9ac8ae5c05510d41377cae4dff1c69b40c2531
mages.cpp
9eaaaf0fe3917f4fec85d3e45da37914654847ec 08-Mar-2014 Tim Kilbourn <tkilbourn@google.com> resolved conflicts for merge of a81ee86b to master

Change-Id: I7be3a64261d2405eda55b43c02b47657f393c095
03230982691744839fa2795d6124f27d982fe9d5 08-Mar-2014 Ying Wang <wangying@google.com> am 71364f8c: am f5f4d930: am 74bebf6f: Exclude the host aapt and aidl from PDK build.

* commit '71364f8c1e1bcc84375830dd5904dfe7cdfb5ed6':
Exclude the host aapt and aidl from PDK build.
032305fbcf1f1923030723d60621d8bbfa138511 08-Mar-2014 Tim Kilbourn <tkilbourn@google.com> am b559b371: Merge "Dump leanback info in aapt dump badging." into klp-modular-dev

* commit 'b559b37150d24411f0b5ef102ced8d5acf858a0e':
Dump leanback info in aapt dump badging.
f5f4d9306011ea1b10d25c959334f3e62df4447e 08-Mar-2014 Ying Wang <wangying@google.com> am 74bebf6f: Exclude the host aapt and aidl from PDK build.

* commit '74bebf6faed2d34814ffc3d46664330ea568f7b2':
Exclude the host aapt and aidl from PDK build.
b559b37150d24411f0b5ef102ced8d5acf858a0e 08-Mar-2014 Tim Kilbourn <tkilbourn@google.com> Merge "Dump leanback info in aapt dump badging." into klp-modular-dev
0a5a5d6996e54a927af750e122a1275d64f77ee5 08-Mar-2014 Tim Kilbourn <tkilbourn@google.com> Dump leanback info in aapt dump badging.

Leanback launcher activities are reported, including the banner.

Change-Id: Ifa496736ad3ba4239ec95e166768af895ff4dc53
ommand.cpp
74bebf6faed2d34814ffc3d46664330ea568f7b2 08-Mar-2014 Ying Wang <wangying@google.com> Exclude the host aapt and aidl from PDK build.

Bug: 13028632
Change-Id: I0f774b19be77462d0fa271088a4a5a152729d13c
ndroid.mk
df08d1c24dbbc242978ee33416d1e54998f88915 25-Feb-2014 Jeff Davidson <jpd@google.com> Add --replace-version flag to aapt.

Motivation: we'd like to programmatically specify the version
name/code (i.e. to include the build number from the build server).
However, this means that we cannot specify version info in the
AndroidManifest.xml file, as this takes precedence. Not doing so makes
IDE use more difficult, as the IDE gets version code 0 and won't
install over an existing non-IDE version unless you first force a
downgrade to an IDE build from the command line.

This flag allows us to specify a very high version code in the
AndroidManifest.xml file, making IDE builds take precedence, while
still allowing us to override this info when performing command-line
(official) builds.

Change-Id: I5d01048698af5c26bdf19066c6cd4eca1115112a
undle.h
ain.cpp
esource.cpp
8c1fc83445f8dce7e6d0789feeed8bf98d33bf01 17-Feb-2014 Narayan Kamath <narayan@google.com> am 28879bbf: am be57fca4: Merge "Extended locales in AAPT / AssetManager."

* commit '28879bbfe89dc4bf2067a7183975ecffb82f68e6':
Extended locales in AAPT / AssetManager.
788fa41482b9d398591b7db8b0b01839029611ad 21-Jan-2014 Narayan Kamath <narayan@google.com> Extended locales in AAPT / AssetManager.

Support 3 letter language codes, script codes &
variants. The bulk of the changes are related to
the implementation of command line filtering of
locales etc. The previous code assumed that the
value of each "axis" (locale, density, size etc.)
could be represented by a 4 byte type. This is
no longer the case.

This change introduces a new class, AaptLocaleValue
which holds a (normalized) locale parsed from a
directory name or a filter string. This class takes
responsibility for parsing locales as well as
writing them to ResTable_config structures, which is
their representation in the resource table.

This includes minor changes at the java / JNI level
for AssetManager. We now call locale.toLanguageTag()
to give the native layer a well formed BCP-47 tag.
I've removed some duplicated parsing code in
AssetManager.cpp and replaced them with functions on
ResTable_config. The native getLocales function has
been changed to return well formed BCP-47 locales as
well, so that the corresponding java function can use
Locale.forLanguageTag to construct a Locale object
out of it.

Finally, this change introduces default and copy
constructors for ResTable_config to prevent having
to memset() the associated memory to 0 on every
stack allocation.

(cherry-picked from commit 91447d88f2bdf9c2bf8d1a53570efef6172fba74)

Change-Id: I1b43086860661012f949fb8e5deb7df44519b854
aptAssets.cpp
aptAssets.h
ommand.cpp
esource.cpp
esourceFilter.cpp
esourceFilter.h
esourceIdCache.h
esourceTable.cpp
91447d88f2bdf9c2bf8d1a53570efef6172fba74 21-Jan-2014 Narayan Kamath <narayan@google.com> Extended locales in AAPT / AssetManager.

Support 3 letter language codes, script codes &
variants. The bulk of the changes are related to
the implementation of command line filtering of
locales etc. The previous code assumed that the
value of each "axis" (locale, density, size etc.)
could be represented by a 4 byte type. This is
no longer the case.

This change introduces a new class, AaptLocaleValue
which holds a (normalized) locale parsed from a
directory name or a filter string. This class takes
responsibility for parsing locales as well as
writing them to ResTable_config structures, which is
their representation in the resource table.

This includes minor changes at the java / JNI level
for AssetManager. We now call locale.toLanguageTag()
to give the native layer a well formed BCP-47 tag.
I've removed some duplicated parsing code in
AssetManager.cpp and replaced them with functions on
ResTable_config. The native getLocales function has
been changed to return well formed BCP-47 locales as
well, so that the corresponding java function can use
Locale.forLanguageTag to construct a Locale object
out of it.

Finally, this change introduces default and copy
constructors for ResTable_config to prevent having
to memset() the associated memory to 0 on every
stack allocation.

Change-Id: I899a56a9a182ee6be52b9389d1ae59266f5482e9
aptAssets.cpp
aptAssets.h
ommand.cpp
esource.cpp
esourceFilter.cpp
esourceFilter.h
esourceIdCache.h
esourceTable.cpp
94c40a4cf90933216e6d656213dfdfa19c68a9c3 04-Feb-2014 Adam Lesinski <adamlesinski@google.com> resolved conflicts for merge of 1b5b60d6 to master

Change-Id: I2b713a55fcdf02c01afa99f175bf14248f210460
1b5b60d696dd6840406ab9d3f38522ba18273c60 04-Feb-2014 Adam Lesinski <adamlesinski@google.com> am 203356a3: Merge "Add support for multiple asset dirs (-A)" into klp-modular-dev

* commit '203356a34a82bfc759be02dfa1caa4529dce0732':
Add support for multiple asset dirs (-A)
203356a34a82bfc759be02dfa1caa4529dce0732 04-Feb-2014 Adam Lesinski <adamlesinski@google.com> Merge "Add support for multiple asset dirs (-A)" into klp-modular-dev
7c4887f66bfa3dad16f8b03dc825ade96d7de130 27-Jan-2014 Narayan Kamath <narayan@google.com> Change ResourceType cookies to int32_t.

Also change the order of parameters in ResTable constructors
to avoid ambiguity.

(cherry picked from commit 00b314436f4fdfada4bbf1e79ec12e9fa38aeaf1)

Change-Id: I874c5d03c134dc3c331fba423b5280366296287c
aptAssets.cpp
esource.cpp
00b314436f4fdfada4bbf1e79ec12e9fa38aeaf1 27-Jan-2014 Narayan Kamath <narayan@google.com> Change ResourceType cookies to int32_t.

Also change the order of parameters in ResTable constructors
to avoid ambiguity.

Change-Id: If7bfa1f640dddca39b9f26a3ce84081fa7b6e6e3
aptAssets.cpp
esource.cpp
f85e41f29a0e9313c2d4725f9d9648591ea49f3b 24-Jan-2014 Narayan Kamath <narayan@google.com> AssetManager cookies are now int32_t, not void*.

Change-Id: Id383e31922ca81c52dad52d422c5c1ab1a1365ce
ommand.cpp
9ab9b93eae8b2fc747d6101cf0e4c19b2218715f 24-Jan-2014 Bryan Mawhinney <bryanmawhinney@google.com> Filter unneeded assets from additional resource directories

This change ensures that assets that are not needed for the
preferred density are stripped from additional directories
specified by the -S flag

For simplicity, the logic for deciding which assets are not
needed is still applied per directory, rather than globally,
which may still result in some unneeded assets being included
in the final output.

Bug: 12604267
Change-Id: Ic1378570c2d9cd1c854c507e784233818c19efca
aptAssets.cpp
9a9fa163c384e7fff159d339dfcce3b3122bece5 18-Dec-2013 Narayan Kamath <narayan@google.com> Don't pseudolocalize untranslatable strings.

bug: https://code.google.com/p/android/issues/detail?id=63004

(cherry picked from commit 7e1b8ff3e15b35b92978e572ccbfbc47cedce242)

Change-Id: I99ba1a915ae8fc61f70ce570b782108171d0fcaa
esourceTable.cpp
9636071bdc29df0ed5d801d0499bdb76abade1db 03-Dec-2013 Narayan Kamath <narayan@google.com> Reimplement ZipFileRO in terms of libziparchive.

This lets us share zip archive processing code with both
the runtime (Art, dalvik) and critical java code
(StrictJarFile).

This change also moves several utility methods to ZipUtils
and dedups code across several zip inflation methods.

One of the side effects of this change is that several
processing loops are now O(n) instead of O(n^2).

bug: 10193060

(cherry picked from commit e9d380f9303692950166472b1dfab083e1af8133)

Change-Id: I53e7d0c0af266cb1fe4e293e1177b2590cc44224
ndroid.mk
cd28bd37ea2d88dd72930f032ca73daaad5744b4 15-Nov-2013 Ying Wang <wangying@google.com> Add new aapt flag --error-on-missing-config-entry

It forces aapt to return an error if aapt fails to find an resource
entry for a configuration.

Bug: 11259444
Change-Id: Ie5674a29dff5d4455e7d7c94f6b25560fb1305b7
undle.h
ain.cpp
esourceTable.cpp
58f1f3617cb6d96e3f3cf3d5c99004a362f0a61e 12-Nov-2013 Adam Lesinski <adamlesinski@google.com> Dump maxSdk of uses-permission during badging

If the manifest specifies a maxSdkVersion for which to
stop granting a certain permission, output that value
when dumping badging.

bug:11630700
Change-Id: I922a3186340383828e1af3ce0815efb407d9d535
ommand.cpp
b30296b5fda75bf383c7ab3f567eb41820747869 29-Oct-2013 Elliott Hughes <enh@google.com> Re-apply several tools fixes lost by the directory rearrangement.

Leaks on error in tools/aapt/Images.cpp.
https://code.google.com/p/android/issues/detail?id=61552

Two missing fclose calls in tools/aapt/Resource.cpp.
https://code.google.com/p/android/issues/detail?id=61553

Missing fclose in tools/aidl/aidl.cpp.
https://code.google.com/p/android/issues/detail?id=61554

Change-Id: I56ce144958296961b77354815efc1a245564594b
mages.cpp
esource.cpp
2675f769673f69b0661ddee346292f25cb30a296 23-Oct-2013 Maurice Chu <mochu@google.com> Escape strings that are output by aapt dump badging

Also, changed getComponentName() to output a String8 object
instead of a const char * because the const char * is an internal
buffer of a String8 object which gets immediately destroyed
after returning from getComponentName().

Bug: 11329761
Change-Id: Ic459dec0ad3b20162c36de0ee492bcc022863b12
ommand.cpp
8cf61845187e301dfc4f64b42921977d38766a34 18-Oct-2013 Adam Lesinski <adamlesinski@google.com> Prune unneeded density resources from APK

When a preferred density is specified, prune all but the
closest matching density when the exact density resource does not
exist.

If a preferred density resource does not exist and a higher density
resource exists, prune all but the resource with the next highest
density relative to the preferred density.

If a preferred density resource does not exist and there is no
higher density resource, prune all but the resource with the next
lowest density relative to the preferred density.

Manual merge of I99b3950fe3d8116a5625968ed383442315ae8526 from
frameworks/base/tools to frameworks/tools

bug:11224465
Change-Id: Idddf55dad27f114ffc429b61317c3a5b1435d808
aptAssets.cpp
76327314d2238e105f8b94909f9c0cf85caca318 17-Oct-2013 Maurice Chu <mochu@google.com> Fix aapt when outputting meta-data tag values

This fixes outputting string as well as not crashing when the
<meta-data> element has an "android:resource" attribute instead
of an "android:value" attribute.

Bug: 11255844
Change-Id: Iadb62b5dcb18ea3db8dbd2ba3241f489606d535d
ommand.cpp
8ff15b4cada7998e78c93934ab2c869c322d7e07 08-Oct-2013 Adam Lesinski <adamlesinski@google.com> AAPT emits error for res with no 'default' product

Rather than ignoring resources that do not match the specified
product, we keep track of the ignored ones and make sure that
some variant of the resource that matches the product was processed.

bug:10860838
Change-Id: I7a35f37fda2c9561634f75323bd4cb2b9047e29b
esourceTable.cpp
94fc9124f51f0a101cc11e4563f9c647980fe2aa 01-Oct-2013 Adam Lesinski <adamlesinski@google.com> resolved conflicts for merge of 0c923b7c to master

Change-Id: I4f314b48c7714706329509d931d2c53079f5e248
ommand.cpp
a5018c900f126ee8424c82497f32983873db741b 01-Oct-2013 Adam Lesinski <adamlesinski@google.com> resolved conflicts for merge of 5223a5ff to master

Change-Id: I6523e4b7df88f21fbe0ecd3ab8f493e5a9867305
ommand.cpp
ec4fdec76f2916b91a69d979f400cd69a3812631 07-Sep-2013 Michael Wright <michaelwr@google.com> Add support for supports-input element to aapt

Change-Id: Ie8c8c44f126383c351f2ebb9ae7c3694fb0a9b16
ommand.cpp
859e19f97d481bf07c768087d8eb3031fac77aad 06-Sep-2013 John Reck <jreck@google.com> libpng usage tweaks

Bug: 10447005

Call png_set_interlace_handling explicitly instead of relying on
implicit handling that logs warnings

Include filename when printing warnings

Change-Id: Ia343427f5522dc8ab1010f8d7017e86f389caf99
mages.cpp
7cce7bb5d8d68e78a414c176dc89a803f706c9ce 05-Sep-2013 Chet Haase <chet@google.com> Remove scenes from Resource.cpp

Part of the Transition API changes, except that the tools/ directory
got moved between klp and master, so re-making the same changes here.

Issue #10460684 KLP API Review: android.view.transition and android.animation

Change-Id: Icedca1dc689285b4b213f9376656b26f18c7f23e
esource.cpp
282e181b58cf72b6ca770dc7ca5f91f135444502 24-Jan-2014 Adam Lesinski <adamlesinski@google.com> Revert "Move frameworks/base/tools/ to frameworks/tools/"

This reverts commit 9f6a119c8aa276432ece4fe2118bd8a3c9b1067e.
aptAssets.cpp
aptAssets.h
ndroid.mk
undle.h
acheUpdater.h
ommand.cpp
runchCache.cpp
runchCache.h
irectoryWalker.h
ileFinder.cpp
ileFinder.h
mages.cpp
mages.h
ain.cpp
ain.h
OTICE
ackage.cpp
esource.cpp
esourceFilter.cpp
esourceFilter.h
esourceIdCache.cpp
esourceIdCache.h
esourceTable.cpp
esourceTable.h
ourcePos.cpp
ourcePos.h
tringPool.cpp
tringPool.h
orkQueue.cpp
orkQueue.h
MLNode.cpp
MLNode.h
ipEntry.cpp
ipEntry.h
ipFile.cpp
ipFile.h
rintapk.cpp
seudolocalize.cpp
seudolocalize.h
sort_r_compat.c
sort_r_compat.h
ests/CrunchCache_test.cpp
ests/FileFinder_test.cpp
ests/MockCacheUpdater.h
ests/MockDirectoryWalker.h
ests/MockFileFinder.h
ests/plurals/AndroidManifest.xml
ests/plurals/res/values/strings.xml
ests/plurals/run.sh
745d4efc8369d255341d810790132660e33d3b61 27-Jan-2014 Narayan Kamath <narayan@google.com> AssetManager cookies should be int32_t and not void*.

Cookies are really indices into vectors and arrays, so
they don't need to be void*. We choose int32_t instead
of size_t to allow their width to be well specified.

(cherry picked from commit ebfdd0f467e39c3af8d92cade78263935340acb7)
(cherry picked from commit a7fa2e592e2e579e5acdb903dba83fc074ebc215)
(cherry picked from commit a9d5701b034ed2d9771b3f0943e1add00741d7cd)

Change-Id: I2aed3db568b6fdc487bf99e2c5dd123206736fda
ommand.cpp
09384303dea4f3f01d5682918d7bab9bf83a02b1 23-Jan-2014 Adam Lesinski <adamlesinski@google.com> Add support for multiple asset dirs (-A)

Bug: 12608034
Change-Id: I02c5a1a73b83498d799570428cca3dd914f8ac11
aptAssets.cpp
aptAssets.h
undle.h
ommand.cpp
ain.cpp
3da645f307695949623d78f280ce12e932eb057c 18-Dec-2013 Narayan Kamath <narayan@google.com> Merge "Don't pseudolocalize untranslatable strings."
d21752dff45c7d8856e63026cfddc303a302df14 11-Dec-2013 Narayan Kamath <narayan@google.com> Merge "Reimplement ZipFileRO in terms of libziparchive."
7e1b8ff3e15b35b92978e572ccbfbc47cedce242 10-Dec-2013 Narayan Kamath <narayan@google.com> Don't pseudolocalize untranslatable strings.

bug: https://code.google.com/p/android/issues/detail?id=63004
Change-Id: I8e47a53d887144dc867111e42313d0e113b83ea1
esourceTable.cpp
afd31e08299008fdc5c2813f21b2573f29dc53df 03-Dec-2013 Narayan Kamath <narayan@google.com> Reimplement ZipFileRO in terms of libziparchive.

This lets us share zip archive processing code with both
the runtime (Art, dalvik) and critical java code
(StrictJarFile).

This change also moves several utility methods to ZipUtils
and dedups code across several zip inflation methods.

One of the side effects of this change is that several
processing loops are now O(n) instead of O(n^2).

bug: 10193060

Change-Id: I3c7188496837a47246c4f342e45485a70fef3169
ndroid.mk
dbccd44a638ae8705a5b14bff8b2dd74abc26045 22-Nov-2013 The Android Open Source Project <initial-contribution@android.com> Merge commit 'b873a17ce7be0a9771c24999adca6964431728f6' into HEAD

Change-Id: I938755073e70602cc8f51ce9bd420fdcf870cecd
ed84dea928a5a830a19b5bcab7ad05a7e92f3279 29-Oct-2013 Elliott Hughes <enh@google.com> am 8f592378: am 69920427: Merge "Fix a variety of small publicly-reported bugs."

* commit '8f592378a1ea7f31d57253dc202f42707ef4da36':
Fix a variety of small publicly-reported bugs.
c367d48c55e5a3fa0df14fd62889e4bb6b63cb01 29-Oct-2013 Elliott Hughes <enh@google.com> Fix a variety of small publicly-reported bugs.

Possible NULL dereference in cmds/bootanimation/BootAnimation.cpp.
https://code.google.com/p/android/issues/detail?id=61556

Missing fclose in core/jni/android_os_Debug.cpp.
https://code.google.com/p/android/issues/detail?id=61546

Bad loop guards in core/jni/android_util_Process.cpp.
https://code.google.com/p/android/issues/detail?id=61557

Assignment to wrong variable in libs/androidfw/AssetManager.cpp.
https://code.google.com/p/android/issues/detail?id=61560

Missing delete[]s in libs/androidfw/ObbFile.cpp.
https://code.google.com/p/android/issues/detail?id=61549

Leaks on error in tools/aapt/Images.cpp.
https://code.google.com/p/android/issues/detail?id=61552

Two missing fclose calls in tools/aapt/Resource.cpp.
https://code.google.com/p/android/issues/detail?id=61553

Missing fclose in tools/aidl/aidl.cpp.
https://code.google.com/p/android/issues/detail?id=61554

Change-Id: I5820f3824e72d07a9acb776cf0af3e7443f5694a
mages.cpp
esource.cpp
91b47365f68e29467912ddfa39dea30e661aff68 18-Oct-2013 Adam Lesinski <adamlesinski@google.com> am 16e8c4f7: am 7d292145: Merge "Prune unneeded density resources from APK" into klp-dev

* commit '16e8c4f7db87d743410751410c7f761350792fe2':
Prune unneeded density resources from APK
9438c2df133710ea2364e817cfd237f7a3d69ab1 16-Oct-2013 Adam Lesinski <adamlesinski@google.com> Prune unneeded density resources from APK

When a preferred density is specified, prune all but the
closest matching density when the exact density resource does not
exist.

If a preferred density resource does not exist and a higher density
resource exists, prune all but the resource with the next highest
density relative to the preferred density.

If a preferred density resource does not exist and there is no
higher density resource, prune all but the resource with the next
lowest density relative to the preferred density.

bug:11224465
Change-Id: I99b3950fe3d8116a5625968ed383442315ae8526
aptAssets.cpp
f2163cb0d1b5a0c4b24c9140d226ef02ae77678a 08-Oct-2013 Adam Lesinski <adamlesinski@google.com> am ea4e0751: am c884fc9f: Merge "AAPT emits error for res with no \'default\' product" into klp-dev

* commit 'ea4e07518cd1844b1654175ef27cf9501e0dd7eb':
AAPT emits error for res with no 'default' product
2b8e82fd51fca815675e7cb32c35da3932f0dc13 04-Oct-2013 Adam Lesinski <adamlesinski@google.com> AAPT emits error for res with no 'default' product

Rather than ignoring resources that do not match the specified
product, we keep track of the ignored ones and make sure that
some variant of the resource that matches the product was processed.

bug:10860838
Change-Id: I804cd04a053269a35b7e1c1cc743b77493337bf9
esourceTable.cpp
4056c94adf97a4cbb3e8dce7caed8508f6524a0d 01-Oct-2013 Adam Lesinski <adamlesinski@google.com> am 0c923b7c: Merge "Add badging of Payment apps" into klp-dev

* commit '0c923b7ce1f4e40b401bcd342f4ee4399f4ad9d7':
Add badging of Payment apps
db239f91d6641b7cd966464250bed2f2339e9609 01-Oct-2013 Adam Lesinski <adamlesinski@google.com> am 5223a5ff: Merge "Add support for dumping new badging" into klp-dev

* commit '5223a5ff24bed6d0a0ac618083a3ed050bdd98b2':
Add support for dumping new badging
d831e80a2fa80d18867e70927e4e8cd797ead56f 27-Sep-2013 Adam Lesinski <adamlesinski@google.com> Add badging of Payment apps

HCE apps that declare themselves as payment apps will receive
that badge when running aapt dump badging.

bug:10899864
Change-Id: I7c095214412465ad7a925285d6167e12de16b600
ommand.cpp
b1249b822cef4e187814b83ae788f71842b88c28 26-Sep-2013 Adam Lesinski <adamlesinski@google.com> Add support for dumping new badging

APKs with AccessibilityServices, PrintServices, and or DeviceAdmin
will have those services dumped when running 'aapt dump badging'.

bug:10899864
Change-Id: I9c1f1f36c397b128dca802510368573a54977459
ommand.cpp
f17e8ee37917103f1e6f96fd323605cd754dfdb3 06-Sep-2013 Michael Wright <michaelwr@google.com> am 86974463: Merge "Added support for supports-input manifest element" into klp-dev

* commit '86974463e9e28108e14fa255efd3c429358c0605':
Added support for supports-input manifest element
eaeb19048672337714c1724de7992be8cb3f2124 06-Sep-2013 Michael Wright <michaelwr@google.com> Added support for supports-input manifest element

Change-Id: Ifa7c87908081585c1940b5a47fdf5138a287d9ea
ommand.cpp
09ed0720288c8d4b97cfd182c630f142077854e9 05-Sep-2013 Chet Haase <chet@google.com> am 49ee555f: Merge "Transition API changes from API council recommendations" into klp-dev

* commit '49ee555f239c79871b661e5ff135061f26665e1c':
Transition API changes from API council recommendations
d82c8ac4db7091d2e976af4c89a1734465d20cd2 26-Aug-2013 Chet Haase <chet@google.com> Transition API changes from API council recommendations

Issue #10460684 KLP API Review: android.view.transition and android.animation
Issue #10570740 Transitions: inflate transition targets from xml

Change-Id: I7a3f6d3aece2fcafc5efd555d033f79e86635c98
esource.cpp
9f6a119c8aa276432ece4fe2118bd8a3c9b1067e 28-Aug-2013 Mike Lockwood <lockwood@google.com> Move frameworks/base/tools/ to frameworks/tools/

Change-Id: I3ffafdab27cc4aca256c3a5806b630795b75d5c8
aptAssets.cpp
aptAssets.h
ndroid.mk
undle.h
acheUpdater.h
ommand.cpp
runchCache.cpp
runchCache.h
irectoryWalker.h
ileFinder.cpp
ileFinder.h
mages.cpp
mages.h
ain.cpp
ain.h
OTICE
ackage.cpp
esource.cpp
esourceFilter.cpp
esourceFilter.h
esourceIdCache.cpp
esourceIdCache.h
esourceTable.cpp
esourceTable.h
ourcePos.cpp
ourcePos.h
tringPool.cpp
tringPool.h
orkQueue.cpp
orkQueue.h
MLNode.cpp
MLNode.h
ipEntry.cpp
ipEntry.h
ipFile.cpp
ipFile.h
rintapk.cpp
seudolocalize.cpp
seudolocalize.h
sort_r_compat.c
sort_r_compat.h
ests/CrunchCache_test.cpp
ests/FileFinder_test.cpp
ests/MockCacheUpdater.h
ests/MockDirectoryWalker.h
ests/MockFileFinder.h
ests/plurals/AndroidManifest.xml
ests/plurals/res/values/strings.xml
ests/plurals/run.sh
c27bc4fbb2bec606d688e7eabbccf63ede5e8cf1 27-Aug-2013 Victoria Lease <violets@android.com> am adae1e91: am 1b8c33c6: Merge "Forward compatibility fixes"

* commit 'adae1e91de4b2be7a67a33e8f3c3161f5cec15e1':
Forward compatibility fixes
e982b7231fcb465bd367f869fd1baaf3c27e0660 27-Aug-2013 John Reck <jreck@google.com> Forward compatibility fixes

Change-Id: Iaf387a10c387e5e157bb16d120a1e033b3d1a6e8
mages.cpp
681c4f45bf373f84c5b80a4c8dda871ae6fcfcbd 22-Aug-2013 Maurice Chu <mochu@google.com> Modify 'aapt dump badging' to output <meta-data> tags

This enables output of <meta-data> tags within the <application>
element of the AndroidManifest.xml if the --include-meta-data
command line option is invoked. For example, by

aapt dump --include-meta-data badging Foo.apk

Bug: 10257318
Change-Id: I88da1a14ab21146b64ac947e0eeb1107816acd4d
undle.h
ommand.cpp
ain.cpp
6c16fff219e8f733ea14ed7df9edda9c037d4b71 14-Aug-2013 John Reck <jreck@google.com> Fixes for libpng 1.6

png_set_filler() now fails if the color type doesn't support
a filler (such as RGB_ALPHA)
png_set_unknown_chunk location bug was fixed and now enforces
proper location setting

Change-Id: If3834e3744d9618c308cc442e66d85e9cffcea38
mages.cpp
48b15b1e1df8315575ada27ab3b0206ed87d67b2 13-Aug-2013 John Reck <jreck@google.com> Fix libpng API usage

Remove usage of deprecated APIs no longer in 1.6

Change-Id: I04cbceba718533312e900e62ddcf3872b61765ec
mages.cpp
f2c89b9ed65116888f1d4a863b7c10c007a49c5d 30-Jul-2013 Wink Saville <wink@google.com> am 9516ed45: am cfc23ac6: Merge "Add support for MNC=00"

* commit '9516ed4598948eea5623c57e443bce08c1f48ab6':
Add support for MNC=00
1d766b53217f9e45472a01e84d2f1b02af36dec7 07-Oct-2011 Mattias Petersson <mattias.petersson@sonyericsson.com> Add support for MNC=00

This adds support for operators with MNC (Mobile Network Code) zero
to add customized resources. For example, it makes it possible to
add a folder called "/res/values-mnc00/" in an application. This will
cause resources in that folder to be used when MNC is zero.
(There is a total of 14 countries that have an operator with MNC
zero.)

Without this fix, the resource framework gets confused, because MNC 0
is normally used when the MNC is undefined (not set).

Bug: 7170488
Change-Id: Icfd39fd0c739216e89446252ea0e7ceba6f002c6
aptAssets.cpp
9d3b1a424c5c61e24e9659d15fb353026a00d925 02-Jul-2013 Jeff Brown <jeffbrown@google.com> Move input library code to frameworks/native.

No longer compile libandroidfw as a static library on the device
since it already exists as a shared library. Keeping the static
library would force us to provide a static library version of
libinput for the device as well which doesn't make sense.

Change-Id: I3517881b87b47dcc209d80dbd0ac6b5cf29a766f
ndroid.mk
5675b97f6591310d012a013a94a0ae9bd188d975 27-Jun-2013 Stephen Hines <srhines@google.com> Switch to shared libpng/libz dependency.

Bug: 9593270
Change-Id: I1eec2590cca046d6e030c73d31a6b400019e1ebd
ndroid.mk
3b9831f6a2f991fb492d052cc07817db402f2340 08-May-2013 Dima Zavin <dima@android.com> Merge "aapt: move qsort_r_compat here as it is sole client"
1f5762e646bed2290934280464832782766ee68e 07-May-2013 Mathias Agopian <mathias@google.com> libutils clean-up

Change-Id: I11ee943da23a66828455a9770fc3c5ceb4bbcaa9
ndroid.mk
ackage.cpp
esource.cpp
tringPool.h
orkQueue.cpp
orkQueue.h
ipFile.cpp
823abb63145c7a7db2b766cf7bb816cbdac1de66 07-May-2013 Dima Zavin <dima@android.com> aapt: move qsort_r_compat here as it is sole client

This code is only used on the host for MacOS X compatibility.
Apparently, glibc and Apple's libc disagree on the parameter
ordering.

Change-Id: I214edcf2870b6ac88316306ac5af43f1dadf9b2e
Signed-off-by: Dima Zavin <dima@android.com>
ndroid.mk
tringPool.cpp
sort_r_compat.c
sort_r_compat.h
f1301d86fb7f414330b08dd9514436e65ba69ceb 30-Apr-2013 Jeff Sharkey <jsharkey@android.com> Merge commit 'b3f66877' into afdmerge

Change-Id: I319863cf23b2e6eacfa4508f7b111fba7b1cbc24
21675166345646f5bb278af487e69604290f09b0 30-Apr-2013 Christopher Tate <ctate@android.com> am bd1730de: Merge "Document the \'aapt dump strings\' command"

* commit 'bd1730dec7356e042ee885ff4a63b40f36733062':
Document the 'aapt dump strings' command
7bb9471ea7841dee087857b0123725bfceb83bb3 29-Apr-2013 Bjorn Bringert <bringert@android.com> Merge "Allow compiling aapt for the device"
08822df147f7794559870d6de01f9a5cea6f1cd4 20-Dec-2012 MÃ¥rten Kongstad <marten.kongstad@sonymobile.com> Document the 'aapt dump strings' command

Update the usage page for aapt to mention 'strings' as a valid
subcommand to 'dump'.

Change-Id: Iadb2b8ce36951ff36ffbf6b5ea349ba1e2b12582
ain.cpp
5ae02e92e4ea2621ae6be6076e304a972793e2f3 26-Apr-2013 Jeff Brown <jeffbrown@google.com> am eb6403e9: resolved conflicts for merge of bfdd2566 to jb-mr2-dev-plus-aosp

* commit 'eb6403e95d601b62be7b4610599e72fd329f2666':
Generate SDK docs for v7 support library packages.
fb903a45d7b924c1dfacadaa99ebdf93fd8a1de4 18-Mar-2013 Bjorn Bringert <bringert@android.com> Allow compiling aapt for the device

Changes:

- The static device version of libandroidfw now includes
the extra functions needed by aapt. I could only find
a few host tools that use the static library, so this is
hopefully not a problem.

- The pseudolocalization code is moved into aapt.
It was previously in libhost, but only used by aapt.

Change-Id: Ib393ebb7dcebee8abbb628cbe5255ea1679674ac
ndroid.mk
MLNode.cpp
seudolocalize.cpp
seudolocalize.h
caf7b0a155f6adef1b9af6cbf7370460c55e3a3f 26-Apr-2013 Jeff Brown <jeffbrown@google.com> Generate SDK docs for v7 support library packages.

This change required fixing some bugs in how AAPT handles
qualified symbols such as "android:layout_height"
when generating JavaDoc links. The links were being
generated using the package name of the generated R file
rather than the package name of the referenced symbol.
These broken links caused the JavaDoc build to fail.

Bug: 8175766
Change-Id: I52fbef27825a25abca960cb44b59c2132267e9d6
esource.cpp
faebd8f0795b7d275fb4e503533c8c0c4a9acc21 18-May-2012 Chet Haase <chet@google.com> First draft of Scenes & Transitions feature

This checkin has preliminary API (in flux, definitely changes still
to be made) and implementation for a new "Scenes & Transitions" feature.
The current implementation allows you to define different Scenes
(via layout resource IDs or callbacks) and Transitions to be used when
changing to those scenes. By default, scene changes will use AutoTransition,
which generally does the right thing.

There are no overview docs or tutorials yet. The best way to learn how things
work is to see the code for the various tests in
frameworks/base/tests/TransitionTests.

Expect the API to change. Expect the implementation to change (mostly to add
more functionality). Expect bugs, but tell me if things do not work
as expected.

Change-Id: Ib025a9f565678b225afa4759325cf6d496cc7215
esource.cpp
a068eeddc9d47af1a12afbe6efe7d00e8e903b9f 13-Apr-2013 Xavier Ducrohet <xav@android.com> Revert "Make --non-constant-id generates non final IDs for styleable."

This reverts commit 8730f46ae5ba9021a0e01c068ffc6b552b6c4510.
esource.cpp
8730f46ae5ba9021a0e01c068ffc6b552b6c4510 13-Apr-2013 Xavier Ducrohet <xav@android.com> Make --non-constant-id generates non final IDs for styleable.

This was already done for all other types of resources, but not
for styleable (or the constants for the styleable array indices).

This fixes this. This only affects the SDK as this is used by the
SDK toolchain only.

Change-Id: Idfc2f7915be2b0e88590f38fd660610ffc7e160c
esource.cpp
d685894212e6dbeac1fda4996903c1da115d49a6 10-Apr-2013 Ying Wang <wangying@google.com> Add liblog

Bug: 8580410
Change-Id: I746aa8258866508c3a725d0773faf4518096548f
ndroid.mk
1bcc3d691fd1cb68abced62caf3024e2bb228561 03-Apr-2013 Nick Kralevich <nnk@google.com> aapt: add support for optional uses-permission

Applications can request a permission with android:required="false".
For example:

<uses-permission android:name="android.permission.READ_PHONE_STATE" android:required="false" />

Make aapt understand such permissions.

Bug: 8522021
Change-Id: I7d3af64e7c3eca608316d5bea19c4ea639dd2b7a
ommand.cpp
ec559ff78caa16cffcc7b9d688fe911e8945e17d 26-Feb-2013 Dianne Hackborn <hackbod@google.com> Fix typo.

Change-Id: I71c8458e02dc9b9a4c59e51ded37b57a930038f9
ommand.cpp
56a2301c7a1169a0692cadaeb48b9a6385d700f5 13-Feb-2013 Dianne Hackborn <hackbod@google.com> Implement issue #6646859: 4K!!!! 4K!!!! 4K!!!!

Change-Id: Ib05a2eb6a03db50074805a437a3639a7d10684a0
aptAssets.cpp
73d94a30a25aec25e27aa1d0a328f033465461c0 17-Jan-2013 Justin Koh <justinkoh@google.com> am ba1992f8: Merge "Remove doSingleCrunch call DO NOT MERGE" into jb-mr1-aah-dev

* commit 'ba1992f8e9e50ca58f007ff528d2f6d2c2b18223':
Remove doSingleCrunch call DO NOT MERGE
3944abbb506bb94d8e70b8b62f30225777f50648 16-Jan-2013 Justin Koh <justinkoh@google.com> Remove doSingleCrunch call DO NOT MERGE

Remove doSingleCrunch call as it's breaking jb-mr1-aah-dev.

Change-Id: I0d8ee55344792fd868e74e07f31641a85e71168a
ommand.cpp
b7de2194d54eb81b1db4b50c171ddd0339831155 16-Jan-2013 Xavier Ducrohet <xav@android.com> resolved conflicts for merge of c71c678e to master

Change-Id: I9e1a6a1151af00f0a13e2010776276b240e0ac3a
c71c678e9b6a4278337b69f2c60c0fbe9988bf93 15-Jan-2013 Xavier Ducrohet <xav@android.com> am a4e10cc7: am 6080cc5f: resolved conflicts for merge of dd52dfed to jb-mr1.1-ub-dev

* commit 'a4e10cc746caea514216f436e2065b3bbefb25ef':
Fix the single crunch command to return the right error code.
a4e10cc746caea514216f436e2065b3bbefb25ef 15-Jan-2013 Xavier Ducrohet <xav@android.com> am 6080cc5f: resolved conflicts for merge of dd52dfed to jb-mr1.1-ub-dev

* commit '6080cc5fd7c332c79098a50605c0c37d99d4c481':
Fix the single crunch command to return the right error code.
6080cc5fd7c332c79098a50605c0c37d99d4c481 15-Jan-2013 Xavier Ducrohet <xav@android.com> resolved conflicts for merge of dd52dfed to jb-mr1.1-ub-dev

Change-Id: I839981af97e54c39f0ea0b8141a4dd02959263a0
c75d3f5c10bf6d7718ef69c6bbc1cdf64cd8ff04 15-Jan-2013 Xavier Ducrohet <xav@android.com> Fix the single crunch command to return the right error code.

Casting from status_t to int doesn't work for return values
if the lower 8 bits are all 0.

Change-Id: I88e910dfe46cb72acd1595352e71da3c8eff4ca9
ommand.cpp
22d7cf239d8a9b009ea7adf86d8826a8a8116d03 21-Dec-2012 Xavier Ducrohet <xav@android.com> Add single crunch command to aapt. do not merge.

Previously the crunch command would work on a full res folder
and output a full res folder (with only the drawables). This
was only used in the SDK.

The incremental logic is moved to the SDK build system so we
change the crunch command (or rather add a new one) to only
crunch a single file.

(cherry picked from commit b1f6ad82dd8d1702617a757a88430604b3131fac)

Change-Id: I3653f67ee321eac37cb8a6d228b1ef6d104ff0be
undle.h
ommand.cpp
ain.cpp
ain.h
b1f6ad82dd8d1702617a757a88430604b3131fac 21-Dec-2012 Xavier Ducrohet <xav@android.com> Add single crunch command to aapt.

Previously the crunch command would work on a full res folder
and output a full res folder (with only the drawables). This
was only used in the SDK.

The incremental logic is moved to the SDK build system so we
change the crunch command (or rather add a new one) to only
crunch a single file.

Change-Id: I635ee3e871d035b9db2fb593802d914e48241abf
undle.h
ommand.cpp
ain.cpp
ain.h
fac7b0a60306d851d903730ccc408a0272e866db 29-Nov-2012 Christopher Tate <ctate@google.com> am 5f958e9b: am 67b38c44: Cache resource ID lookups in aapt

* commit '5f958e9bfc793b3b653dfc88418bbd7745e633e1':
Cache resource ID lookups in aapt
67b38c44e8b04b97e357664804d593823b2a34ed 17-Nov-2012 Christopher Tate <ctate@google.com> Cache resource ID lookups in aapt

This speeds up certain workloads considerably, particularly
those involved in buildling apps via the SDK. Windows-based
use should particularly benefit from the change.

(cherry picked from commit d8dde13a63565dcd72bcf03a5088407b737ba793)

Change-Id: I33835bc64ade77688d41e8bfcd371b0a5f59d8fd
ndroid.mk
esourceIdCache.cpp
esourceIdCache.h
esourceTable.cpp
d8dde13a63565dcd72bcf03a5088407b737ba793 17-Nov-2012 Christopher Tate <ctate@google.com> Cache resource ID lookups in aapt

This speeds up certain workloads considerably, particularly
those involved in buildling apps via the SDK. Windows-based
use should particularly benefit from the change.

Change-Id: I29f4b3a77400b201ee219729cc28a5e359c0c5e8
ndroid.mk
esourceIdCache.cpp
esourceIdCache.h
esourceTable.cpp
0122a3db313d3a7b55e0dee5eae1d7798c0d55be 26-Sep-2012 Xavier Ducrohet <xav@android.com> Fix writing text version of styleable IDs. do not merge.

(cherry picked from commit d16047434bca24b2811de7ea9d22de6ee0f87f79)

Change-Id: Ic679080d5157daf77c35516c8f682bd13e2b4d96
esource.cpp
05113163a9e18d863932e8913be2f203c6ab1226 26-Sep-2012 Xavier Ducrohet <xav@android.com> am 253f7635: am fb34490f: Merge "Fix writing text version of styleable IDs."

* commit '253f76357dc9acdb329f321190eca4f0b049b4af':
Fix writing text version of styleable IDs.
253f76357dc9acdb329f321190eca4f0b049b4af 26-Sep-2012 Xavier Ducrohet <xav@android.com> am fb34490f: Merge "Fix writing text version of styleable IDs."

* commit 'fb34490f4dca7aac623fb9a80fe9a2371107a786':
Fix writing text version of styleable IDs.
d16047434bca24b2811de7ea9d22de6ee0f87f79 26-Sep-2012 Xavier Ducrohet <xav@android.com> Fix writing text version of styleable IDs.

Change-Id: I3f2614689a597de3fd46628c020cf649a808c82f
esource.cpp
a41d5db2350108c1d2eceb83b677faed6b7893a8 17-Sep-2012 Xavier Ducrohet <xav@android.com> am 79c95c3b: am 5de96035: am 31820a35: Merge "Add --output-text-symbols option to aapt."

* commit '79c95c3b50ff332f9c92430fd10a15eb648a0b02':
Add --output-text-symbols option to aapt.
9ff22e41d05aa66bede1e72767d67dcc2f2d500e 17-Sep-2012 Xavier Ducrohet <xav@android.com> am 8a67598e: am cc9747ed: am d7252571: Merge "Add --error-on-failed-insert option to aapt."

* commit '8a67598eb780560b7efe4e1d9944c7cbcf83bbb1':
Add --error-on-failed-insert option to aapt.
5de9603529ee01a416b5fa31074197565fde4482 17-Sep-2012 Xavier Ducrohet <xav@android.com> am 31820a35: Merge "Add --output-text-symbols option to aapt."

* commit '31820a35b2cf864a8dcb71d43e6fd21d54f49a2d':
Add --output-text-symbols option to aapt.
cc9747ed45302956a3ec9dd21f7b950b837dbfdd 17-Sep-2012 Xavier Ducrohet <xav@android.com> am d7252571: Merge "Add --error-on-failed-insert option to aapt."

* commit 'd72525718ea7ef3e1f97cf557365b143c8919a5b':
Add --error-on-failed-insert option to aapt.
f5de650ff1e161ea135c828e43515895343d2c0f 11-Sep-2012 Xavier Ducrohet <xav@android.com> Add --output-text-symbols option to aapt.

Library projects in the SDK are built using --non-constant-id
to generate a temporary R.java class.
When the library is packaged with the application to generate an
apk, the R class is recreated with the proper IDs due to all the
resources coming from the app and all the libraries.

However for large apps with many libraries (each with their own
R class in their package), this means a lot of unnecessary IDs:
all R classes contains all the IDs including for resources from
by projects they don't have access through the dependency graph.

For really large apps (X,000 resources), with lots of libraries
(10+), this can generate tens of thousands of resources, which
can trigger dalvik's limit of 65K fields and methods per dex
files.

This changes lets aapt generate not only the R class but a simple
text file containing the list of all those IDs so that it is
easier to parse back. The SDK build system will not ask aapt
to generate the R class of the libraries (through the
--extra-packages option), instead it will then read this
file to know what IDs are needed for each library and generate
a much smaller R class for each library (using the same text
file output from compiling all the resources to get the final
integer value).

Change-Id: I4db959fec372cf3ead9950e4b2b82fa1ae7eed2d
undle.h
ain.cpp
esource.cpp
7714a2429b192c88e134ff67b969121bbaeb5457 06-Sep-2012 Xavier Ducrohet <xav@android.com> Add --error-on-failed-insert option to aapt.

The new SDK build system give the ability to insert
versionCode/Name and min/targetSdkVersion in the manifest
but aapt won't replace those if they already exist.

The main problem is that aapt doesn't actually fail when
it doesn't replace them, making the output not what the
developer wanted.

This patch set adds an option to aapt to make it return
an error if the insert failed because the attribute
already existed.

Change-Id: I8938ec1238da407a8562c974e9598db39001ffd9
undle.h
ain.cpp
esource.cpp
e3e5349874fd1534cafe6f8c1cd28bf4f53181c3 10-Sep-2012 Elliott Hughes <enh@google.com> am 61d09810: am 3150feef: am bfe1ab82: Merge "Fix aapt to get expat header files from the approved location."

* commit '61d09810a7b478810adc15af2495136255377e25':
Fix aapt to get expat header files from the approved location.
3150feef0b27ad34370904eb12875805f6c84e8a 10-Sep-2012 Elliott Hughes <enh@google.com> am bfe1ab82: Merge "Fix aapt to get expat header files from the approved location."

* commit 'bfe1ab825731d365fef169deab646d7ceeafc998':
Fix aapt to get expat header files from the approved location.
ee15e1547531919effd77fa546daffaef94691a4 09-Sep-2012 Elliott Hughes <enh@google.com> Fix aapt to get expat header files from the approved location.

Change-Id: Ic7c796e048cfe98ee355c18b3708fee5ea716e2e
ndroid.mk
tringPool.h
8a802dbdabdfd27692c2e38b2c3adafe95566106 05-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Use "ldrtl" and "ldltr" config qualifiers for RTL / LTR resources

- we cannot use "rtl" / "ltr" qualifiers as they can conflict with ISO-639 Alpha-3
codespace which uses 3 letters for identifying a language code (and could use either
"rtl" or "ltr" strings for defining a language in the future).

- we are using instead "ldrtl" for RTL and "ldltr" for LTR resources. Those qualifiers
are defined by more than 3 chars and outside of what is defined into ISO-639. They
are also more understandable as "ld" prefix is for "layoutdirection"

Change-Id: Id43e948103707e09bef63ebd54ac1779dde58e72
aptAssets.cpp
5f7979993979466c79ab4f38d83c6f2aca361662 16-Jun-2012 Fabrice Di Meglio <fdimeglio@google.com> Add support for "-rtl" in resources

- fix bug #7035019 Need to have "-rtl" support for Resource

Change-Id: Ic82145c2ac672729d8a6c695a5f343276a1a0a2c
aptAssets.cpp
aptAssets.h
esourceTable.cpp
c1c55afb474dd85a6205bc8ab94065f3ac38aa77 08-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am e67f8c8c: Merge "Normalize output from aapt d xmltree"

* commit 'e67f8c8c279e20fff5f426eccd062b709e6280ed':
Normalize output from aapt d xmltree
e67f8c8c279e20fff5f426eccd062b709e6280ed 08-Aug-2012 Jean-Baptiste Queru <jbq@google.com> Merge "Normalize output from aapt d xmltree"
be925017201ad547a72e8d1e333dbc7eae3fc76f 19-Jul-2012 Xavier Ducrohet <xav@android.com> am b71393bd: Merge "Fix aapt -G to properly support class attr in fragment." into jb-dev

* commit 'b71393bd34a48eeb622292e78f43b99e374a5e3a':
Fix aapt -G to properly support class attr in fragment.
095cd2e2d14e4fe25b66df54861fb66000a25adc 19-Jul-2012 Xavier Ducrohet <xav@android.com> Fix aapt -G to properly support class attr in fragment.

The code added attributes android:name and class to a
KeyedVector under the same key (fragment) so the 2nd
add (android:name) removed class with was never checked.

This replace the value type in the KeyedVector to be
Vector<NamespaceAttributePair> instead of just
NamespaceAttributePair.

Change-Id: I009b8a8cca878191661c2a63bb14c967d230498d
esource.cpp
429dad687bcb5f00587e8b91b3a614502907aaa1 08-Jul-2012 Shachar Shemesh <lingnu@gmail.com> Normalize output from aapt d xmltree

When using aapt dump xmltree to dump an XML which has a content element with newlines, the output contains a
newline. This makes it very difficult, sometimes impossible, to understand what is part of the content, and
what is the meta-data.

We now pass XML content through the same normalizer used for other tags.

Change-Id: I327321520fac563eb32aecaf796f2473866697fc
MLNode.cpp
cc6cf51b80eabd199f797f40b76f7980c343962b 22-Jun-2012 Jean-Baptiste Queru <jbq@google.com> am 8c71784e: Merge "Initialize mJunkPath to false"

* commit '8c71784e9e83e914135e996591aa7903edd2fd96':
Initialize mJunkPath to false
dbcfed9e2cad3175109aca4b55bbe41da7238a4f 22-Jun-2012 Haitao Feng <haitao.feng@intel.com> Initialize mJunkPath to false

Change-Id: Ib48bb1d91736d27f055528c3ba275237ff5ada07
undle.h
6892f1ec9670432f1cab71813592077bea991a8b 12-Jun-2012 Dianne Hackborn <hackbod@google.com> am 0f6471ac: Merge "Fix issue #6641368: can\'t launch gallery" into jb-dev

* commit '0f6471ace77387560988964ed0679f843bba6f1f':
Fix issue #6641368: can't launch gallery
2bd8d0403be62df679f0f94ab4d84c9ae9a2e918 11-Jun-2012 Dianne Hackborn <hackbod@google.com> Fix issue #6641368: can't launch gallery

This is a revert of 1db36528b12395b9ed9bf8a1005a6d4ace737627,
but with comments added so I don't make this mistake again. :)

Change-Id: I053216279e3721f08f32f561bb989736ef619f82
ommand.cpp
f22eb96301aa1c4e0f7ac317daa64a617c21855c 06-Jun-2012 Jean-Baptiste Queru <jbq@google.com> am c9fe6568: am 9e22d9c5: Merge "Fix "Too many open files" error for aapt built with Mac OS X SDK 10.6."

* commit 'c9fe6568f3e7e4d9dc6da072afc929b9a81001ed':
Fix "Too many open files" error for aapt built with Mac OS X SDK 10.6.
c9fe6568f3e7e4d9dc6da072afc929b9a81001ed 06-Jun-2012 Jean-Baptiste Queru <jbq@google.com> am 9e22d9c5: Merge "Fix "Too many open files" error for aapt built with Mac OS X SDK 10.6."

* commit '9e22d9c514457c4b163d03b9241e4e28b1698368':
Fix "Too many open files" error for aapt built with Mac OS X SDK 10.6.
41bdb03ffb81d7bcbf6fa35d7b40e196635c86f3 31-May-2012 Ying Wang <wangying@google.com> Fix "Too many open files" error for aapt built with Mac OS X SDK 10.6.

With SDK 10.6 without _DARWIN_UNLIMITED_STREAMS aapt sometimes fails
right away with the error "Too many open files" when calling fopen().

Change-Id: Ifa7bd8a9530d706aa47f98be8186f1aefe943d76
ndroid.mk
9f374b9de5a557a7977b24d41f45c3464cfff8c1 05-Jun-2012 Tor Norbye <tnorbye@google.com> am 44ff9b8f: am 36ac43ba: Merge "Tweak default ignore-assets path"

* commit '44ff9b8f9294e015031fc9293974604771e5efdd':
Tweak default ignore-assets path
44ff9b8f9294e015031fc9293974604771e5efdd 05-Jun-2012 Tor Norbye <tnorbye@google.com> am 36ac43ba: Merge "Tweak default ignore-assets path"

* commit '36ac43ba9982a78b4a047c8970776505a3fab4da':
Tweak default ignore-assets path
e0219c8baa9d63b3794f90ab772f1c19ecb74ec4 04-Jun-2012 Tor Norbye <tnorbye@google.com> Tweak default ignore-assets path

Add .DS_Store to the list of ignored files that are silently
ignored (other dot-files are ignored but aapt emits a "(skipping <x>)"
message.)

Also, add a "!" prefix to the *~ pattern for Emacs/Vim/Gedit backup
files.

Finally, move the !*.scc pattern up in front of the .* pattern, such
that it doesn't match the earlier .* pattern (which is verbose, unlike
!*.scc).

Change-Id: Id3e96490f1802486aea8c58366d43e9d413971b8
aptAssets.cpp
3df4e1a2f1b4f0eb110c8983107b7c7fa21ed338 02-Jun-2012 Jean-Baptiste Queru <jbq@google.com> am 0748a569: Merge "aapt: Remove terminal pointer incrementaion"

* commit '0748a5698776d1a9693a5449ffc983af26cc533b':
aapt: Remove terminal pointer incrementaion
0748a5698776d1a9693a5449ffc983af26cc533b 02-Jun-2012 Jean-Baptiste Queru <jbq@google.com> Merge "aapt: Remove terminal pointer incrementaion"
98a0607a314a7a6023fabdafaa8e470a1e800c09 22-May-2012 Ying Wang <wangying@google.com> Merge "Fix length of pattern." DO NOT MERGE.

After skipping * with "token++", the length should decrease by 1 as
well.

(merged from 996b073e813ba1a22a13282ccdebb664f14ba898)

Change-Id: Ie6232ef603bb31e25e03b926e6c1bb92ac34902d
aptAssets.cpp
ac9f50573dad2050d261850f1accbcea383cc6f0 22-May-2012 Ying Wang <wangying@google.com> am 996b073e: Fix length of pattern.

* commit '996b073e813ba1a22a13282ccdebb664f14ba898':
Fix length of pattern.
996b073e813ba1a22a13282ccdebb664f14ba898 22-May-2012 Ying Wang <wangying@google.com> Fix length of pattern.

After skipping * with "token++", the length should decrease by 1 as
well.

Change-Id: I132eb7d12bb756f2f713c607e92741ca834aef81
aptAssets.cpp
9c06ac09c3530c5f0bc0b47a3350eedb5b539c35 21-May-2012 Raphael Moll <ralf@android.com> Merge "Merge "AAPT: support a new --ignore-assets flag."" into jb-dev
6c255a3a378143af59021d29b4980b28f1ab4544 08-May-2012 Raphael Moll <ralf@android.com> Merge "AAPT: support a new --ignore-assets flag."

AAPT has a fixed built-in list of files and directories
to ignore when parsing resource files. Over the years we
always had developers requiring specific patterns.

Added a command-line option for it:
aapt di --ignore-assets "foo*:*.blah"

If the env var ANDROID_AAPT_IGNORE is set, it is parsed
to find which file/directory patterns to ignore.

Otherwise a default is used that matches the current behavior.

SDK Bug: 5343 24067

(cherry-pick from AOSP 90897ed87bce639bf6bb2ccf15fbabb59b131bab)

Change-Id: Ia4caa2a8188c8c1df143f884e459b8182645995f
aptAssets.cpp
aptAssets.h
ain.cpp
72669b5f4663937b09d33f9d951f0b86a03fa98b 19-May-2012 Dianne Hackborn <hackbod@google.com> am 13a0271c: Merge "Add aapt support for generating proguard rules for onClick methods." into jb-dev

* commit '13a0271cb81d497edbf93f3d6ecf4b9b8da4ee69':
Add aapt support for generating proguard rules for onClick methods.
9275197d35a99c3f187d18d0eda6ead3b8a32603 19-May-2012 Dianne Hackborn <hackbod@google.com> Add aapt support for generating proguard rules for onClick methods.

Also fix Activity menu inflater when using the dark on light
theme wrapper to still be able to find onClick listeners.

Change-Id: Ie206db26d1df96041bc477804e476b02ad99dc9d
esource.cpp
f67f834a9cb7ee9b743e79af85cb42bd45b5aa23 19-May-2012 Raphael Moll <ralf@android.com> am 8748399f: am 61394501: Merge "Support a new ANDROID_AAPT_IGNORE env var."

* commit '8748399f6f999d21eef9226baadb20f71dfb61ea':
Support a new ANDROID_AAPT_IGNORE env var.
90897ed87bce639bf6bb2ccf15fbabb59b131bab 08-May-2012 Raphael Moll <ralf@android.com> Support a new ANDROID_AAPT_IGNORE env var.

AAPT has a fixed built-in list of files and directories
to ignore when parsing resource files. Over the years we
always had developers requiring specific patterns.
If the env var ANDROID_AAPT_IGNORE is set, it is parsed
to find which file/directory patterns to ignore.
Otherwise a default is used that matches the current behavior.

Added a command-line option for it:
aapt di --ignore-assets "foo*:*.blah"

SDK Bug: 5343 24067

Change-Id: Ia4caa2a8188c8c1df143f884e459b8182645995f
aptAssets.cpp
aptAssets.h
ain.cpp
3e2d59146df9e9e325dcc65018bb130b03242bbc 01-May-2012 Jean-Baptiste Queru <jbq@google.com> resolved conflicts for merge of 13c04786 to jb-dev-plus-aosp

Change-Id: Ib7aa5a768f4606beb2a4387811cfed7c00cbc111
39b58ba2b299e1c97e13535aae9add530d942c7b 01-May-2012 Jean-Baptiste Queru <jbq@google.com> resolved conflicts for merge of bc2fb7b9 to jb-dev-plus-aosp

Change-Id: I5386585e473201268c6ed8b05e0a16569d434ea2
b2228eb7141354089f974a4db3b5224a0ad75fd4 01-May-2012 Jean-Baptiste Queru <jbq@google.com> Merge "Runtime resource overlay: clean-up."
9e3bc3f61df541271c8a1dfc5564cab853951aec 01-May-2012 Jean-Baptiste Queru <jbq@google.com> Merge "Build overlay packages just like regular packages."
002f53770a7f6850eab4d7e381e91dc94d28968f 26-Apr-2012 Ying Wang <wangying@google.com> Apply --extra-packages in case --custom-pacakge is also specified.

Cherry-picked from master.

Change-Id: I2d67b8821afdf064f4186ccd8def1b65f9a7dc88
ommand.cpp
4aa14b912fa7b0e8f2f1deb3e66dab4668de1e12 14-Apr-2012 Dianne Hackborn <hackbod@google.com> Add new aapt dump badging output explaining implicit badging.

New uses-implied-feature and uses-implied-permission tell you
about any features or permissions that aapt is automatically
adding to your app, and why it is doing so.

Change-Id: I45edb055408e1259699c994f956166ce67e8db5d
ommand.cpp
4527a9242127c28ad9472ec3b7677b444b3ef215 11-Apr-2012 Dan Morrill <morrildl@google.com> Merge "Adding a line for android-debuggable to 'dump badging' if AndroidManifest.xml is configured as such. This is to be used by e.g. Play Store to warn the developer that they are about to publish a security hole."
31b0e0e86ad061cd8005e80817bcad017e2d56dd 06-Apr-2012 Dianne Hackborn <hackbod@google.com> Implement call log permission compatibility.

If a pre-JellyBean application requests read/write contacts, it
will implicitly be given read/write call log.

Change-Id: I029db4b09fda737bb8fba4e1611355ebdbbfd34f
ommand.cpp
ec4a50428d5f26a22df3edaf7e5b08f41d5cb54b 04-Apr-2012 Amith Yamasani <yamasani@google.com> Embed layout padding in nine patch images

- Added a new custom PNG chunk that carries the layout padding ints.
- Extract the padding ticks from .9.png images and store in the chunk.
- Load the padding information at runtime into Bitmap and NinePatchDrawable.

- The new chunk is ordered first so that it doesn't cause a problem in older
versions of the platform.

Bug: 6087201

Change-Id: I5de46167a1d44b3ec21065b0c165e594b1dc8399
mages.cpp
b6ec11ef372a498c4d5fd2317a015b808495a2ed 03-Apr-2012 Dan Morrill <morrildl@google.com> Adding a line for android-debuggable to 'dump badging' if AndroidManifest.xml
is configured as such. This is to be used by e.g. Play Store to warn the
developer that they are about to publish a security hole.

Change-Id: Ib6f8537462cbc00ed0504435bdeee2aae0c5b69b
ommand.cpp
c4293c14083d833bb5d13dc19e73daed8cbbb4ea 30-Jan-2012 Nobuhiro Hayashi <nobuhiro.hayashi@gmail.com> aapt: Remove terminal pointer incrementaion

When initialization, 'end' pointer refers terminal
character in a string. But it is incremented in
while loop. It occurs the access to non-secure memory.

Issue detail
http://code.google.com/p/android/issues/detail?id=24896

Change-Id: I751d1154d797738c87a66374a66933528c045be5
esourceTable.cpp
a982dc05d7ca919c07f50e446549ef9dceadf6bd 23-Mar-2012 Colin Cross <ccross@android.com> frameworks/base: move Zip* from libandroidfw to libutils

ZipUtils is needed by build/tools, move it from libandroidfw
(frameworks/base) to libutils (frameworks/native).

Change-Id: I2b4b7adcdf68eb25ee7cba5dd3b69eadf0523af3
ipFile.cpp
fe75d62eba3935d2d1a4a7790fc7459ded241ad3 19-Mar-2012 Jeff Brown <jeffbrown@google.com> Use qsort_r_compat() as a portable wrapper for qsort_r().

Change-Id: Ie79f81625947f4e95122047605d994c86e872e74
tringPool.cpp
tringPool.h
80a6b33be276eb6c808fce13debb4bb7a489cdad 19-Mar-2012 Jeff Brown <jeffbrown@google.com> Fix build break on glibc, for real.

Change-Id: I8bbec237229b05f96c708d41f3c4da17e2a90e2b
tringPool.h
46fc395386f2277a0425b2c46be08fd91f6554f4 19-Mar-2012 Jeff Brown <jeffbrown@google.com> Fix build break on glibc hosts.

Change-Id: Ida70bec6ea972d042982428353cbbc33cde25136
tringPool.cpp
c0f7366a15655c6973ea21029f1997f24c006cca 17-Mar-2012 Jeff Brown <jeffbrown@google.com> aapt: Preprocess images in parallel.

Currently hardcoded to use up to 4 threads.

This change substantially reduces the amount of time spent
preprocessing framework resources to just a few seconds.

Change-Id: I02fdd283fb529a152aeb22ac87f278779fd77983
undle.h
mages.cpp
mages.h
esource.cpp
c9fd9263feedac32e4f5b1f13a3246347efdc25f 17-Mar-2012 Jeff Brown <jeffbrown@google.com> Use quicksort to sort the string pool.

The current implementation of Vector::sort uses insertion sort
on the assumption that the data is mostly sorted. It isn't.

This change brings the total time spent sorting packages by config
down to 500ms from about 93 seconds.

Bug: 6186278
Change-Id: Iec8da11e09297acd6c73733d063b0fa9dacf69f7
tringPool.cpp
tringPool.h
61361f376b47d45966b1ca0d24d51622304c93c3 16-Mar-2012 Jeff Brown <jeffbrown@google.com> Add some comments about StringPool sort order.

Change-Id: I57f24d46328a6bfef883819eaf95c03114d573bb
tringPool.cpp
345b7eb8749d6954942fd4e961fff9f2f854934c 16-Mar-2012 Jeff Brown <jeffbrown@google.com> Remove dead code in StringPool.

The sorted string pool option was no longer used.
Neither were strings with associated identifiers.

Change-Id: Ic5f6368637fbeedfda873d63f4ad0f3ea9d0d603
esourceTable.cpp
tringPool.cpp
tringPool.h
MLNode.cpp
8a9cfcc85260eadcc2c17c4a8911c6d93b642f39 16-Mar-2012 Jeff Brown <jeffbrown@google.com> Make StringPool entry types trivially movable.

Change-Id: If93957a840a0f1cae2e6ef291eeeb1b0c7c20958
tringPool.h
7924512aa12c6af37d90e8ccfcdf04eb78a294a3 12-Mar-2012 Dianne Hackborn <hackbod@google.com> Add new READ_EXTERNAL_STORAGE permission.

Also adds some initial compatibility code for dealing with it.

Change-Id: I104bff11798349e4aaa6da9b7be787b257daa1bb
ommand.cpp
a0b29f556519653c9749cebff4af43e68b4d59ce 08-Mar-2012 Ben Gruver <bgruv@google.com> Merge "Fix an issue where a non-styled string could be made into a styled string"
db6e67d8ec081f43bcf14155741e268a38915719 08-Mar-2012 Ben Gruver <bgruv@google.com> Fix an issue where a non-styled string could be made into a styled string

If a styled version of an otherwise identical string is encountered before
a non-styled version, aapt merges the two, effectively making the
non-styled string have a spurious style.

Change-Id: I424a61c0c83c59e0b9c8939e457402efd06a7a4f
tringPool.cpp
59eb5fd509c98a371b8824f6b13cf29981a4f063 07-Mar-2012 Ben Gruver <bgruv@google.com> Fix up getAttributeFlags() function

In addition to a couple of minor clean-up items, this fixes an issue that can
rarely cause incorrect parsing of attribute flag values, when there is a '|'
character in the few bytes past the end of the attribute value being parsed.

Change-Id: I6050b1c2db60720c7c0ab7df9eba8cfc629b320e
esourceTable.cpp
b3c780f16c37d2fb41a4eb211ea062b4c0b4e366 24-Feb-2012 Xavier Ducrohet <xav@android.com> am 816b873d: Move the automatic namespace outside of the res namespace. do not merge.

* commit '816b873df1ab98d0e79913cf589b7b1fbaf14e85':
Move the automatic namespace outside of the res namespace. do not merge.
816b873df1ab98d0e79913cf589b7b1fbaf14e85 24-Feb-2012 Xavier Ducrohet <xav@android.com> Move the automatic namespace outside of the res namespace. do not merge.

(cherry picked from commit d9fe8018ffbf94f18a840005e688ad1d712f0225)

Change-Id: I48ca78d5fccc75392b3f1cf9525890e5145293c4
MLNode.cpp
eed8d0b3af8e76d6146ce4ed3fbe6ef7e172c8cd 23-May-2011 inazaruk <ievgenii.nazaruk@gmail.com> Fix for issue 9656 - custom xml attributes in Android Libraries. do not merge.

Added support for predefined namespace http://schemas.android.com/apk/res/auto
that aapt tool recognizes and treats as namespace with package name
taken from current application's AndroidManifest.xml, //manifest/package attribute.

Signed-off-by: inazaruk <ievgenii.nazaruk@gmail.com>

(cherry picked from commit e348909c1966c3d192841cc131a32be6ed90da18)

Change-Id: I4bff836c42a309bac36e5d1ce1899131b3c4c194
MLNode.cpp
d9fe8018ffbf94f18a840005e688ad1d712f0225 24-Feb-2012 Xavier Ducrohet <xav@android.com> Move the automatic namespace outside of the res namespace.

Change-Id: I107ee94af0a13f008ef4a8844a9038b84f97a247
MLNode.cpp
111a7a107cc0d1d37c50e760996dfe9863d099d0 23-Feb-2012 Jean-Baptiste Queru <jbq@google.com> am 0842a226: am fe99051c: am 0e25e4cd: am 63e43ba5: Merge "Fix for issue 9656 - custom xml attributes in Android Libraries"

* commit '0842a2262d03fc98e42541cb38f51a341d346ae0':
Fix for issue 9656 - custom xml attributes in Android Libraries
0e25e4cd292dbc6bce330a876dedb7154e5cd847 23-Feb-2012 Jean-Baptiste Queru <jbq@google.com> am 63e43ba5: Merge "Fix for issue 9656 - custom xml attributes in Android Libraries"

* commit '63e43ba56a95708c229eec539a544967f1bbb7d7':
Fix for issue 9656 - custom xml attributes in Android Libraries
63e43ba56a95708c229eec539a544967f1bbb7d7 23-Feb-2012 Jean-Baptiste Queru <jbq@google.com> Merge "Fix for issue 9656 - custom xml attributes in Android Libraries"
cbc69718cb8c637426bc1a642a13a1880d843a45 21-Feb-2012 Mathias Agopian <mathias@google.com> another attempt at fixing the linux build

Change-Id: Iac20439fd6eea4682859112e72f051294bc87ef6
ndroid.mk
83c64e6b624a876436d2ef5d2f173b10407e27b4 21-Feb-2012 Mathias Agopian <mathias@google.com> frameworks/base refactoring

create the new libandroidfw from parts of libui and libutils

Change-Id: I1584995616fff5d527a2aba63921b682a6194d58
ndroid.mk
b13b9bdad2baf6ad1ec2e56b6b7598fa20f55fc4 18-Feb-2012 Mathias Agopian <mathias@google.com> frameworks/base refactoring.

step 2: move libutils headers to their new home: androidfw

Change-Id: I14624ba23db92a81f2cb929f104386e1fab293ef
aptAssets.h
mages.cpp
esourceTable.cpp
tringPool.h
ipFile.cpp
249e3ed5400e5c7ab2e9aa8017f612d79d2e8089 08-Feb-2012 MÃ¥rten Kongstad <marten.kongstad@sonyericsson.com> Runtime resource overlay: clean-up.

This is a combination of three minor clean-up tasks:

- Generate correct idmap even if name lookup fails:

Any resources following a resource with a spec but no actual values
would receive an incorrect ID in the idmap due to an accumulating offset
error. To combat this, a dummy value is inserted in the idmap whenever
a resource with a spec but no values is encountered.

- Optimize pruning of padding zeroes in idmaps:

Earlier, trailing zeroes were iteratively popped from the end of each
type block of an idmap. This commit instead tracks where to make the
cut, and does so with a single function call.

- aapt: warn about resources which lack values:

The resource framework assumes every resource to have a value for
at least one valid configuration. However, if multiple resource
directories are used (several -S options to aapt), the list of
configurations is limited by dpi (-c option to aapt) and a resource
is only available in discarded dpi configurations, aapt will create
a resource entry where each configuration lack an actual value. This
commit lets aapt emit a warning whenever this has happened.

Change-Id: Ic7451b7f4adfef5bfa6b0d7e64e057f317a2cdaa
esourceTable.cpp
1644c6d7f4931d0b4fe7ea77c63b016af01a46d3 07-Feb-2012 Dianne Hackborn <hackbod@google.com> Only generate private symbols that are needed.

Change-Id: Icc4c86638db8429a387bf87c934cc712f807e213
aptAssets.cpp
aptAssets.h
ommand.cpp
esource.cpp
esourceTable.cpp
c761d8b0086f9e92eb1e4b3a5683ae6afb84036a 07-Feb-2012 MÃ¥rten Kongstad <marten.kongstad@sonyericsson.com> Build overlay packages just like regular packages.

Previously, building overlay packages required passing aapt its -o flag.
This commit decouples the idmap generation code from the effects of the
-o flag.

Since this commit renders the -o flag obsolete, support for the flag was
removed from aapt as well.

Change-Id: Ied2e0ab8cb800e49623f0a2044b06cd4935473d5
undle.h
ain.cpp
esourceTable.cpp
b54f371cc4cfd32acf0fec35885a1da64accec9e 06-Feb-2012 Xavier Ducrohet <xav@android.com> am f8aea993: Make aapt ignore tools-related data.

* commit 'f8aea99385df8373b6edd6d5dd1d15b7b36b525b':
Make aapt ignore tools-related data.
f8aea99385df8373b6edd6d5dd1d15b7b36b525b 03-Feb-2012 Xavier Ducrohet <xav@android.com> Make aapt ignore tools-related data.

This patchset introduces a new standard namespace http://schemas.android.com/tools
which will be used for tools specific XML attributes.
Any attributes using this namespace will not be compiled into the binary XML file.

The namespace node is also not written at all, and its string is not collected
to ensure that there is no impact on the devices.

(cherry picked from commit a5d5e9d906583ebeb590ca200ca9840302a5cd1a)

Change-Id: I62937b8bc34c07ac544930aa8eadd7797e0179d5
MLNode.cpp
a5d5e9d906583ebeb590ca200ca9840302a5cd1a 03-Feb-2012 Xavier Ducrohet <xav@android.com> Make aapt ignore tools-related data.

This patchset introduces a new standard namespace http://schemas.android.com/tools
which will be used for tools specific XML attributes.
Any attributes using this namespace will not be compiled into the binary XML file.

The namespace node is also not written at all, and its string is not collected
to ensure that there is no impact on the devices.

Change-Id: I3e75d44cda54e1fa7b5cdc56b3eb27db80fe7761
MLNode.cpp
6c997a9e880e08c354ffd809bd62df9e25e9c4d4 31-Jan-2012 Dianne Hackborn <hackbod@google.com> aapt now sorts the strings in the resource string pool.

In our current environment with very many translations, this can
save a lot of RAM -- for example over 200K in Gmail just by sorting
the strings in the Gmail .apk (not the framework).

Also add a new aapt command to print the contents of the resource
table string pool.

Change-Id: I1da037b3e2c377b890833ff57ab158965314ac48
aptAssets.h
undle.h
ommand.cpp
esource.cpp
esourceTable.cpp
esourceTable.h
tringPool.cpp
tringPool.h
d96e3dfa02b203b1fc826e80d6f9aa074ba9c250 26-Jan-2012 Dianne Hackborn <hackbod@google.com> Add xxhdpi; fix ActivityManager.getLauncherLargeIconSize() etc.

Change-Id: I519d6cdc527a402d93b98df17a64fc1da52ad598
aptAssets.cpp
c6aacce37191e1cc79cfeba13b39899f59c68c3b 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF)

Change-Id: I1de629b4632a4b3187ca1a28d6416daccd35f924
ipFile.cpp
a51f0e707f1f3142358aa919ea60ad2842803139 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF)

Change-Id: I8fbdfa7a7581f481968dbb65aa40f7042936d7cb
ipEntry.cpp
ipFile.cpp
933e85615059b85a87747da57288384541cc56da 04-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF)

Change-Id: I26f76452ac49e2890b14d133c065493d8df0fb4a
ipEntry.cpp
1afd5bab4e0eaba8b5bc2ab5c7b556cd602cf2e7 20-Dec-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF)

Change-Id: I44f267700356967dc51e8f85ebf457dc85cfb229
ipEntry.cpp
ipFile.cpp
06ade6ae1bd015e8b8ad0685847911213c93cc5b 20-Oct-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF)

Change-Id: I5321ebd12e9c6248a108529e82c4e1af2a4405e3
ipEntry.cpp
ipFile.cpp
3762c311729fe9f3af085c14c5c1fb471d994c03 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/157220

Bug: 5449033
Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
ipFile.cpp
74366c06ff6cad7038c17c9041d25979975ce55e 06-Jan-2012 Dan Morrill <morrildl@google.com> Merge "Minor tweak to console output."
e74763e26f760e8de23a4edfbe599a166ef6bb53 06-Jan-2012 Dan Morrill <morrildl@google.com> Minor tweak to console output.

Change-Id: I494910eda1d02f6bcff945b9a13c83767f2248b6
ommand.cpp
8564c8da817a845353d213acd8636b76f567b234 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/157065

Bug: 5449033
Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
ipEntry.cpp
ipFile.cpp
6215d3ff4b5dfa52a5d8b9a42e343051f31066a5 04-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/156801

Bug: 5449033
Change-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea
ipEntry.cpp
5baa3a62a97544669fba6d65a11c07f252e654dd 20-Dec-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/156016

Bug: 5449033
Change-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298
ipEntry.cpp
ipFile.cpp
44fcb83b38b062a650ddf556fe7f5e34905df9ea 15-Dec-2011 Joe Onorato <joeo@google.com> Add a new ui mode for "appliance"

The idea is that this is a device which is more-or-less headless. It
might have some limited interaction capabilities, but it's not something
that you want to rely on having.

Change-Id: Ib92f53a120bf83de781728011721a4859def7d9f
aptAssets.cpp
7c3bef85dab709326e052fec1fdc8b32e47c811e 28-Oct-2011 Raphael <raphael@google.com> Merge "AAPT fix printf %zd crash on Windows". Do not merge.

There's no printf %zd on Mingw/Cygwin so the verbose
printf crashes aapt.

SDK bugs: 20395, 20986

Bug: 5742142

(cherry picked from commit f51125d8429ffa71c57ba6fbdca9effc72642a9b)

Change-Id: I7545734ce8ce4a1f3e95f8a255daa8a909f870a1
esource.cpp
tringPool.cpp
063a44e541335819b673fb1c20a338bbcaf3a3f5 08-Dec-2011 Kenny Root <kroot@google.com> Add aapt support for implicitly-granted permissions

Bug: 2363582
Bug: 2877343
Change-Id: Iff7b496fb845e45fe1be2317089a96f7d63ed223
ommand.cpp
f51125d8429ffa71c57ba6fbdca9effc72642a9b 28-Oct-2011 Raphael <raphael@google.com> AAPT fix printf %zd crash on Windows.

There's no printf %zd on Mingw/Cygwin so the verbose
printf crashes aapt.

SDK bugs: 20395, 20986

Change-Id: I5b8ac36749263205a19f1448b1aaca90d5a2e06d
esource.cpp
tringPool.cpp
71f2cf116aab893e224056c38ab146bd1538dd3e 20-Oct-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/143865

Bug: 5449033
Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
ipEntry.cpp
ipFile.cpp
64ef6b47e020da5370af8897638a0a778fa52b74 20-Oct-2011 Iliyan Malchev <malchev@google.com> add -ldl to host executables

This fixes the build on Linux when RefBase is compiled with reference tracking
enabled.

Change-Id: I3e931e0b463ce836f6fdb30c37068d77144631a3
Signed-off-by: Iliyan Malchev <malchev@google.com>
ndroid.mk
bd9d2bcdebfa66a0f71fa67aa256dcae4ccd93da 16-Oct-2011 Dianne Hackborn <hackbod@google.com> Whoops, remove left-over debug output.

Change-Id: Ib30571b22a6750629f975319a403d38de5e9462c
aptAssets.cpp
e6b680364dd992907a8d2037685a2e500d188dfb 14-Oct-2011 Dianne Hackborn <hackbod@google.com> New aapt feature to do smarter filtering of configurations.

This adds a --preferred-configurations flag that specifies the
specific configurations you would like to have.

It is smarter than "-c" because it will avoid stripping a
configuration if that would result in there being no value
for the resource.

It is dumber than "-c" because it can't process as many kinds
of resources. It is really only intended for bitmaps and use
with density configs.

This required re-arranging AaptAssets to group files together
by config again, like they used to be. I think this hasn't
broken anything. Hopefully.

Change-Id: I4e9d12ff6e6dbd1abb8fd4cb1814c6674b19d0e5
aptAssets.cpp
aptAssets.h
ndroid.mk
undle.h
ommand.cpp
mages.cpp
ain.cpp
ackage.cpp
esource.cpp
esourceFilter.cpp
esourceFilter.h
esourceTable.cpp
esourceTable.h
56088a55ca6c9277f09040a7883117cb127e1e56 29-Sep-2011 Kenny Root <kroot@google.com> Add package-verifier to aapt dump badging

Print out the package-verifier information when printing out badging.

Change-Id: I9c79c163261d5d4f1094bda76d90b3ff6e1ce540
ommand.cpp
914f7e683a01f15f8830810c49eaecc31bc554a6 28-Sep-2011 Eric Fischer <enf@google.com> Don't lose product variant strings that also vary between locales.

Localized strings with product variants were not being included in the APK,
apparently because the check to ensure that a different variation of the
string had not already been included in the APK was matching the version
of it from the default, untranslated configuration.

Now check to make sure that the string not only exists but also exists in
the correct configuration.

Bug 5372711

Change-Id: I52975570b75e0f11827dc6bcf1cb4a987d0541aa
esourceTable.cpp
esourceTable.h
1797d6086f9acbea582cac6d484e749abafa1868 18-Aug-2011 Xavier Ducrohet <xav@android.com> am d98e1be2: am f4750724: am 9d829f98: am 21e6e2de: Merge "Change generated dependency file names"

* commit 'd98e1be20e1cca5c36c7e0344500d4a5574568aa':
Change generated dependency file names
d98e1be20e1cca5c36c7e0344500d4a5574568aa 18-Aug-2011 Xavier Ducrohet <xav@android.com> am f4750724: am 9d829f98: am 21e6e2de: Merge "Change generated dependency file names"

* commit 'f4750724cf8db972a052cb388dc9a39fc7aa6dd6':
Change generated dependency file names
b711f3f7ee0544685ef26a1a4b4755d5a6233dba 16-Aug-2011 Josiah Gaskin <josiahgaskin@google.com> Change generated dependency file names

This changes the name of the generated dependency files to R.java.d
and <ApkName>.ap_.d respectively.

Change-Id: I17e18770fc0d0a5d31c7b37b40ac1949f45ef13a
ommand.cpp
ackage.cpp
esource.cpp
395c86f7f659e3ffc834689576cc738b517d3b9e 28-Jul-2011 Xavier Ducrohet <xav@android.com> am 6abf2f50: am 0b45ca88: am cd01ad7c: am 20339b24: Merge "Remove Debug Code"

* commit '6abf2f501e60132a5369ad5b15b388912c8e9e5b':
Remove Debug Code
6abf2f501e60132a5369ad5b15b388912c8e9e5b 28-Jul-2011 Xavier Ducrohet <xav@android.com> am 0b45ca88: am cd01ad7c: am 20339b24: Merge "Remove Debug Code"

* commit '0b45ca8884acfd2e9ccdcb3fbe641a46b116bda0':
Remove Debug Code
7a09ccfb5052dc555d54ef77177083616e8f1b69 28-Jul-2011 Josiah Gaskin <josiahgaskin@google.com> Remove Debug Code

This change removes debugging code from FileFinder.
This code was considered harmful because it uses the std::cout
from <iostream>.

Change-Id: Iad9b5e8a631883bd4854abdb29bc6df8a5b4a056
ileFinder.cpp
af2872d1e324ed67b44b4f44e2d83b1f0d985027 25-Jul-2011 Kenny Root <kroot@google.com> Change ZipFile flags anonymous enum

The arguments that ZipFile takes were apparently meant to be a typed
enum, but the name of the type was taken out because it creates invalid
conversion warnings in C++ since this is an invalid use of enum.

Just change the typedef enum to an anonymous enum so we get rid of the
compiler warnings. It will be implicitly converted to int instead.

Change-Id: Ie72c4c235c8f9ee8fd1b795e1010b77c55e983de
ipFile.h
3a8801e0599cfd8f12750d65ee309e20a33e04f6 21-Jul-2011 Xavier Ducrohet <xav@android.com> am b3ab070e: am 3a2d1c23: am ddb8e3b2: am 9bac0a9f: Merge "Fix to compile for windows"

* commit 'b3ab070edb17f00a4b2d0f511ca539c885b28b6f':
Fix to compile for windows
b3ab070edb17f00a4b2d0f511ca539c885b28b6f 21-Jul-2011 Xavier Ducrohet <xav@android.com> am 3a2d1c23: am ddb8e3b2: am 9bac0a9f: Merge "Fix to compile for windows"

* commit '3a2d1c2351c0b4eeb4dc4d91d1c334b9f8ba00ed':
Fix to compile for windows
9102165fd8be64bdc9110d0839a84fcdfa5b68cb 21-Jul-2011 Josiah Gaskin <josiahgaskin@google.com> Fix to compile for windows

This change includes a workaround for dirent.h on windows not
including d_type.

Change-Id: Ieaa3f298d2e6b32f2d8367384a1d02a2f5d06cca
ileFinder.cpp
ileFinder.h
ac1fe6f8460448d379721677a064868e103a2260 21-Jul-2011 Xavier Ducrohet <xav@android.com> am 84be06e4: resolved conflicts for merge of ea9e6d24 to honeycomb-plus-aosp

* commit '84be06e4ce0778fbf0c1ac72f94795ef8433439b':
Added Caching for PreProcessed PNGs
84be06e4ce0778fbf0c1ac72f94795ef8433439b 21-Jul-2011 Xavier Ducrohet <xav@android.com> resolved conflicts for merge of ea9e6d24 to honeycomb-plus-aosp

Change-Id: I8e047147a4d2c899b6654c03a5f32b04d929e602
e53365f6f145303b8c7a0613189ad415959dd697 21-Jul-2011 Xavier Ducrohet <xav@android.com> am a125c937: resolved conflicts for merge of 2c311be7 to honeycomb-plus-aosp

* commit 'a125c937de06b1cc43368743592f47513eb88b76':
Add generation of dependency file for .ap_ package
a125c937de06b1cc43368743592f47513eb88b76 21-Jul-2011 Xavier Ducrohet <xav@android.com> resolved conflicts for merge of 2c311be7 to honeycomb-plus-aosp

Change-Id: I806c7b4ae95f66df621587e52497dd8739a115fe
8a39da80b33691b0c82458c3b7727e13ff71277e 07-Jun-2011 Josiah Gaskin <josiahgaskin@google.com> Added Caching for PreProcessed PNGs

Added a cache management system for pre-processed PNG files
along with unit tests. The cache system will be used if
the --no-crunch flag is passed to AAPT during the package
phase. The cache can be updated by a call to 'aapt crunch'
(see usage statement). Also put in benchmarking code.

Change-Id: I58271fb2ee2f5f9075fd74d4ff6f15e7afabd05c
ndroid.mk
undle.h
acheUpdater.h
ommand.cpp
runchCache.cpp
runchCache.h
irectoryWalker.h
ileFinder.cpp
ileFinder.h
mages.cpp
mages.h
ain.cpp
ain.h
ackage.cpp
esource.cpp
ests/CrunchCache_test.cpp
ests/FileFinder_test.cpp
ests/MockCacheUpdater.h
ests/MockDirectoryWalker.h
ests/MockFileFinder.h
c810fffe1ffda8876c083f10b5f2b3b197768809 19-Jul-2011 Xavier Ducrohet <xav@android.com> am 9139868b: am ba6c98db: am 82943ecf: am d40c93f6: Merge "Add dependency generation to Aapt for R.java"

* commit '9139868b6c5cb29b3665984225dceb0193fec31d':
Add dependency generation to Aapt for R.java
e242042b81bc88c6231caf4628d0c7364b29abad 19-Jul-2011 Xavier Ducrohet <xav@android.com> am bf31250b: am d5431ed5: am 2e659ae5: am 42755155: Merge "Copy once-created R.java into library projects"

* commit 'bf31250ba0858a2e72a3906a1f0216846683bc2e':
Copy once-created R.java into library projects
9139868b6c5cb29b3665984225dceb0193fec31d 19-Jul-2011 Xavier Ducrohet <xav@android.com> am ba6c98db: am 82943ecf: am d40c93f6: Merge "Add dependency generation to Aapt for R.java"

* commit 'ba6c98db8f21016f81ecac35bb0ea3c433044bb7':
Add dependency generation to Aapt for R.java
bf31250ba0858a2e72a3906a1f0216846683bc2e 19-Jul-2011 Xavier Ducrohet <xav@android.com> am d5431ed5: am 2e659ae5: am 42755155: Merge "Copy once-created R.java into library projects"

* commit 'd5431ed5505a42e5e33c8bf7cc2ff72792979be9':
Copy once-created R.java into library projects
03589cc65355220e0a4a0c816189a9fa25cc81fc 28-Jun-2011 Josiah Gaskin <josiahgaskin@google.com> Add generation of dependency file for .ap_ package

Make Aapt generate a dependency file in the same directory as the
output ap_ file if the --generate-dependencies flag is set.
This dependency file can then be read by the ant exec loop task
to see whether to repackage resources.

Change-Id: I763679414daf76369700aa599c26dcf78d4de099
aptAssets.cpp
aptAssets.h
ommand.cpp
ain.cpp
ain.h
ackage.cpp
esource.cpp
ipFile.h
9bf34ca6f85309c65b0ebdf614cb8266401b49ba 14-Jun-2011 Josiah Gaskin <josiahgaskin@google.com> Add dependency generation to Aapt for R.java

Make Aapt generate a dependency file in the location specified
by RClassDir for R.java if the --generate-dependencies flag is set.
This dependency file is then read by the ant exec loop task
to see whether to recreate R.java.

Change-Id: I7152dac86b6ea0e448ef65e3a95694afe233c789
aptAssets.cpp
aptAssets.h
undle.h
ommand.cpp
ain.cpp
ain.h
esource.cpp
ipFile.h
ce89f1531ed8b96b8b790b3f8b18dd4cf483f7f0 09-Jun-2011 Josiah Gaskin <josiahgaskin@google.com> Copy once-created R.java into library projects

This change adds functionality in Aapt to allow specification of
library projects to copy the generated R.java file into rather
than regenerating the file for each library project.

Change-Id: I05939d1dc875bd875be9298ca47cb639235070c6
undle.h
ommand.cpp
ain.cpp
45ccfa5870517374d06e1eec9f61947d8c00cb0d 21-Jun-2011 Ying Wang <wangying@google.com> Output Proguard options for also overlay layouts.

Change-Id: I7bfac476247bd7b532510e295cb1a3e61e9af88b
esource.cpp
810dc5980c504a89974c07fcbd28a2b5dffb47de 16-Jun-2011 Dianne Hackborn <hackbod@google.com> am f1c5dbbd: am abd4dffc: Merge "New orientation handling. Only impacts SDK (aapt dump badging)." into honeycomb-mr2

* commit 'f1c5dbbd457bb14d3673508aaba497cdc328a1ef':
New orientation handling. Only impacts SDK (aapt dump badging).
f77ae6e65a7ab47e7ab0ee1536d708b6e56fe45b 16-Jun-2011 Dianne Hackborn <hackbod@google.com> New orientation handling. Only impacts SDK (aapt dump badging).

This is a new way of determining whether an application requires
specific orientations, done by looking at any requirements in its
activity tags. Note that this won't catch all possible issues,
because applications can still force an orientation through Java
APIs, but the vast majority of applications that actually require
a specific orientation should be doing it this way because it the
easiest way and the only way to cleanly launch into the app from
a different orientation without doing some serious activity tricks.

Change-Id: I11d32104f6bc3d2a72aeeff1ca150b8f1c9f5588
ommand.cpp
77fc8b8066709a1d09a159901fd65c49b5e6eaa5 14-Jun-2011 Dianne Hackborn <hackbod@google.com> am 6c0533f9: am c5193c62: Merge "Add new landscape and portrait orientation features." into honeycomb-mr2

* commit '6c0533f994e7991b3bd60cab48362e8e2e6d86f0':
Add new landscape and portrait orientation features.
e289bff0ec2b1af4ba773e0c8d49d5fd46eb9921 14-Jun-2011 Dianne Hackborn <hackbod@google.com> Add new landscape and portrait orientation features.

Updates aapt to know about these. Also updates aapt badging to:

- No longer crash due to the change to how we match unspecified
configuration resources.
- Report the new "smallest screen" supported screen configs.
- Infer old screen size buckets based on new smallest width attrs.
- Report all of the different labels and icons in an app.

Change-Id: I7376042b817391bd070f549cebbc7f03be4635c8
ommand.cpp
f14dff1219d2a87340dccad657f666f5451d8c6e 10-Jun-2011 Dianne Hackborn <hackbod@google.com> am c6adfed6: am f795e9a8: Okay *now* really enforce the limit on non-public styles.

* commit 'c6adfed6dcea8482e482db58bd396ea8de08426a':
Okay *now* really enforce the limit on non-public styles.
9980043e930f877c4cd066de2b3d57dce4fc926e 10-Jun-2011 Dianne Hackborn <hackbod@google.com> am 820caf7b: am 8821ba86: Ummm... f*, stop breaking the build.

* commit '820caf7b04f1e5c83599437e9e783e91322eb4f9':
Ummm... f*, stop breaking the build.
f795e9a86d4f62e5314ef95978c3ea17d90975db 10-Jun-2011 Dianne Hackborn <hackbod@google.com> Okay *now* really enforce the limit on non-public styles.

Change-Id: Ie8df6acf7cc3dec00f615b2fa9a5122ec79a0aae
esourceTable.cpp
8821ba860693f5206c56ae727a4231e4d6f0a735 09-Jun-2011 Dianne Hackborn <hackbod@google.com> Ummm... f*, stop breaking the build.

Change-Id: I6a42cb60e7cebda6d17222e6af1f327889323c40
esourceTable.cpp
f51ded0f8f593d17af82946eb65c05fc04f688b4 10-Jun-2011 Dianne Hackborn <hackbod@google.com> am a8d7ea06: am 220cd77d: Merge "Enforce public resource restriction on bag parents." into honeycomb-mr2

* commit 'a8d7ea067cf22baeee2ff0a33e5a8c5a35936942':
Enforce public resource restriction on bag parents.
426431adcc220b6adfbe1d9530247f897e60fa36 09-Jun-2011 Dianne Hackborn <hackbod@google.com> Enforce public resource restriction on bag parents.

Need to put some more styles in the SDK to avoid breaking apps.

Also, welcome Android 3.2.

Change-Id: Ia31d07c9b1b91ad868d8630437fdc1b5ae24f37d
esourceTable.cpp
esourceTable.h
e348909c1966c3d192841cc131a32be6ed90da18 23-May-2011 inazaruk <ievgenii.nazaruk@gmail.com> Fix for issue 9656 - custom xml attributes in Android Libraries

Added support for predefined namespace http://schemas.android.com/apk/res/auto
that aapt tool recognizes and treats as namespace with package name
taken from current application's AndroidManifest.xml, //manifest/package attribute.

Signed-off-by: inazaruk <ievgenii.nazaruk@gmail.com>

Change-Id: I4b24a7265511e416cc7e02b5bb8a08ef32b598eb
MLNode.cpp
54cb63e26e41b80c013b8665878b9c7c7fb328c1 27-May-2011 Dianne Hackborn <hackbod@google.com> am 528c49f1: am b96cbbd1: Add "tv" density for 720p screens.

* commit '528c49f112dce5f9687f30a9751e783196eca0c6':
Add "tv" density for 720p screens.
b96cbbd11c4590bec846212c33361e02293f18b5 27-May-2011 Dianne Hackborn <hackbod@google.com> Add "tv" density for 720p screens.

Change-Id: I028969b007f2fceea66947d77a2ae31ef1d1a630
aptAssets.cpp
bbca81334e3603c7328dc526bd63032b23d5261d 24-May-2011 Dianne Hackborn <hackbod@google.com> am 4bb78889: am 40277df7: Merge "Add "television" mode." into honeycomb-mr2

* commit '4bb78889d04594c01a6af7f6d38c1764e9f575f9':
Add "television" mode.
e360bb6bd8ea84b8d37604fc11dfc744b18fb0de 21-May-2011 Dianne Hackborn <hackbod@google.com> Add "television" mode.

Change-Id: Ida1fdb61b036a8b489dbeda196fb4bc82e651b2b
aptAssets.cpp
06a8ceacb0dc2713cb0bb2c93d2a750f2a58db68 20-May-2011 Dianne Hackborn <hackbod@google.com> am c851ea56: am 69cb8757: Add new "-swNNNdp" resource qualifier.

* commit 'c851ea5672f6e042c2e89b2a2ce4a2467e1fcd2a':
Add new "-swNNNdp" resource qualifier.
69cb87576ba163b61bb0e6477a3b7c57a9b11d40 20-May-2011 Dianne Hackborn <hackbod@google.com> Add new "-swNNNdp" resource qualifier.

Change-Id: I0101e88ca9d8d44138bdcaf571f24b0352f4f6ce
aptAssets.cpp
aptAssets.h
esourceTable.cpp
2e4a3236a7634d17f89288e9739a438ecbea0471 13-May-2011 Dianne Hackborn <hackbod@google.com> am 46a282f3: am 0ed2e845: Merge "DO NOT MERGE. Integrate add new screen width/height in "dp" configs." into honeycomb-mr2

* commit '46a282f323bc05606e4fe1eba795bd9ac7c99819':
DO NOT MERGE. Integrate add new screen width/height in "dp" configs.
ebff8f92f13513ce37bd74759eb1db63f2220590 13-May-2011 Dianne Hackborn <hackbod@google.com> DO NOT MERGE. Integrate add new screen width/height in "dp" configs.

You can now specify resource configuration variants "wNNNdp"
and "hNNNdp". These are the minimum screen width/height in "dp"
units. This allows you to do things like have your app adjust
its layout based only on the about of horizontal space available.

This introduces a new configuration change flag for screen size.
Note that this configuration change happens each time the orientation
changes. Applications often say they handle the orientation change
to avoid being restarted at a screen rotation, and this will now
cause them to be restarted. To address this, we assume the app can
handle this new config change if its target SDK version is < ICS.

Change-Id: I4acb73d82677b74092c1da9e4046a4951921f9f4
aptAssets.cpp
aptAssets.h
esourceTable.cpp
4a4d96e7ee682167861434cba05531f04642bf97 27-Apr-2011 Conley Owens <cco3@android.com> Merge changes I0ab47e2f,Ib8016996

* changes:
Remove errant tag terminator
Normalize output of XMLtree content
18490fb93e206fd899c3258096cc32f293373c92 12-Apr-2011 Kenny Root <kroot@google.com> resolved conflicts for merge of 87b3c0dc to honeycomb-plus-aosp

Change-Id: Ia1a0024aabf531438203eb9fea3a10dd15eabe53
7c94b34b5241b548d68a1cb03d10f697386aac65 11-Apr-2011 Shachar Shemesh <lingnu@gmail.com> Normalize output of XMLtree content

Make the output from aapt dump xmltree normalized, so that it is unambigously
displayed regardless of the content of the strings. Previous patch left out
handling of XML element content.

Change-Id: Ib8016996c769f3dde7a87f7ecbdf850333f2426a
MLNode.cpp
57f4b77c89bafedf9468f9a636561c0c193405c9 17-Mar-2011 MÃ¥rten Kongstad <marten.kongstad@sonyericsson.com> Runtime resource overlay, iteration 1.

Runtime resource overlay allows unmodified applications to appear
as if they had been compiled with additional resources defined. See
libs/utils/README for more information.

This commit is the first iteration of runtime resource overlay. It
provides the actual overlay modifications and loading of trusted overlay
packages (ie residing in /vendor) targeting framework-res.apk.

This commit loads exactly one overlay package. The overlay,
if present, must target framework-res.apk and be located at
/vendor/overlay/framework/framework-res.apk.

Change-Id: If26ee7754813004a96c043dba37fbe99fa3919db
undle.h
ain.cpp
esourceTable.cpp
defdae61b1771823ffd42201241846b771e772ea 01-Mar-2011 Xavier Ducrohet <xav@android.com> Add notice files for aapt and aidl.

Change-Id: I51da138475618287760043059790aba87f4c3f35
OTICE
b732b7b5e8192501360edc15fb8c6399d11fb97d 28-Feb-2011 Xavier Ducrohet <xav@android.com> am ce57a7f3: am 6504490c: am dff6b8e7: Merge "Add --non-constant-id to aapt."

* commit 'ce57a7f35344e76689d30f45964d1e37b78280cb':
GpsLocationProvider: Clean up HAL initialization/cleanup sequence
Fixed GSM encoded network initiated position request
Ensuring thread-safe usage of DateFormat.
Fixing infinite loop for zero duration.
Fix for an infinite loop while scrolling lists.
WAPPushManager, WAP Push over SMS message handler
Add --non-constant-id to aapt.
6504490cde3ec5d48321d539e654d1f2072b33f9 28-Feb-2011 Xavier Ducrohet <xav@android.com> am dff6b8e7: Merge "Add --non-constant-id to aapt."

* commit 'dff6b8e71dda9f5d841fa26408714aec2aef1505':
GpsLocationProvider: Clean up HAL initialization/cleanup sequence
Fixed GSM encoded network initiated position request
Ensuring thread-safe usage of DateFormat.
Fixing infinite loop for zero duration.
Fix for an infinite loop while scrolling lists.
WAPPushManager, WAP Push over SMS message handler
Add --non-constant-id to aapt.
d06c1afbb920111d6bb77381560faa1fac5f2d69 15-Feb-2011 Xavier Ducrohet <xav@android.com> Add --non-constant-id to aapt.

This option enbables creating resource constant in the R class
that are not actual constant, but simply static fields.

The goal is to build library projects with these types of
IDs so that the constant does not get inlined in the library
code, since the ID for the library resources only are not
the final values.

The final resource IDs, generated from the main project and
its library(ies), will have proper constant with the final
values.

This allows us to generate binary library bundle (a jar file
and associated resources) that can be distributed. Additionally,
this will let us make the library project support in Eclipse
much more robust and a better user experience overall.

Change-Id: Ibe2f08d68493fde658fc3f7606abf7446f312ad2
undle.h
ain.cpp
esource.cpp
371de9695508073fbbde8181eb230e99cb045206 30-Jan-2011 Dianne Hackborn <hackbod@android.com> am a1f5e82f: am a30063d8: am 25eb0464: Merge "Normalize output from aapt d"

* commit 'a1f5e82f37c77af7b1d630b5bca715d1742f1234':
Normalize output from aapt d
a1f5e82f37c77af7b1d630b5bca715d1742f1234 30-Jan-2011 Dianne Hackborn <hackbod@android.com> am a30063d8: am 25eb0464: Merge "Normalize output from aapt d"

* commit 'a30063d80c08434ac3c7316f338c6d54110449ab':
Normalize output from aapt d
25eb04642cb5a72f59a274bbfc92f4f65c6c343e 30-Jan-2011 Dianne Hackborn <hackbod@android.com> Merge "Normalize output from aapt d"
13cd966415a5cf83934868751f19bf69fa4ff9df 30-Jan-2011 Dianne Hackborn <hackbod@android.com> am e802b592: am 2107757d: am bbb5a5ce: Merge "Make AaptGroupEntry::getMncName accept mnc00"

* commit 'e802b59280540ce24ea1db61907a0f1f22f01fad':
Make AaptGroupEntry::getMncName accept mnc00
e802b59280540ce24ea1db61907a0f1f22f01fad 30-Jan-2011 Dianne Hackborn <hackbod@android.com> am 2107757d: am bbb5a5ce: Merge "Make AaptGroupEntry::getMncName accept mnc00"

* commit '2107757dde0b3159119edcc9084fcb9a87985e88':
Make AaptGroupEntry::getMncName accept mnc00
bbb5a5ce1922a168335811b177cd7341350c15cc 29-Jan-2011 Dianne Hackborn <hackbod@android.com> Merge "Make AaptGroupEntry::getMncName accept mnc00"
02feeb4b2bb6515491cf3dd7ae2b204caac81bae 18-Jan-2011 Josh Stone <cuviper@gmail.com> aapt: Allow raw "%" in unformatted string-arrays

Commit 15fe2cb added format checking for translatable strings, enforcing
the use of positional args. This check can be disabled on <string>
values with translatable="false" or formatted="false". But they didn't
check for those attributes on <string-array>, so some of CM's strings
fail when they're not really format strings, just because they contain
percent signs. (e.g. brightness widget's "Auto/Dim/40%/100%")

So now the formatted/translatable attributes are checked in string-array
too, and we can restore our proper percent signs.

Change-Id: I3478ab7e0b939e61fe0cec20201ac55096264080
esourceTable.cpp
1240719ae06855d38f1fa159dd73e2109bb9586f 23-Jan-2011 Dianne Hackborn <hackbod@android.com> am bcf2adeb: Merge "aapt: Allow raw "%" in unformatted string-arrays"

* commit 'bcf2adeb10c41becec3baa2bcb8de9212272399a':
aapt: Allow raw "%" in unformatted string-arrays
bf50322a245c430f3b3a1e7ecc299fe0a939daec 18-Jan-2011 Josh Stone <cuviper@gmail.com> aapt: Allow raw "%" in unformatted string-arrays

Commit 15fe2cb added format checking for translatable strings, enforcing
the use of positional args. This check can be disabled on <string>
values with translatable="false" or formatted="false". But they didn't
check for those attributes on <string-array>, so some of CM's strings
fail when they're not really format strings, just because they contain
percent signs. (e.g. brightness widget's "Auto/Dim/40%/100%")

So now the formatted/translatable attributes are checked in string-array
too, and we can restore our proper percent signs.

Change-Id: I3478ab7e0b939e61fe0cec20201ac55096264080
esourceTable.cpp
f31161a0e71c0446283610e9bf7a11e0be12bd5e 05-Jan-2011 Dianne Hackborn <hackbod@google.com> Add new "animator" and "interpolator" resource directories.

First phase, allowing apps to move over to the new names.

Change-Id: Ia16f3e2383e4a6599a0011d0464f0aacb1ce9207
esource.cpp
9872bf4a2d4ae1e7ded170c8e74d400fe6be9bfb 20-Dec-2010 Shachar Shemesh <lingnu@gmail.com> Normalize output from aapt d

Make the output from aapt dump --values resources and aapt dump xmltree normalized, so that it is unambigously displayed
regardless of the content of the strings.

Change-Id: Ia3bff36c4ee1e9a44f474534e154830948beabdf
MLNode.cpp
5ef0b9d72451d4bb65f5a76a05738041ed15664a 09-Nov-2010 Johan Redestig <johan.redestig@sonyericsson.com> Make AaptGroupEntry::getMncName accept mnc00

MNC 00 is a valid network code and is used by
some operators, see http://en.wikipedia.org/wiki/Mobile_Network_Code.

Remove the test that checks if atoi returns zero.
The string is validated to contain only numbers
already.

Also discussed here:
https://code.google.com/p/android/issues/detail?id=3657

Change-Id: I3220d7980abe4067c9e7aa4cbc10b5fd0b8c9ea7
aptAssets.cpp
00db2213bf82c04610137a36e9190003f712952c 14-Dec-2010 Dan Morrill <morrildl@google.com> am 0ccc8b73: am 5441a9ff: Merge "GL texture filtering changed from AND to OR, so rename tag name to match. (<uses-foo> == AND, <supports-foo> == OR, e.g. uses-feature vs. supports-screen)." into gingerbread

* commit '0ccc8b7345eac0b507c221be47e55926cbda8957':
GL texture filtering changed from AND to OR, so rename tag name to match. (<uses-foo> == AND, <supports-foo> == OR, e.g. uses-feature vs. supports-screen).
0ccc8b7345eac0b507c221be47e55926cbda8957 14-Dec-2010 Dan Morrill <morrildl@google.com> am 5441a9ff: Merge "GL texture filtering changed from AND to OR, so rename tag name to match. (<uses-foo> == AND, <supports-foo> == OR, e.g. uses-feature vs. supports-screen)." into gingerbread

* commit '5441a9ff2128cf2c5088974c74b79d2d1734f755':
GL texture filtering changed from AND to OR, so rename tag name to match. (<uses-foo> == AND, <supports-foo> == OR, e.g. uses-feature vs. supports-screen).
096b67f65510a5076f1f845f9e19dda2b30ea6bb 14-Dec-2010 Dan Morrill <morrildl@google.com> GL texture filtering changed from AND to OR, so rename tag name to match.
(<uses-foo> == AND, <supports-foo> == OR, e.g. uses-feature vs.
supports-screen).

Change-Id: I0f20aed7f95169d9adfc7fe128191eb6e49d116f
ommand.cpp
ddb76c4644756b31be948d70aaa8ee541dd94999 24-Nov-2010 Kenny Root <kroot@google.com> Change assets to use 64-bit API

The asset system and supporting libraries were using off_t instead of
off64_t to access files larger than 2GB (32-bit signed). This change
replaces all off_t with off64_t and lseek64.

There is a new utils/Compat.h added for Mac OS compatibility.

Also fixed some size-related compiler warnings.

Bug: 3205336
Change-Id: I9097b3cb7a602e811fe52f245939d8975da55e9e
ackage.cpp
esource.cpp
tringPool.cpp
7c71023b7f5aafac09bd2f0425fccb5fe2d22b27 23-Nov-2010 Kenny Root <kroot@google.com> Add knowledge of mipmap to aapt

New mipmap drawable type that does not get filtered according to
configuration. Useful for things that get built as part of the system.

Change-Id: I556033d065e504079271dce79c23c90d3c387ce4
ackage.cpp
esource.cpp
esourceTable.cpp
esourceTable.h
82849afd719037968ddcb58e14cec8685f702216 07-Nov-2010 Jean-Baptiste Queru <jbq@google.com> am 3442611e: am 5580e44c: Merge "Support changing style parent in overlays"

* commit '3442611ee11b2987c83054fe3c7ed5521f27f052':
Support changing style parent in overlays
41a4833bf2603d4194e470f783531581dd532545 07-Nov-2010 Scott Main <smain@google.com> am 4da6efc8: am 46151652: Merge "fix xlarge support in aapt for gingerbread" into gingerbread

* commit '4da6efc8a3ecfcf46a8988ad1d277ae00ed1f58c':
fix xlarge support in aapt for gingerbread
3442611ee11b2987c83054fe3c7ed5521f27f052 05-Nov-2010 Jean-Baptiste Queru <jbq@google.com> am 5580e44c: Merge "Support changing style parent in overlays"

* commit '5580e44c250944f5cd011b2682eea5cc2de9706c':
Support changing style parent in overlays
d58fb97ddf052b3ceac921ac7e936af990392b2c 05-Nov-2010 Scott Main <smain@google.com> fix xlarge support in aapt for gingerbread

Change-Id: I4d8872fb839a6eadc538055215d4455af328846c
ommand.cpp
5580e44c250944f5cd011b2682eea5cc2de9706c 04-Nov-2010 Jean-Baptiste Queru <jbq@google.com> Merge "Support changing style parent in overlays"
4f145c9674f814939cc91f699efe538b6c18cba0 21-Oct-2010 Patrick Scott <phanna@android.com> Fix debug statements and aapt assert.

ENABLE_PSEUDOLOCALIZE seems to not exist.

Change-Id: Ifef771a96938c7ff0f8b664142bb502030b8c543
MLNode.cpp
a0b46c9c441f017a2008ca8ee2c864987465996b 22-Oct-2010 Dianne Hackborn <hackbod@google.com> Implement issue #3116702: New manifest tags for supported screen sizes

Merged from GB.

Change-Id: I94730b54bcacd083f77708e84c35f4932a7b9d2e
ommand.cpp
a6d9c7c04c4b17d85ac70f4494777555655f3be1 22-Oct-2010 Dianne Hackborn <hackbod@google.com> Implement issue #3116702: New manifest tags for supported screen sizes DO NOT MERGE

Change-Id: Iabf64d86c89d387ffbfbc39f950d308a73fe17eb
ommand.cpp
1785627fb36a93a1cbc69a048de6ed6412f83de9 15-Oct-2010 Dan Morrill <morrildl@google.com> am b58af2b8: am 5c62ab0a: Merge "Adding a new <uses-gl-texture/> tag, to be used to enable apps to specify filtering based on support for OpenGL ES texture and texture compression formats." into gingerbread

Merge commit 'b58af2b8b3871436942d0e2c878c906bffaa2fb0'

* commit 'b58af2b8b3871436942d0e2c878c906bffaa2fb0':
Adding a new <uses-gl-texture/> tag, to be used to enable apps to specify
6f51fc14d0c3df8f9153ae5df992cc2731f099c8 13-Oct-2010 Dan Morrill <morrildl@google.com> Adding a new <uses-gl-texture/> tag, to be used to enable apps to specify
filtering based on support for OpenGL ES texture and texture compression
formats.

Change-Id: I993209a673579b296007ae2ba830d0275770dd11
ommand.cpp
0a226d84e1e67fc5a180d65246ed942266701fb8 01-Sep-2010 Anthony Newnam <anthony.newnam@garmin.com> Avoid pre-processing images when they won't be used

Change-Id: I24db3645c399f66dc7cc0e85909ce34b68ff829e
esource.cpp
58520b24d40bb2587f394a52535dab4f2736bab1 04-Oct-2010 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 10d5b096 to master

Change-Id: Id5c6ba651f72b48f0d70ee2ca64a6c9adf5e74f7
10d5b0966d1b6ab0e3b63c71d5325403e75b647e 04-Oct-2010 Dianne Hackborn <hackbod@google.com> am 407f625a: Add new API to find out whether external storage is removable.

Merge commit '407f625a9b8e356e765a5ec587c443af1f3aadb5' into gingerbread-plus-aosp

* commit '407f625a9b8e356e765a5ec587c443af1f3aadb5':
Add new API to find out whether external storage is removable.
407f625a9b8e356e765a5ec587c443af1f3aadb5 04-Oct-2010 Dianne Hackborn <hackbod@google.com> Add new API to find out whether external storage is removable.

This is implemented based on whether we are using the "nosdcard"
product. Needed to tweak aapt to allow use of the product attribute
with other resource definition tags besides strings.

Change-Id: I49922d23b52a34183a8e2f4d2515adaf1fc9149a
esourceTable.cpp
6f27ab8bd4aca5a43f6bf93cd68c43dde825bfa1 23-Sep-2010 Eric Fischer <enf@google.com> am 9c708358: am 37cedce1: Merge "Add an aapt option to allow string variations for different devices." into gingerbread

Merge commit '9c70835896b6c078ac4c8b2e30cb6cfba70bb9d7'

* commit '9c70835896b6c078ac4c8b2e30cb6cfba70bb9d7':
Add an aapt option to allow string variations for different devices.
9c70835896b6c078ac4c8b2e30cb6cfba70bb9d7 23-Sep-2010 Eric Fischer <enf@google.com> am 37cedce1: Merge "Add an aapt option to allow string variations for different devices." into gingerbread

Merge commit '37cedce14bc0e68e8bf27c2cecb181728226e6ed' into gingerbread-plus-aosp

* commit '37cedce14bc0e68e8bf27c2cecb181728226e6ed':
Add an aapt option to allow string variations for different devices.
90964040cabfc67f92a7c3322a02401bb6f8ae82 16-Sep-2010 Eric Fischer <enf@google.com> Add an aapt option to allow string variations for different devices.

The --product option to aapt is a comma-separated list of characteristics
of the device being built for. For example, --product nosdcard,grayscale
for a device with no SD card and a grayscale screen.

Strings can specify a product="characteristic" option to cause that version
of the string to be used only for that type of device. All such strings
should also specify, at the end of the block, product="default", which
will be used if none of the variations match. For example:

<string name="choose" product="bw">Choose black or white</string>
<string name="choose" product="grayscale">Choose a shade of gray</string>
<string name="choose" product="default">Choose a color</string>

The default characteristic will also be used when no --product option
is specified.

Change-Id: Ie6c1505599e02e15b7818e8be6ec47bc6ce71aaa
undle.h
ain.cpp
esourceTable.cpp
f14fafdb7d107b1303e6c93e54b20d457195dca2 11-Sep-2010 Xavier Ducrohet <xav@android.com> am fa888784: am 89fef418: Merge "Avoid pre-processing images when they won\'t be used"

Merge commit 'fa8887848e2877dd96e853dfcd52086f1b66c26b'

* commit 'fa8887848e2877dd96e853dfcd52086f1b66c26b':
Avoid pre-processing images when they won't be used
fa8887848e2877dd96e853dfcd52086f1b66c26b 10-Sep-2010 Xavier Ducrohet <xav@android.com> am 89fef418: Merge "Avoid pre-processing images when they won\'t be used"

Merge commit '89fef4183a3c58aebbbf66e894bbdc1ae9f634e9' into gingerbread-plus-aosp

* commit '89fef4183a3c58aebbbf66e894bbdc1ae9f634e9':
Avoid pre-processing images when they won't be used
578a57fc6bba6d19e31e91961ef5a9e86b890e4b 01-Sep-2010 Anthony Newnam <anthony.newnam@garmin.com> Avoid pre-processing images when they won't be used

Change-Id: Iffa31228ca95a2e29ccc0aa81bda0fc66922d577
esource.cpp
f156e752b50ec3bfe013c6a7af6b1c16b0dfa611 03-Sep-2010 Dianne Hackborn <hackbod@google.com> am 31103928: am 192b56d4: Merge "Implement #2964234: Add support for <uses-package> element to aapt" into gingerbread

Merge commit '31103928ed5b9091bcd7de74c8a49675d10c87e7'

* commit '31103928ed5b9091bcd7de74c8a49675d10c87e7':
Implement #2964234: Add support for <uses-package> element to aapt
43b6803095e41e6a1cf844a77813c6cdbdc84ec3 03-Sep-2010 Dianne Hackborn <hackbod@google.com> Implement #2964234: Add support for <uses-package> element to aapt

Change-Id: Ifb381f387cab7e5a99006691e330d0e3d9d0f250
ommand.cpp
8e9bfab2a3ce35b31350b8de18d024f4da6e3886 31-Aug-2010 Xavier Ducrohet <xav@android.com> Add a --debug-mode option to aapt.

When passed (with no needed parameters) to the aapt command line,
aapt will insert debuggable=true in the application node of the manifest
automatically.

This is to be used by the SDK tools to make true "debug" builds
that require no code/file change.

Change-Id: I909759caef499a91d10cc9a0902c6448c87e75ef
undle.h
ain.cpp
esource.cpp
d092f380021ca0520cc27b0272cd1a44d801d167 31-Aug-2010 Xavier Ducrohet <xav@android.com> am b4649ec7: am 23827557: Merge "Add a --debug-mode option to aapt." into gingerbread

Merge commit 'b4649ec720fa959b700a7a03c089bfdc61321d16'

* commit 'b4649ec720fa959b700a7a03c089bfdc61321d16':
Add a --debug-mode option to aapt.
6487b099231b1e5d36ae37a921399b028b3b3ad9 31-Aug-2010 Xavier Ducrohet <xav@android.com> Add a --debug-mode option to aapt.

When passed (with no needed parameters) to the aapt command line,
aapt will insert debuggable=true in the application node of the manifest
automatically.

This is to be used by the SDK tools to make true "debug" builds
that require no code/file change.

Change-Id: I6f0a7af7b7d51f26bb0ec012e6f142a6060b8618
undle.h
ain.cpp
esource.cpp
dc059804666c35abf51d09481f2fe5516339fcc6 26-Aug-2010 Kenny Root <kroot@google.com> am eb0e0f46: am 2e7427f3: Merge "Add LFH offset to verbose list of APK" into gingerbread

Merge commit 'eb0e0f465155bc9ec2c79741890fb65bd403e33a'

* commit 'eb0e0f465155bc9ec2c79741890fb65bd403e33a':
Add LFH offset to verbose list of APK
2e7427f39ec15dcb43cc1247372b53980be11d38 26-Aug-2010 Kenny Root <kroot@google.com> Merge "Add LFH offset to verbose list of APK" into gingerbread
fb2a9467ad77336edbf2a1a272dbe6ec30ef8a1b 25-Aug-2010 Kenny Root <kroot@google.com> Add LFH offset to verbose list of APK

The Local File Header (LFH) offset is printed in debugging cases when
the platform is inspecting APKs. This adds the LFH offset field to the
list of contents of an APK, so that it can be checked easily against the
Central Directory (CD).

Change-Id: I08f9a13256bfe6563c1a963c4f0289789b2e7857
ommand.cpp
ipEntry.h
74b58fc58bf6d2919049cf8ca5d7467a292049cb 25-Aug-2010 Brian Carlstrom <bdc@google.com> Fix linux 64 build

git cherry-pick -e 49416bc658e37a0f4ae4f2b7b8582dd1606fba0f

Change-Id: I37a689acea8aeb5d6ac92ee56b077bafe4fba170
ndroid.mk
cc5239b78b7d418d78d00bf9ee92192ccd851cda 24-Aug-2010 Dianne Hackborn <hackbod@google.com> am 8b569c8d: am 42f90ca5: Merge "Fix aapt dump badging to support xlarge screens." into gingerbread

Merge commit '8b569c8d49924d849793513a5418ef0350320962'

* commit '8b569c8d49924d849793513a5418ef0350320962':
Fix aapt dump badging to support xlarge screens.
8b569c8d49924d849793513a5418ef0350320962 20-Aug-2010 Dianne Hackborn <hackbod@google.com> am 42f90ca5: Merge "Fix aapt dump badging to support xlarge screens." into gingerbread

Merge commit '42f90ca54fc4c6e0bdbde7caa7d10b6090d11960' into gingerbread-plus-aosp

* commit '42f90ca54fc4c6e0bdbde7caa7d10b6090d11960':
Fix aapt dump badging to support xlarge screens.
8a44bb23c1f12ba58d0cb5732e3e216d48e7ccdb 19-Aug-2010 Dianne Hackborn <hackbod@google.com> Update aapt to find fragment references.

Add knowledge about <fragment class="..."> for layout files
and update to reflect the change of the header tag from Header.

Change-Id: I91e2a5f204a8e222367985383c1721030c7954d8
esource.cpp
f43489d7d5e1c0c5c9a7e54c22845fcb99765f81 20-Aug-2010 Dianne Hackborn <hackbod@google.com> Fix aapt dump badging to support xlarge screens.

Change-Id: Ieeb757cd48ad9b3f46c5e4aed9d5efaeac834049
ommand.cpp
2fda9f45623e888f71c6ea769305ccc4d9e76af2 02-Jun-2010 Martin Nordholts <martin.nordholts@sonyericsson.com> Support changing style parent in overlays

Package overlays makes it possible for vendors to tweak the look of
the platform and the applications without touching any platform or
application code directly. This makes package overlays an important
mechanism in the Android build system.

There is currently a limitation that forbids changing the parent of a
style. If vendors could change the parent of e.g. ‘CalendarTheme’
from Android’s vanilla ‘Theme’ to ‘VendorTheme’, then vendor
specific adjustments could be done without changing any code directly.

From looking at the code it can be seen that the parent value of a
style is stored temporarily in ResourceTable::Entry::mParent while
overlays are gone through in buildResources(), and processed (in
ResourceTable::Entry::assignResourceIds()) at first after all overlays
have been handled, so there aren’t any obvious reasons why changing
parent in an overlay should be forbidden.

Change-Id: I5969bb8aab90df437e1967fc504cc0da79107d13
esourceTable.cpp
af4798d9c3e32229131fe7d74a61bc81ce4172fd 17-Aug-2010 Ying Wang <wangying@google.com> am 8cfd3c01: am e05184f2: Merge "Output proguard keep flags for fragment classes." into gingerbread

Merge commit '8cfd3c01e4582a587765588c02234527e7808ca0'

* commit '8cfd3c01e4582a587765588c02234527e7808ca0':
Output proguard keep flags for fragment classes.
fed762b944efb690b10ca2705f02343dda0aab03 16-Aug-2010 Eric Fischer <enf@google.com> am d22a1e89: am 244152bf: Merge "Change aapt\'s warning message to suggest formatted="false", not "true"." into gingerbread

Merge commit 'd22a1e896cbc7e86d57be9923d749b017b3cde79'

* commit 'd22a1e896cbc7e86d57be9923d749b017b3cde79':
Change aapt's warning message to suggest formatted="false", not "true".
8cfd3c01e4582a587765588c02234527e7808ca0 14-Aug-2010 Ying Wang <wangying@google.com> am e05184f2: Merge "Output proguard keep flags for fragment classes." into gingerbread

Merge commit 'e05184f271f9882a5bf828e353aea40e0c06ff69' into gingerbread-plus-aosp

* commit 'e05184f271f9882a5bf828e353aea40e0c06ff69':
Output proguard keep flags for fragment classes.
e05184f271f9882a5bf828e353aea40e0c06ff69 14-Aug-2010 Ying Wang <wangying@google.com> Merge "Output proguard keep flags for fragment classes." into gingerbread
d22a1e896cbc7e86d57be9923d749b017b3cde79 13-Aug-2010 Eric Fischer <enf@google.com> am 244152bf: Merge "Change aapt\'s warning message to suggest formatted="false", not "true"." into gingerbread

Merge commit '244152bfb9020341953d3e541c85eb3961806378' into gingerbread-plus-aosp

* commit '244152bfb9020341953d3e541c85eb3961806378':
Change aapt's warning message to suggest formatted="false", not "true".
244152bfb9020341953d3e541c85eb3961806378 13-Aug-2010 Eric Fischer <enf@google.com> Merge "Change aapt's warning message to suggest formatted="false", not "true"." into gingerbread
98ee11ddb7996b332d5e31f8bdff69631c8d3725 13-Aug-2010 Eric Fischer <enf@google.com> Change aapt's warning message to suggest formatted="false", not "true".

True is the default and specifying it won't suppress the warning.

Change-Id: I8ecc919b4059bf3321e781649cb46dd2d3807592
MLNode.cpp
41e567f7cf3d3e68b88118728c8bd2c3967eff42 13-Aug-2010 Ficus Kirkpatrick <ficus@android.com> Add --max-res-version flag to aapt.

aapt will ignore any versioned resource directories over the
specified version (if used). e.g. --max-res-version=6 will
cause layout-land-v7 to be ignored.

Merged from gingerbread.

Change-Id: I71b889540380cb10bafb40f72582d3af785ae33a
aptAssets.cpp
undle.h
ain.cpp
0f414272ccb9c387f41ad3bb5ee464a6f0b646a4 13-Aug-2010 Ficus Kirkpatrick <ficus@android.com> am 7525c2cf: Merge "Add --max-res-version flag to aapt." into gingerbread

Merge commit '7525c2cfbbaa5c947c029008ef490e93a50c064f' into gingerbread-plus-aosp

* commit '7525c2cfbbaa5c947c029008ef490e93a50c064f':
Add --max-res-version flag to aapt.
588f228d6a3e3b254fbc1f13f29ee47e13a669c1 13-Aug-2010 Ficus Kirkpatrick <ficus@android.com> Add --max-res-version flag to aapt.

aapt will ignore any versioned resource directories over the
specified version (if used). e.g. --max-res-version=6 will
cause layout-land-v7 to be ignored.

Merged from froyo.

Change-Id: Ia4eabae535b95b75d18b0c83135d44ed9a95b9eb
aptAssets.cpp
undle.h
ain.cpp
561a91824fbfcdae9031fb2cdbb745578a969981 13-Aug-2010 Ying Wang <wangying@google.com> Output proguard keep flags for fragment classes.

Change-Id: I28c10fbf18b91f8ba3dfc2575cd41215f65f11ec
Bug: 2916847
esource.cpp
f252b3501e6a9893ba3cc7608dbdeab68d8aecb9 11-Aug-2010 Jean-Baptiste Queru <jbq@google.com> am f781b4ef: am e37ab632: Merge "Fix build on some linux machines"

Merge commit 'f781b4ef4bd840b7cee83fafdf2e31e709068bd3'

* commit 'f781b4ef4bd840b7cee83fafdf2e31e709068bd3':
Fix build on some linux machines
f781b4ef4bd840b7cee83fafdf2e31e709068bd3 11-Aug-2010 Jean-Baptiste Queru <jbq@google.com> am e37ab632: Merge "Fix build on some linux machines"

Merge commit 'e37ab63221af94d69437741a3645fc0e14a680bc' into gingerbread-plus-aosp

* commit 'e37ab63221af94d69437741a3645fc0e14a680bc':
Fix build on some linux machines
b7ffaf6ae29f300c2d8e9c77e58710adfa388633 21-Jan-2009 hmepas <hmepas@gmail.com> Fix build on some linux machines

This adds -lpthread on linux for aapt and localize, which appear to be
needed on some linux distros.

Signed-off-by: Jean-Baptiste Queru <jbq@google.com>
ndroid.mk
f1ff21ac62a51f5ba8ca0821ea8a90f70957e25d 14-Jun-2010 Steve Block <steveblock@google.com> Fixes a few minor problems with AAPT

- Fixes casting problems with stricter compilers
- Adds a couple of missing ifdef guards

This is a first step toward being able to generate APKs on the fly on the device.

Bug: 2766918
Change-Id: Icaaee5a4032afa313256add321b447443861dd85
ommand.cpp
ackage.cpp
esource.cpp
esourceTable.cpp
tringPool.cpp
MLNode.cpp
ipFile.h
45378f07b8c0d79fe56fc75ad25738f8750e88c8 17-Jun-2010 Dan Morrill <morrildl@google.com> am 6b22d81a: As Donut (API=4) devices and earlier do not have a Bluetooth API, .apk files that have minSdkLevel (or targetSdkLevel) set to 4 or lower should not be presumed to require Bluetooth just because they take the permission.

Merge commit '6b22d81aa35d9a9b32670995c002e92588b2fe09' into gingerbread

* commit '6b22d81aa35d9a9b32670995c002e92588b2fe09':
As Donut (API=4) devices and earlier do not have a Bluetooth API, .apk files
6b22d81aa35d9a9b32670995c002e92588b2fe09 16-Jun-2010 Dan Morrill <morrildl@google.com> As Donut (API=4) devices and earlier do not have a Bluetooth API, .apk files
that have minSdkLevel (or targetSdkLevel) set to 4 or lower should not be
presumed to require Bluetooth just because they take the permission.

Change-Id: Ia629e9ef0425a577e4e14f9b348f5aa2b39c1e74
ommand.cpp
9a5fcd1c14dcea951099433885ed3519dee90f48 16-Jun-2010 Joe Onorato <joeo@android.com> am 9d71860e: Merge "The aapt and aidl tools are prebuilt when we\'re doing an apps-only build, so don\'t try to build them." into froyo

Merge commit '9d71860e8cbaf16ddae3cd5d06ede8e6cfc7675a' into gingerbread

* commit '9d71860e8cbaf16ddae3cd5d06ede8e6cfc7675a':
The aapt and aidl tools are prebuilt when we're doing an apps-only build, so don't try to build them.
74905e5b0a471f727ae5bed770c2c7441f5163a1 11-Jun-2010 Joe Onorato <joeo@android.com> The aapt and aidl tools are prebuilt when we're doing an apps-only build, so don't try to build them.

Change-Id: I9896b11a9b90cbbbe2170243c8bdbc40231dfbff
ndroid.mk
168585ed68f03ddc851cd734cbb6ba813e30eb85 06-Jun-2010 Dianne Hackborn <hackbod@google.com> am 5474902f: Merge "xhdpi" into froyo

Merge commit '5474902fe9fe72c825855c4a77f99a581a9f6594' into kraken

* commit '5474902fe9fe72c825855c4a77f99a581a9f6594':
xhdpi
588feee5e771de5ec71da213fbb1cba29392c690 04-Jun-2010 Dianne Hackborn <hackbod@google.com> xhdpi

This is only a tool (aapt) change, and does not impact any current code.

Change-Id: I562063f612af919eaadba8ac4868a95ff41ac840
aptAssets.cpp
15fe2cb73b0770316db302f6502f568062d68e74 29-May-2010 Kenny Root <kroot@google.com> Add error checking for translatable strings

Translatable strings that have multiple substitutions should use
positional String.format() substitutions. This change makes it an error
not to use that format on translatable strings that have more than one
substitution in its text.

Change-Id: I3a19707f3804aa24e8568dc1653a11576cac5916
esourceTable.cpp
MLNode.cpp
MLNode.h
6a22fb9bef2c7e7b5cf53b356e81339f6699e551 04-May-2010 Dan Morrill <morrildl@google.com> am f7ebcfec: am e17b4e71: Merge "Adding the backward-compatible filtering heuristics for the new device features definitions added in FroYo." into froyo

Merge commit 'f7ebcfeccbd4433be5252857a854a6b565bf3fb9' into kraken

* commit 'f7ebcfeccbd4433be5252857a854a6b565bf3fb9':
Adding the backward-compatible filtering heuristics for the new device
89d97c1418c7a8b54fd57cc90daa1b1a98848bf6 04-May-2010 Dan Morrill <morrildl@google.com> Adding the backward-compatible filtering heuristics for the new device
features definitions added in FroYo.

Change-Id: I5024e45c62813fe2fd2ff4d222df816a86a94f86
ommand.cpp
14cee9f688c32d63d8521188e7422811629bb7c2 24-Apr-2010 Dianne Hackborn <hackbod@google.com> New xlarge screen size.

Not complete, only for experimentation at this point.

This includes a reworking of how screen size configurations are matched,
so that if you are on a larger screen we can select configurations for
smaller screens if there aren't any exactly matching the current screen.

The screen size at which we switch to xlarge has been arbitrarily
chosen; the compatibility behavior has not yet been defined.

Change-Id: I1a33b3818eeb51a68fb72397568c39ab040a07f5
aptAssets.cpp
29355534384ee24bfe9a3bc97d7664dbe478b4fb 14-Apr-2010 Raphael <raphael@google.com> Fix aapt to build in Windows SDK under Linux

(Merge master Change Ic4a7b9e4)
ndroid.mk
c9f3088036dd7cce6903e307afea3e289a334036 24-Mar-2010 Kenny Root <kroot@google.com> Use correct API version for UTF-8 checking

Use the constant for checking the API version in aapt instead of a bare
number.

Bug: 2541326
Change-Id: Ice7af7b393363a00f1832dd84753b8138d057fb4
undle.h
esource.cpp
esourceTable.cpp
ed9830999aede5e827b31446f91ad90a37b8bba9 18-Mar-2010 Kenny Root <kroot@google.com> Make aapt warning concise

The previous warning made it seem like it could be using the value
specified on the command line, but, in fact, it would ignore the command
line value if it were already specified in the AndroidManifest.xml

Change-Id: I15e8161e094f17412680d25d3b7b810474eb4a31
esource.cpp
1741cd4904414b5b4e768953a8f1abb3f0ef0a0a 18-Mar-2010 Kenny Root <kroot@google.com> Fix minSdkVersion scanning to not throw warnings

For the UTF8/UTF16 switch code, we needed to know what was the
minSdkVersion specified as early as possible. Unfortunately, this threw
warnings when the SDK was compiling since we always set this field in
the Bundle.

This splits out the field used by the initial AndroidManifest.xml scan
to a separate one that we won't attempt to re-insert into the
AndroidManifest.xml This also switches the logic to better reflect the
preference of UTF-8 over UTF-16; previously UTF-16 was the default.

Change-Id: Ia81f6b21047043ebb711eb24c2c3718534979ef6
undle.h
ain.cpp
esource.cpp
esourceTable.cpp
9e652a67ca46c1841993a806e67822fc45b4dc42 12-Mar-2010 Kenny Root <kroot@google.com> Give an 9-patch error on too many rows and columns

When you have too many rows and columns, there are not enough colors in
the 9-patch private metadata to represent them. Instead of crashing
aapt, this change gives the user an error message telling them why it's
invalid.

Change-Id: I5e7bd59472a3a2eafa7cbc263792458cce2b5594
mages.cpp
774562275fa76681933a0105ed61c672892b23bd 10-Mar-2010 Kenny Root <kroot@google.com> Revert "Dedupe resource config pointers"

This reverts commit 7b467d8b44c00d14590c021928b6a9ad5a36348e.
esourceTable.cpp
esourceTable.h
7b467d8b44c00d14590c021928b6a9ad5a36348e 10-Mar-2010 Kenny Root <kroot@google.com> Dedupe resource config pointers

When there are two configs in a StringPool that would match a string ID
only keep the more generic entry to save some space. This means that if
you have both "es" and "es_US" translations that have the same
translation, the string entry would be removed from the "es_US" config.

Change-Id: I4d619942d35ddb477e2eabe4437b7f02697c24de
esourceTable.cpp
esourceTable.h
cf244ada58539ce857ec041d7288d0271204fbb6 10-Mar-2010 Dianne Hackborn <hackbod@google.com> Add ability for some manifest attributes to reference resources.

This loosens our restriction on many manifest attributes requiring
literal string values, to allow various ones to use values from
resources. This is only allowed if the resource value does not change
from configuration changes, and the restriction is still in place
for attributes that are core to security (requesting permissions) or
market operation (used libraries and features etc).

Change-Id: I4da02f6a5196cb6a7dbcff9ac25403904c42c2c8
ommand.cpp
esource.cpp
esourceTable.cpp
esourceTable.h
cd47f11dfad012be1b176ea06904a00da157ed7b 05-Mar-2010 Ed Heyl <edheyl@google.com> Merge "Change an aapt "warning" from "*** " to "**** " (from three to four stars). "*** " (three stars and a space) is the 'magic make error string'; so this change makes it easier to find the real issues/errors in build logs. Besides, other aapt messages are "**** "."
65e185b51ec655518f1917418cd6192400ac439d 05-Mar-2010 Ed Heyl <edheyl@google.com> Change an aapt "warning" from "*** " to "**** " (from three to four stars).
"*** " (three stars and a space) is the 'magic make error string'; so this change makes it
easier to find the real issues/errors in build logs. Besides, other aapt messages are "**** ".
esourceTable.cpp
ee2b21dba2740dcb47a68b8d1ed671b425c96948 05-Mar-2010 Xavier Ducrohet <xav@android.com> Merge "Fix potential aapt crash when processing overlay."
83f4c0994fd34f9b35eeb2c14908d9e6c2e15930 05-Mar-2010 Xavier Ducrohet <xav@android.com> Fix potential aapt crash when processing overlay.

If an overlay has a type of resources that's not defined in
the main res pool, then aapt would crash.

This dynamically create new ResourceTypeSet when needed
when processing the overlays

Change-Id: I67bc3622281bde73cf42f37a0983798d3f658ce2
esource.cpp
7299c41630935a2b106e73e5603579a7747f7535 05-Mar-2010 Dianne Hackborn <hackbod@google.com> Refactor car mode.

Extract all UI behavior from dock observer and ACTION_DOCK_EVENT.

Also introduce a desk type to go along with the car type all through
the resource system, since we now need to have corresponding high-level
broadcasts for desk dock mode. As part of that I also reworked some
of the logic for switching modes to all funnel through a single
update() call that looks all of the current state to decide what to
do next, and fixed various locking issues.

In addition I found there were bugs in the configuration change
handling causing us to only switch into the car mode config and
then never get out of it. Unfortunately now that we are actually
changing the configuration for each mode change, the transitions
between them are really crummy as we restart all kinds of
activities. :(
aptAssets.cpp
b0381efaf71e917214cec78ed1c35eb688454e93 03-Mar-2010 Dianne Hackborn <hackbod@google.com> Fix issue #2485441: SettingsBackupAgent crashed system server

Need to take care of fixing up backupAdjust as well as reporting it
to ProGuard.
esource.cpp
abd03658bc4cd925bf89d60f49d0c56351cf08da 02-Mar-2010 Dianne Hackborn <hackbod@google.com> Fix issue #2482423: Settings is broken due to dead-code stripping

Take care of more custom classes in layouts, and also scan through
preference XMLs.
esource.cpp
ef05e076ced1a32c5c0aaee28403779834adb2ba 02-Mar-2010 Dianne Hackborn <hackbod@google.com> Fix issue #2448075: aapt doesn't fix up activity-alias android:targetActivity links

And related:

- The aapt tool now sets a resource configurations sdk level to match any configs
that have been set (for example if you specify density your sdk level will be
at least 4).
- New option to modify the targetPackage attribute of instrumentation.
- Clean up of aapt options help.
- Fix of UI type values to leave 0 for "unspecified".
- Make the UI mode config APIs public.
aptAssets.cpp
aptAssets.h
undle.h
ommand.cpp
ain.cpp
esource.cpp
7ff20e30c50cf1d47a7eaacd71665a1d2f4ecdc4 25-Feb-2010 Kenny Root <kroot@google.com> Create own reference for minSdkVersion in aapt

Fix bug where applications defining a minSdkVersion were experiencing
transient errors from memory corruption in aapt.

Change-Id: I839d5eda7388baac6133e735fa59f9799ca2822d
esource.cpp
5a8ec761213d723fc3a6a92250e5e855605046a6 25-Feb-2010 Kenny Root <kroot@google.com> Scan for android namespace in manifest

android:minSdkVersion wasn't being correctly scanned because the
namespace was incorrect. This fixes that problem so packages aren't
generated as UTF-8 when minSdkVersion is less than 7.

Change-Id: I8f45d47ea886915da6a4770f6e111e6085d61bee
esource.cpp
780d2a1b714724d85227141c76b3c64f543f00b4 23-Feb-2010 Kenny Root <kroot@google.com> Use UTF-8 strings to avoid duplicate caching, part 1

StringBlock instances containing UTF-8 strings use a cache to convert
into UTF-16, but using that cache and then using a JNI call to NewString
causes the UTF-8 string as well as two copies of the UTF-16 string to
be held in memory. Getting the UTF-8 string directly from the StringPool
eliminates one copy of the UTF-16 string being held in memory.

This is part 1. Part 2 will include ResXMLParser optimizations.

Change-Id: Ibd4509a485db746d59cd4b9501f544877139276c
tringPool.cpp
e599f78e7785d41902d7525c71d487b36d8ccca2 19-Feb-2010 Kenny Root <kroot@google.com> Use direct reference to enum in AaptAssets

The second argument to the getNavHiddenName can be NULL, so use a direct
reference to the class to get the enum values instead of the argument.

Change-Id: I0444572c23cb4de9e7da15a8310a49cf4619bb15
aptAssets.cpp
5706329cf42db714582fa698eb9f408350276f16 18-Feb-2010 Kenny Root <kroot@google.com> Merge "Change buf size holding integer in ResourceTable"
f5a7c121dd3abb9763c30115c772fd1fc03caea2 18-Feb-2010 Kenny Root <kroot@google.com> Change buf size holding integer in ResourceTable

A 32-bit integer can be 10 characters long plus a byte for \0 at the
end.

Change-Id: I58040fe6e1674e78bcc6e07463ff36fb26e280f4
esourceTable.cpp
fedfea24e7de98b4fde13d6f79e6db37d9f0e169 18-Feb-2010 Kenny Root <kroot@google.com> Fix enum reference

Was using argument that is set default to NULL as a shortcut to an
enum's value. Change it to reference to class directly to avoid a null
pointer dereference.

Change-Id: I16b8ee15af4f095f027113131d574b70768994b0
aptAssets.cpp
e2c17f9174144a6eca3fdbed8d5d1370f318f549 12-Feb-2010 Jeff Hamilton <jham@android.com> Dump original-package entries.

Change-Id: I29b20811847555ff9858ef47cca69c8b992b24ea
ommand.cpp
27b28b3f62bd3b54fa13acd5d035940b9be464f3 09-Feb-2010 Tobias Haamel <haamel@google.com> Introduce special UI modes for night and car usage.

The device mode is now called ui mode. Furthermore is the order of
precedence for the resources now in such a way that the ui mode needs
to be specified after the orientation and before the density.

The ui mode can be set, like it is done for the locale, as follows:

IActivityManager am = ActivityManagerNative.getDefault();
Configuration config = am.getConfiguration();
config.uiMode = Configuration.UI_MODE_TYPE_CAR | Configuration.UI_MODE_NIGHT_ANY;
am.updateConfiguration(config);

To allow users to disable the car mode and set the night mode the IUiModeManager
interface is used.

The automatic night mode switching will be added in a separate change.
aptAssets.cpp
aptAssets.h
esource.cpp
esourceTable.cpp
99080c7d9ad9e5ccfec70dd10e4c24468a960c45 05-Feb-2010 Xavier Ducrohet <xav@android.com> Add --auto-add-overlay option to aapt.

This option allows resources only present in overlays to be
added automatically instead of being declared through <add-resource>

Change-Id: Iff782311056f6a045193e57d204f7d3413e11b26
undle.h
ain.cpp
esourceTable.cpp
esourceTable.h
2fee0ed6eb99b211efa06f095a41268a2021214a 06-Jan-2010 Jeff Hamilton <jham@android.com> Add the --rename-manifest-package option to aapt.

It allows you to force override the manifest
package listed in the AndroidManifest.xml when
creating an APK file.

Change-Id: I7eac7943c4e56610b65728ae54773a273634fd9d
undle.h
ain.cpp
esource.cpp
tringPool.cpp
MLNode.cpp
MLNode.h
15900779058611c1a082724486cb0a49c50ae606 28-Jan-2010 Ying Wang <wangying@google.com> am 6efe03b1: am 6f9e2c64: Merge "Find layout classes in all "layout-*" dirs." into eclair

Merge commit '6efe03b19e0734361b262f9a0be4d225088d7f9e'

* commit '6efe03b19e0734361b262f9a0be4d225088d7f9e':
Find layout classes in all "layout-*" dirs.
b70efcbbb1ae0672c43da86511daf49d177d8ed8 22-Jan-2010 Ying Wang <wangying@google.com> am 3c05f1fb: am b5fb50a1: Merge "Add instrumentation as a source tag for proguard keep options." into eclair

Merge commit '3c05f1fbac2ce35483f61dbd5d5bfb6341da6d9c'

* commit '3c05f1fbac2ce35483f61dbd5d5bfb6341da6d9c':
Add instrumentation as a source tag for proguard keep options.
6efe03b19e0734361b262f9a0be4d225088d7f9e 21-Jan-2010 Ying Wang <wangying@google.com> am 6f9e2c64: Merge "Find layout classes in all "layout-*" dirs." into eclair

Merge commit '6f9e2c648c0588a2eedef2746c9750ed9c6945be' into eclair-plus-aosp

* commit '6f9e2c648c0588a2eedef2746c9750ed9c6945be':
Find layout classes in all "layout-*" dirs.
c111296b97d51147f8c9448c7c27b53309ee6f39 21-Jan-2010 Ying Wang <wangying@google.com> Find layout classes in all "layout-*" dirs.

Before this CL, the generated keep flags for layout classes are incomplete,
such as layout classes in res/layout-port/ and res/layout-land and so on.
esource.cpp
3c05f1fbac2ce35483f61dbd5d5bfb6341da6d9c 19-Jan-2010 Ying Wang <wangying@google.com> am b5fb50a1: Merge "Add instrumentation as a source tag for proguard keep options." into eclair

Merge commit 'b5fb50a133c6fc7fc93d6241912dd9ec24de6ace' into eclair-plus-aosp

* commit 'b5fb50a133c6fc7fc93d6241912dd9ec24de6ace':
Add instrumentation as a source tag for proguard keep options.
46f4b9827efaceb0ceae49f06130caa2d2b9743e 13-Jan-2010 Ying Wang <wangying@google.com> Add instrumentation as a source tag for proguard keep options.
esource.cpp
ffebd7c2cc267ee0c33378e0c3b3b0ff260ba150 13-Jan-2010 Ying Wang <wangying@google.com> am b4f41119: am a1d08886: Merge "Only output proguard keep for nonempty attribute name in the AndroidManifest.xml." into eclair

Merge commit 'b4f41119044e5ec7f7b76ed4ac02b5cfbaeb474d'

* commit 'b4f41119044e5ec7f7b76ed4ac02b5cfbaeb474d':
Only output proguard keep for nonempty attribute name in the AndroidManifest.xml.
b4f41119044e5ec7f7b76ed4ac02b5cfbaeb474d 13-Jan-2010 Ying Wang <wangying@google.com> am a1d08886: Merge "Only output proguard keep for nonempty attribute name in the AndroidManifest.xml." into eclair

Merge commit 'a1d08886ec8549878ad16c19754a3239706fb61b' into eclair-plus-aosp

* commit 'a1d08886ec8549878ad16c19754a3239706fb61b':
Only output proguard keep for nonempty attribute name in the AndroidManifest.xml.
4199528aab2cbc3ba3c6540670fabb2040c8e081 13-Jan-2010 Ying Wang <wangying@google.com> Only output proguard keep for nonempty attribute name in the AndroidManifest.xml.

Before this change, aapt generates proguard keep flags like
"-keep class com.android.somepackage.", which proguard doesn't recognize.
esource.cpp
93cee56d87ef9571e7f535d0bf356b160d5f6710 07-Jan-2010 Dianne Hackborn <hackbod@google.com> am ce56857e: am cb2d50d0: Fix issue #2357259: aapt tool prints "uses-configuation:"

Merge commit 'ce56857ef72538c197afd91b9f30dc868d2667d9'

* commit 'ce56857ef72538c197afd91b9f30dc868d2667d9':
Fix issue #2357259: aapt tool prints "uses-configuation:"
ce56857ef72538c197afd91b9f30dc868d2667d9 06-Jan-2010 Dianne Hackborn <hackbod@google.com> am cb2d50d0: Fix issue #2357259: aapt tool prints "uses-configuation:"

Merge commit 'cb2d50d0d6e2e37ae02b014999da23ecd32038b8' into eclair-plus-aosp

* commit 'cb2d50d0d6e2e37ae02b014999da23ecd32038b8':
Fix issue #2357259: aapt tool prints "uses-configuation:"
cb2d50d0d6e2e37ae02b014999da23ecd32038b8 06-Jan-2010 Dianne Hackborn <hackbod@google.com> Fix issue #2357259: aapt tool prints "uses-configuation:"

Change-Id: Id3ea3a86bd4d385441b05fcbe85b8ab62c35afff
ommand.cpp
451c850fd60aca5372810a5413636fda25d93438 15-Dec-2009 Kenny Root <kroot@google.com> am 15f1bfb0: Merge change I70d0bddb into eclair-mr2

Merge commit '15f1bfb0d29915ed1790b22a00fd7032f035ddb0' into eclair-mr2-plus-aosp

* commit '15f1bfb0d29915ed1790b22a00fd7032f035ddb0':
Revise aapt options for UTF8/16 encoding
745e17a07c77aa6b347d9e75c99eb3fcb381bc5d 11-Dec-2009 Kenny Root <kroot@google.com> Revise aapt options for UTF8/16 encoding

Remove option to force UTF-8 encoding which could corrupt packages meant
for systems before API level 7. Added switch to allow encoding for UTF-16
which will allow API 7 and later to encode resources in UTF-16.

Change-Id: I70d0bddb0dfd12dcbd08c95f613dcfe896ae680b
undle.h
ain.cpp
cdbf5746fcbee26bed74090e22aff761d1b4da3b 11-Dec-2009 Kenny Root <kroot@google.com> am b5ef7ee1: Default to UTF8 resources when packaging with aapt

Merge commit 'b5ef7ee1644b099498ddd29c1d051e7ee26ccfd3' into eclair-mr2-plus-aosp

* commit 'b5ef7ee1644b099498ddd29c1d051e7ee26ccfd3':
Default to UTF8 resources when packaging with aapt
b5ef7ee1644b099498ddd29c1d051e7ee26ccfd3 10-Dec-2009 Kenny Root <kroot@google.com> Default to UTF8 resources when packaging with aapt

This change makes it so with API level 7 and above all resources will be
packaged in UTF-8 format. Any minSdkVersion level that is named will also
have resources packaged in UTF-8, because it is assumed that previous
releases will only be rebuilt with their proper integer number and only
future releases will temporarily have names.

Change-Id: If5d1ee5e48fbaf31798816b068ac44b14a93121b
undle.h
esource.cpp
926d1a22007d94ef2b29ec979ab6038fa8d9e40e 11-Dec-2009 Jean-Baptiste Queru <jbq@google.com> am a5a8cc13: resolved conflicts for merge of ce307f88 to eclair-mr2

Merge commit 'a5a8cc13d3f906650a1eb17e20e1b26d68b78453' into eclair-mr2-plus-aosp

* commit 'a5a8cc13d3f906650a1eb17e20e1b26d68b78453':
Add --custom-package to aapt
a5a8cc13d3f906650a1eb17e20e1b26d68b78453 11-Dec-2009 Jean-Baptiste Queru <jbq@google.com> resolved conflicts for merge of ce307f88 to eclair-mr2
9af0c6facbbc86acba23ca0937fb94842d0c10c6 10-Dec-2009 Xavier Ducrohet <xav@android.com> am ce307f88: Merge change Ie4cdb5a3 into eclair

Merge commit 'ce307f889b509143899a2221359219fbc91b618c' into eclair-plus-aosp

* commit 'ce307f889b509143899a2221359219fbc91b618c':
Add --custom-package to aapt
5cd6fcd518d47d1974a10fccf3c3d5431a83307a 10-Dec-2009 Kenny Root <kroot@google.com> am e6c0e993: Merge change I129483f8 into eclair-mr2

Merge commit 'e6c0e99334bc2f47e5d36db253ac8f166047c03b' into eclair-mr2-plus-aosp

* commit 'e6c0e99334bc2f47e5d36db253ac8f166047c03b':
Optional use of UTF-8 strings in resource bundles
19138468caf7050d482dc15f35a344eab11bb756 04-Dec-2009 Kenny Root <kroot@google.com> Optional use of UTF-8 strings in resource bundles

Allows the use of UTF-8 for packing resources instead of the
default of UTF-16 for Java. When strings are extracted from the
ResStringPool, they are converted to UTF-16 and the result is
cached for subsequent calls.

When using aapt to package, add in the "-8" switch to pack the
resources using UTF-8. This will result in the value, key, and
type strings as well as the compiled XML string values taking
significantly less space in the final application package in
most scenarios.

Change-Id: I129483f8b3d3b1c5869dced05cb525e494a6c83a
undle.h
ommand.cpp
ain.cpp
esource.cpp
esourceTable.cpp
esourceTable.h
tringPool.cpp
tringPool.h
MLNode.cpp
MLNode.h
88721afe2f161ae23de952b790aaa8b4d3560ba8 21-Aug-2009 Kenny Root <kenny@the-b.org> Fix bitmask in aapt's StringPool length construction

The StringPool indicates the length of a string with a 16-bit
integer. If the length of the string is greater than 0x7FFF,
it splits it into two 16-bit integers with the first one
having the high bit set.

The length calculation has a small bug that masks off the
19 bits instead of the first 15 bits as intended.
tringPool.cpp
63459ad555c10de1f316d6de01fc3cd0c0aaa457 01-Dec-2009 Xavier Ducrohet <xav@android.com> Add --custom-package to aapt

This is needed to add library support to the SDK.

The goal is to have libraries and main project use the same
package for the R/Manifest classes to that they can share code
and resources.

BUG 2293994

Change-Id: Ie4cdb5a3bdabe1760a91316fd8969e4f53344bf9
undle.h
ommand.cpp
ain.cpp
5b40ead81bdd350c3f4a585d851d91e5bec0c5c6 04-Nov-2009 Dirk Dougherty <ddougherty@google.com> am 0d55daff: am 5fc71e67: am 00e44ef2: Merge change I54545dfd into eclair-sdk

Merge commit '0d55daffc31c123dcf83f6db85f8198854ddc564' into eclair-mr2-plus-aosp

* commit '0d55daffc31c123dcf83f6db85f8198854ddc564':
doc change: fix broken R.styleable formatting (caused by missing periods). Adjust table markup.
16c7f4474e3e05ce7d7f7dd5ab8e43dab8a3e72e 04-Nov-2009 Dirk Dougherty <ddougherty@google.com> am 5fc71e67: am 00e44ef2: Merge change I54545dfd into eclair-sdk

Merge commit '5fc71e67498ed64ad2d41c23471b008f93cb580e' into eclair-plus-aosp

* commit '5fc71e67498ed64ad2d41c23471b008f93cb580e':
doc change: fix broken R.styleable formatting (caused by missing periods). Adjust table markup.
5fc71e67498ed64ad2d41c23471b008f93cb580e 04-Nov-2009 Dirk Dougherty <ddougherty@google.com> am 00e44ef2: Merge change I54545dfd into eclair-sdk

Merge commit '00e44ef21777f32b67a8d51ee375cd290a3fb2d4' into eclair

* commit '00e44ef21777f32b67a8d51ee375cd290a3fb2d4':
doc change: fix broken R.styleable formatting (caused by missing periods). Adjust table markup.
59ad275e937bb3c32e59bc01d86f484e7b4bdbe1 04-Nov-2009 Dirk Dougherty <ddougherty@google.com> doc change: fix broken R.styleable formatting (caused by missing periods). Adjust table markup.

Bug: 2230588
Change-Id: I54545dfd9d26acef567e586cfc916f6b883a4de7
esource.cpp
esourceTable.cpp
16b696af615447dd98c2291e5b6bffeb5a723278 20-Oct-2009 Doug Zongker <dougz@android.com> am 617262d8: Merge change I37c4157d into eclair

Merge commit '617262d8f57362536ddc00a070c1c0994741de44' into eclair-plus-aosp

* commit '617262d8f57362536ddc00a070c1c0994741de44':
add "junk path" -k option to aapt (DO NOT MERGE)
37c4157d7cdad71dc9abc93d652e81c33e346d93 20-Oct-2009 Doug Zongker <dougz@android.com> add "junk path" -k option to aapt (DO NOT MERGE)

Adds a "junk path" option to aapt so that you can do:

aapt add -k archive.zip path/to/some.file

and have the file stored in the zip under the name "some.file"
(without the path). Needed so that we can use 'aapt add' in place of
'zip -j' when building jar files, which will lead to smaller
incremental OTAs.

(This is a cherry-pick of a change already submitted to eclair-mr2;
the change was approved for mr1.)
undle.h
ommand.cpp
ain.cpp
b80d1d0cc8b75b9e51c94169892f1d03cdcd788a 13-Oct-2009 Doug Zongker <dougz@android.com> am afbf8afa: Merge change I564b5b00 into eclair-mr2

Merge commit 'afbf8afa858a78b66c19f11cfda030e913b34085' into eclair-mr2-plus-aosp

* commit 'afbf8afa858a78b66c19f11cfda030e913b34085':
add "junk path" -k option to aapt
dbe7a68cc13ae135b33769918932838d2d447169 09-Oct-2009 Doug Zongker <dougz@android.com> add "junk path" -k option to aapt

Adds a "junk path" option to aapt so that you can do:

aapt add -k archive.zip path/to/some.file

and have the file stored in the zip under the name "some.file"
(without the path). Needed so that we can use 'aapt add' in place of
'zip -j' when building jar files, which will lead to smaller
incremental OTAs.
undle.h
ommand.cpp
ain.cpp
041653714524b37972169071e7569d2432ae8747 25-Sep-2009 Raphael <raphael@google.com> am 20b39471: Merge change 26933 into eclair

Merge commit '20b394719daa218be7ff767fad024504f12e937b' into eclair-plus-aosp

* commit '20b394719daa218be7ff767fad024504f12e937b':
AAPT: Ignore visual source safe files in resources
3cdfc042dca4264bdd2e51320f7edb81fd8f9ee0 25-Sep-2009 Raphael <raphael@google.com> AAPT: Ignore visual source safe files in resources

BUG 1895888
aptAssets.cpp
e8e977bc4a5031da623188a562a1276305a7bf21 20-Sep-2009 Suchi Amalapurapu <asuchitra@google.com> am f1871e27: Merge change 26009 into eclair

Merge commit 'f1871e273e1bf49d72a7f2ef51a4ef377d8f3112' into eclair-plus-aosp

* commit 'f1871e273e1bf49d72a7f2ef51a4ef377d8f3112':
Fix issue with printing gles version in aapt dump badging option
40b94725dc1c62ea66db0b9502dd81b97dd3e35f 20-Sep-2009 Suchi Amalapurapu <asuchitra@google.com> Fix issue with printing gles version in aapt dump badging option
If the name attribute for uses-feature or uses-permission is empty
the error value is still empty indicating error and preventing the
else part from being checked as it should be.
ommand.cpp
10bedaaf3ec24af5fa4dcea54545e4d4953a1c7d 16-Sep-2009 Dianne Hackborn <hackbod@google.com> am 7fc39b26: Merge change 25238 into eclair

Merge commit '7fc39b26fc4ec9df7d147ff34ebba90556cdb4da' into eclair-plus-aosp

* commit '7fc39b26fc4ec9df7d147ff34ebba90556cdb4da':
Implement issue #1780928: Need support hiding nav keys.
93e462b79d6896da10e15e74c5aec6beb098dddf 16-Sep-2009 Dianne Hackborn <hackbod@google.com> Implement issue #1780928: Need support hiding nav keys.

This implements support for devices whose hardware can hide
their navigation keys. It works much like the existing keyboardHidden
configuration, and for compatibility uses the same configuration
change bit.

Also add FLAG_TURN_ON_SCREEN for windows, which has the system
cause the screen to be turned on when the window is displayed.
Great fun when used with FLAG_SHOW_WHEN_LOCKED!

Change-Id: I0b867f19af85cfd8786a14cea194b34f7bdd9b7a
aptAssets.cpp
aptAssets.h
3c193a4a8d748faf420988250aabda0145e74bf7 04-Sep-2009 Jean-Baptiste Queru <jbq@google.com> merge from open-source master
be8e36e32b9cb2bb37e28e4c0d414ee0e46c84a2 04-Sep-2009 Jean-Baptiste Queru <jbq@google.com> merge from donut
1cfe4b2a75041b6853c304eeaee1ae84bbf5f2a8 03-Sep-2009 Robert Greenwalt <robdroid@android.com> am e8f605ff: Merge change 23761 into eclair

Merge commit 'e8f605ff44664d0ecc9a5a24886176ef447db2a9' into eclair-plus-aosp

* commit 'e8f605ff44664d0ecc9a5a24886176ef447db2a9':
Fix compilation of add-resource tag.
93d72516994277acdd3894a169ec1f1cbc50db97 03-Sep-2009 Robert Greenwalt <robdroid@android.com> Fix compilation of add-resource tag.

It used the wrong tag-type to find the end of itself.
esourceTable.cpp
7a797a02afafc1fcbdbe66d564f036c7ef38211f 02-Sep-2009 Eric Fischer <enf@google.com> am 66c70e13: Merge change 23529 into eclair

Merge commit '66c70e13d9f39cf82df8542fe53f2049d3f2062e' into eclair-plus-aosp

* commit '66c70e13d9f39cf82df8542fe53f2049d3f2062e':
Make it an error to use a bare apostrophe in aapt, and adjust warnings/errors.
44b283dc27ed8ba5a946d809489f29b4ae88cb15 02-Sep-2009 Kenny Root <kenny@the-b.org> Fix %p vs %s typo in aapt message

When trying to print an xmltree or xmlstrings from aapt, the error
message if the resource didn't exist erroneously printed a pointer
instead of a string.

Change-Id: I317bbbdc1200e0f10922e80a36e41a22b2d50d0d
ommand.cpp
c87d25215c842cea370c6a86ce67585fa8da4900 02-Sep-2009 Eric Fischer <enf@google.com> Make it an error to use a bare apostrophe in aapt, and adjust warnings/errors.

In practice, no one ever writes an apostrophe in an aapt string with the
intent of using it to quote whitespace -- they always mean to include a
literal apostrophe in the string and then are surprised when they find
the apostrophe missing. Make this an error so that it is discovered
right away instead of waiting until late in QA or after the strings have
already been sent for translation. (And fix a recently-introduced string
that has exactly this problem.)

Silence the warning about an empty span in a string, since this seems to
annoy people instead of finding any real problems.

Make the error about having a translated string with no base string into
a warning, since this is a big pain when making changes to an application
that has already had some translations done, and the dead translations
should be removed by a later translation import anyway.
esourceTable.cpp
MLNode.cpp
85a2c7f1cad8fd55ed72a8a3dbb2b36632ebbff3 01-Sep-2009 Jean-Baptiste Queru <jbq@google.com> merge from open-source master
832528f92c8d6995318777ead009da20963bcf7a 31-Aug-2009 Robert Greenwalt <robdroid@android.com> Fix replacement-after-add of resource files in overlay.

Aapt was adding/removing elements from a list an continuing to use a stale copy for future indexes.
This could cause incorrect subsequent processing. Add an en resource and modify an es, for example.
Adding the en would cause the base fileset's es version to be moved in the list. Using the old index
we'd then attempt to remove the old es version with the wrong index and then add the new es version
generating a "duplicate file" error.

bug: 2090015
esource.cpp
72b1f379d5c97c8ff31d2201e78215af777d6bda 31-Aug-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
ommand.cpp
56d8eeae6f863771d759448d45f7ce75aef73b21 31-Aug-2009 Joe Onorato <joeo@android.com> applications are at level 2
esource.cpp
1553c82e084ac5763fb393857224145506771b99 30-Aug-2009 Joe Onorato <joeo@android.com> Add a flag (-G) to aapt to have it output the classes that shouldn't be obfuscated by ProGuard.
aptAssets.cpp
aptAssets.h
undle.h
ommand.cpp
ain.cpp
ain.h
esource.cpp
49237345d83e62fdb9eb8d50b13ad086636a04fa 28-Aug-2009 Dianne Hackborn <hackbod@google.com> Add platform infrastructure for features.

This introduces a new mechanism to define features associated with
a platform, query the current device for the available features,
and enforce that apps requiring features that aren't available can't
be installed.

Also now allows uses-library to specify that a library is optional,
so the lack of such a library will not prevent the app from being
installed (but if it does exist it will be correctly linked into
the app).

Change-Id: I5b369b46cfa0b3d37c9e08fd14ef1098a978e67b
ommand.cpp
e5276a74746b5e8f09b05a50155e7aa0bbb4a747 28-Aug-2009 Dianne Hackborn <hackbod@google.com> Fix issue #2084148: Define the format for the auto focus preview for barcode scanning

Add new manifest/aapt support for specifying device features an application
requires. The aapt badging now returns these (as well as uses-permission since
I need to look for those anyway); if an app doesn't explicitly request the
camera feature but does request the permission, then aapt will say that it has
requested both the basic camera feature as well as the autofocus feature.

Here's what you put in your manifest to say you need a camera but don't need
autofocus:

<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />

Here's what will be seen from aapt:

uses-permission:'android.permission.CAMERA'
uses-feature:'android.hardware.camera'
uses-feature-not-required:'android.hardware.camera.autofocus'

Change-Id: I4dd19cee0486cc54771f5bf14fc9db0e892115d5
ommand.cpp
4a51c20ce607c74914f90fd897f04080121ac13b 22-Aug-2009 Dianne Hackborn <hackbod@google.com> I am getting tired of the java doc warnings, so fix them.

Change-Id: I2205eebae419eaf4a0992c9f5b7cd807eb843fe1
esource.cpp
841ce8b7b9fffcc66cf1349097ed821b94627d63 21-Aug-2009 Kenny Root <kenny@the-b.org> Fix bitmask in aapt's StringPool length construction

The StringPool indicates the length of a string with a 16-bit
integer. If the length of the string is greater than 0x7FFF,
it splits it into two 16-bit integers with the first one
having the high bit set.

The length calculation has a small bug that masks off the
19 bits instead of the first 15 bits as intended.
tringPool.cpp
1b125980c5de597c18a179b9b02b9a5afe106895 18-Aug-2009 Suchi Amalapurapu <asuchitra@google.com> Add aapt extensions to dump badging to print more info about activities, receivers and services
Fix issue with checking end tags. Earlier some boolean variables were being set once a new
tag is detected at the same level which causes some incorrect values to be overwritten.
we should be doing this when we detect the end tag.
ommand.cpp
6919f69281e32d0c3d4b3791b273f71f178cbb7c 18-Aug-2009 Suchi Amalapurapu <asuchitra@google.com> am 75c49842: Add maxSdkVersion information in dump badging option

Merge commit '75c498426a17b47d445711bb9e36794b05876a56' into eclair

* commit '75c498426a17b47d445711bb9e36794b05876a56':
Add maxSdkVersion information in dump badging option
3547f859d4a4e90eea52e9caf686c69a6e015b85 14-Aug-2009 Daniel Sandler <dsandler@google.com> aapt now attempts to process all assets even if some are malformed.

Previously aapt would bail out on the first broken image, making it difficult to compile a comprehensive list of broken images. Now it will pre- and post-process all of them and report any and all errors (before exiting with an error code if any errors were encountered).

Bug: 2055485
esource.cpp
64551b2e0e52fe89c360b1951acc528d94ebaf7a 15-Aug-2009 Dianne Hackborn <hackbod@google.com> Fix aapt to be able to add configs from overlays.

Fixes a bug where any new configurations introduced in an overlay
would be half-way ignored (enough to result in a broken .apk).
aptAssets.h
esource.cpp
75c498426a17b47d445711bb9e36794b05876a56 15-Aug-2009 Suchi Amalapurapu <asuchitra@google.com> Add maxSdkVersion information in dump badging option
ommand.cpp
58c27a0a03f573791935116fa35f6a7c8bf93896 13-Aug-2009 Dianne Hackborn <hackbod@google.com> Allow overlays to add resources.
esource.cpp
esourceTable.cpp
esourceTable.h
a8675f67e33bc7337d148358783b0fd138b501ff 29-Jul-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
aptAssets.cpp
aptAssets.h
a8339dfec9d1b2c6d6fd2f8268f8075d184f64c0 22-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 9fc20b0e: Merge change 8126 into donut

Merge commit '9fc20b0e381b5fe00b7049ef357c839cd05a33bf'

* commit '9fc20b0e381b5fe00b7049ef357c839cd05a33bf':
First pass at reworking screen density/size APIs.
c4db95c077f826585d20be2f3db4043c53d30cf5 22-Jul-2009 Dianne Hackborn <hackbod@google.com> First pass at reworking screen density/size APIs.

This changes the names of the directories in aapt, to what you see
in the list of DpiTest resources. Also adds a new "long" configuration
for wide screens, which the platform sets appropriate, and introduces
a new kind of resizeability for not large but significantly larger
than normal screens which may have compatibility issues.
aptAssets.cpp
aptAssets.h
cf4550c3198d6b3d92cdc52707fe70d7cc0caa9f 21-Jul-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
aptAssets.cpp
aptAssets.h
undle.h
ommand.cpp
ain.cpp
esource.cpp
esourceTable.cpp
esourceTable.h
MLNode.cpp
MLNode.h
469b4c67adc77a87eb2c9ed9217edf1778002828 20-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am aad0fcc9: Merge change 7783 into donut

Merge commit 'aad0fcc9619eb72c18a6afff48ebc9d4011f0f54'

* commit 'aad0fcc9619eb72c18a6afff48ebc9d4011f0f54':
Add "nodpi" density, and expose a bunch of density-related APIs.
a53b828635fce8b6b2d3e3377d74d72070056623 17-Jul-2009 Dianne Hackborn <hackbod@google.com> Add "nodpi" density, and expose a bunch of density-related APIs.

Also update the DpiTest app to use nodpi images, and try to have a mode
where it turns off compatibility though it's not quite working.
aptAssets.cpp
dd931864209eac0b4182d7a0d1ca965fcc3b8c03 13-Jul-2009 Marco Nelissen <marcone@google.com> Format aapt warnings the same way as other compiler warnings
('warning: ' instead of 'WARNING: ' or 'WARNING ')
ackage.cpp
esource.cpp
esourceTable.cpp
ourcePos.cpp
MLNode.cpp
ipEntry.cpp
f6ff591decdea6299aab1a5b6f95917800571de4 30-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 72eb0aca: Merge change 5483 into donut

Merge commit '72eb0acad5cffc57ce5006f6deab29ee259e461e'

* commit '72eb0acad5cffc57ce5006f6deab29ee259e461e':
Expand support for different screen sizes.
723738cfaec3dd7b0fe152c872c41bebf94074c4 26-Jun-2009 Dianne Hackborn <hackbod@google.com> Expand support for different screen sizes.

Applications can now declare that they support small, normal, or
large screens. Resource selection can also be done based on these
sizes. By default, pre-Donut apps are false for small and large,
and Donut or later apps are assumed to support all sizes. In either
case they can use <supports-screens> in their manifest to declare
what they actually support.
aptAssets.cpp
aptAssets.h
ommand.cpp
fc68623c03439db95401a18a435dbc491cd7f6fd 20-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 1585bd24: Merge change 4828 into donut

Merge commit '1585bd24c10d16351f89e32dddbfa799f18db6bd'

* commit '1585bd24c10d16351f89e32dddbfa799f18db6bd':
Report densities in badging, debugging for nine patch bug.
e17086ba346009a26cc2299b133a0fe602acb6ec 20-Jun-2009 Dianne Hackborn <hackbod@google.com> Report densities in badging, debugging for nine patch bug.

The aapt tool now reports all available densities like it already did
for locales. Also this includes more resource data output, which I
was using to examine bug #1867049 (which at this point I am unable to
reproduce).
undle.h
ommand.cpp
ain.cpp
1b04076251d4edb2248651e36b60671123bb3975 11-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 684a2edb: Merge change 3577 into donut

Merge commit '684a2edbe192a2a76684c5d6855773196d2e1a2e'

* commit '684a2edbe192a2a76684c5d6855773196d2e1a2e':
Make aapt Error out when an overlay adds a string.
684a2edbe192a2a76684c5d6855773196d2e1a2e 10-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 3577 into donut

* changes:
Make aapt Error out when an overlay adds a string.
f878e2d80c3a0afefe3b018d232df6066379e1d5 09-Jun-2009 Robert Greenwalt <robdroid@android.com> Make aapt Error out when an overlay adds a string.

Final added check (I think) for 1585775 - not letting overlays add
resources.

modified: ResourceTable.cpp
modified: ResourceTable.h
esourceTable.cpp
esourceTable.h
641fa6c602258f15b5a484975ff9dd43e8d421c9 08-Jun-2009 Robert Greenwalt <robdroid@android.com> am fa5c7e1d: Catch when a file resource (non values) added in an overlay.

Merge commit 'fa5c7e1dfede7e26260789dd2de5175497e9659b'

* commit 'fa5c7e1dfede7e26260789dd2de5175497e9659b':
Catch when a file resource (non values) added in an overlay.
fa5c7e1dfede7e26260789dd2de5175497e9659b 06-Jun-2009 Robert Greenwalt <robdroid@android.com> Catch when a file resource (non values) added in an overlay.

File resources are assigned resource id's and if an overlay adds one
it renumbers things and breaks compatability. Used to segfault
if you tried before, but now catches it and lets you know what file
caused the problem.
esource.cpp
5f0a472cd446b418b11e5b26f227bdce95f7115f 06-Jun-2009 Robert Greenwalt <robdroid@android.com> am 1aa8170e: Add per-named-item overlay ability in res xml.

Merge commit '1aa8170e6a448afad86e5d62927d3b8ca4cd9707'

* commit '1aa8170e6a448afad86e5d62927d3b8ca4cd9707':
Add per-named-item overlay ability in res xml.
1aa8170e6a448afad86e5d62927d3b8ca4cd9707 06-Jun-2009 Robert Greenwalt <robdroid@android.com> Add per-named-item overlay ability in res xml.

Fixes 1899451.
Also errors out if you add a bag via an overlay (which would renumber
resources). Note that you can still add elements within the bag as they are
not issued resource IDs. So for example you can now modify the framework
themes.xml file without copying the entire file.

All bag types are now modifable except non-named bag types (how would you
address which element to replace?):
array
string_array
integer_array
esourceTable.cpp
esourceTable.h
55e3d60da5626752ffe1d15150d35ccb8fa644e7 05-Jun-2009 Mathias Agopian <mathias@google.com> break dependency on utils/ZipEntry.h and utils/ZipFile.h, get rid of inet_address.h and Socket.h which were not used
aptAssets.h
ndroid.mk
ommand.cpp
ain.cpp
ain.h
ackage.cpp
ipEntry.cpp
ipEntry.h
ipFile.cpp
ipFile.h
3b4062eeb01be33951ba214e027da523cf09f8b1 01-Jun-2009 Mathias Agopian <mathias@google.com> get rid of utils.h
undle.h
ommand.cpp
ain.cpp
ain.h
ackage.cpp
bb59a9f428334f7345624e5f4eb66a6aad8dc5ce 21-May-2009 The Android Open Source Project <initial-contribution@android.com> Merge commit 'f479aa0900e9a85afdc78b1048684e37579ebf23'

Conflicts:
api/current.xml
core/res/res/values/public.xml
f479aa0900e9a85afdc78b1048684e37579ebf23 21-May-2009 Dianne Hackborn <hackbod@google.com> Add padding to public.xml to avoid breaking from auto-merges.
esourceTable.cpp
843ef36f7b96cc19ea7d2996b7c8661b41ec3452 20-May-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
esourceTable.cpp
f1f12f8cfcc99bb9a50ae5b555b5ce050726a1fa 19-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 656a2726: Merge change 1910 into donut

Merge commit '656a2726ad977be194c3b8f4bf4ec3068bf3e1c9'

* commit '656a2726ad977be194c3b8f4bf4ec3068bf3e1c9':
Update aapt badging for native code, configs, density, etc.
bb9ea30ea9e390e69602935571795d2c80dc7b91 19-May-2009 Dianne Hackborn <hackbod@google.com> Update aapt badging for native code, configs, density, etc.
ommand.cpp
072e499a0e7e74ee004673b1976c17afca4a29d7 16-May-2009 Dianne Hackborn <hackbod@google.com> Merge commit 'refs/changes/39/1839/1' of ssh://hackbod@android-git.corp.google.com:29418/platform/frameworks/base into merge
fa6baa259d8b1af768e5c1d7ceb27184391f8fb1 16-May-2009 Dianne Hackborn <hackbod@google.com> Argh fix another build breakage!
undle.h
62da8461ed5317fe78ae5e3793662694e7fc99a3 14-May-2009 Dianne Hackborn <hackbod@google.com> Implement compatibility support for WRITE_SDCARD permission.

Now old applications will automatically be granted it. Also renamed it from
SDCARD_WRITE to WRITE_SDCARD to be consistent with our other permissions,
and re-arranged how we do targetSdkVersion to actually be usuable for this
kind of stuff.

Note that right now this results in basically all apps being given the
WRITE_SDCARD permission, because their targetSdkVersion is not set. I will
be dealing with that in a future change.
undle.h
ain.cpp
esource.cpp
esourceTable.cpp
esourceTable.h
MLNode.cpp
MLNode.h
a96cbb435d7b2197ab2b61fd98d14cbd6e0c5c3d 14-May-2009 Dianne Hackborn <hackbod@google.com> Implement compatibility support for WRITE_SDCARD permission.

Now old applications will automatically be granted it. Also renamed it from
SDCARD_WRITE to WRITE_SDCARD to be consistent with our other permissions,
and re-arranged how we do targetSdkVersion to actually be usuable for this
kind of stuff.

Note that right now this results in basically all apps being given the
WRITE_SDCARD permission, because their targetSdkVersion is not set. I will
be dealing with that in a future change.
undle.h
ain.cpp
esource.cpp
esourceTable.cpp
esourceTable.h
MLNode.cpp
MLNode.h
7a9bde9ab13d9370c68c8e666baebab33be6e8cc 11-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 6ee44d1: Merge change 1258 into donut

Merge commit '6ee44d1ff30627388bf3afa5fa542780af8f4005'

* commit '6ee44d1ff30627388bf3afa5fa542780af8f4005':
Fix 1840639 to support overlays with zz_ZZ.
32c2c902200e894c6e887218a337334d81013be5 08-May-2009 Robert Greenwalt <robdroid@android.com> Fix 1840639 to support overlays with zz_ZZ.
Everything but strings worked fine before but a new default string would generate a build error.
esourceTable.cpp
6a1fadea851db236331b3dfe1f3c1e482556057f 21-Apr-2009 Marco Nelissen <> AI 147028: Fix up aapt so it runs cleanly under the valgrind leak checker.

Automated import of CL 147028
aptAssets.h
mages.cpp
esource.cpp
MLNode.cpp
ae5728d67a2a705b6c5187e10751fa64a63967e8 08-Apr-2009 Robert Greenwalt <> AI 144950: Manual integration of 144342 and 144547 from donutburger to cupcake.
Fix bag (string-array, etc) behavior with overlays.
We used to replace elements in the default with elements from the
overlay. This change causes us to empty the array first so if the
overlay array is smaller we don't end up with elements from the
default array showing through at the end of the final result.
Ex: [A,B,C] default with [D] overlay should give [D] but used to
give [D,B,C]
BUG=1754390

Automated import of CL 144950
esourceTable.cpp
esourceTable.h
304b4de6ba71d972aa535f526418a4872b18c7b4 04-Apr-2009 Robert Greenwalt <> AI 144548: am: CL 144547 Fix change 144342 by making it active only during overlay processing.
Original author: rgreenwalt

Automated import of CL 144548
esourceTable.cpp
9411a39866b749ad0a47f15083f311847eb79178 04-Apr-2009 Robert Greenwalt <> AI 144547: Fix change 144342 by making it active only during overlay processing.
BUG=1754390

Automated import of CL 144547
esourceTable.cpp
235f4328f42295173fb10a237cff999afc055987 03-Apr-2009 Robert Greenwalt <> AI 144413: am: CL 144342 Fix bag (string-array,etc) behavior with overlays.
We used to replace elements in the default with elements from
the overlay. This change causes us to empty the array first
so if the overlay array is smaller we don't end up with elements
from the default array showing through at the end of the array.
Ex: [A,B,C] and overlay [D] should give [D] but used to give
[D,B,C].
Original author: rgreenwalt

Automated import of CL 144413
esourceTable.cpp
esourceTable.h
c700c70ccd4e232739c63364e70ba99643c1feda 03-Apr-2009 Suchi Amalapurapu <> AI 144406: am: CL 144309 am: CL 144308 aapt extensions: required sdk version, dependent software libraries, gadgets
Add new attributes for sdk version, software libs and gadgets
BUG = 1730924
Original author: asuchitra
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 144406
ommand.cpp
4b4f4a908895bc0ba63f929bfdc02eec22c0f6e5 03-Apr-2009 Robert Greenwalt <> AI 144342: Fix bag (string-array,etc) behavior with overlays.
We used to replace elements in the default with elements from
the overlay. This change causes us to empty the array first
so if the overlay array is smaller we don't end up with elements
from the default array showing through at the end of the array.
Ex: [A,B,C] and overlay [D] should give [D] but used to give
[D,B,C].
BUG=1754390

Automated import of CL 144342
esourceTable.cpp
esourceTable.h
7ef189d0a90f3c9a409512ab7dce9304639df481 03-Apr-2009 Suchi Amalapurapu <> AI 144309: am: CL 144308 aapt extensions: required sdk version, dependent software libraries, gadgets
Add new attributes for sdk version, software libs and gadgets
BUG = 1730924
Original author: asuchitra
Merged from: //branches/cupcake/...

Automated import of CL 144309
ommand.cpp
633d8cddb81ed40b560fa475b8a74a9e41bb34f8 03-Apr-2009 Suchi Amalapurapu <> AI 144308: aapt extensions: required sdk version, dependent software libraries, gadgets
Add new attributes for sdk version, software libs and gadgets
BUG = 1730924
BUG=1730924

Automated import of CL 144308
ommand.cpp
4df2423a947bcd3f024cc3d3a1a315a8dc428598 05-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@136594
mages.cpp
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
aptAssets.cpp
aptAssets.h
ndroid.mk
undle.h
ommand.cpp
mages.cpp
mages.h
ain.cpp
ain.h
ackage.cpp
esource.cpp
esourceTable.cpp
esourceTable.h
ourcePos.cpp
ourcePos.h
tringPool.cpp
tringPool.h
MLNode.cpp
MLNode.h
rintapk.cpp
ests/plurals/AndroidManifest.xml
ests/plurals/res/values/strings.xml
ests/plurals/run.sh
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
aptAssets.cpp
aptAssets.h
ndroid.mk
undle.h
ommand.cpp
mages.cpp
mages.h
ain.cpp
ain.h
ackage.cpp
esource.cpp
esourceTable.cpp
esourceTable.h
ourcePos.cpp
ourcePos.h
tringPool.cpp
tringPool.h
MLNode.cpp
MLNode.h
rintapk.cpp
ests/plurals/AndroidManifest.xml
ests/plurals/res/values/strings.xml
ests/plurals/run.sh
076357b8567458d4b6dfdcf839ef751634cd2bfb 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@132589
mages.cpp
3dec7d563a2f3e1eb967ce2054a00b6620e3558c 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@137055
mages.cpp
15ab3eae2ec3d73b3e8aa60b33ae41445bf83f4b 20-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@132569
ackage.cpp
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
mages.cpp
ain.cpp
esourceTable.cpp
MLNode.cpp
22f7dfd23490a3de2f21ff96949ba47003aac8f8 20-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@127101
esourceTable.cpp
9266c558bf1d21ff647525ff99f7dadbca417309 16-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@126645
aptAssets.cpp
aptAssets.h
undle.h
ommand.cpp
mages.cpp
ain.cpp
esource.cpp
esourceTable.cpp
esourceTable.h
b798689749c64baba81f02e10cf2157c747d6b46 10-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@125939
mages.cpp
ackage.cpp
esourceTable.cpp
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
aptAssets.cpp
undle.h
ommand.cpp
mages.cpp
ain.cpp
ackage.cpp
esource.cpp
esourceTable.cpp
esourceTable.h
MLNode.cpp
MLNode.h
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
aptAssets.cpp
aptAssets.h
ndroid.mk
undle.h
ommand.cpp
mages.cpp
mages.h
ain.cpp
ain.h
ackage.cpp
esource.cpp
esourceTable.cpp
esourceTable.h
ourcePos.cpp
ourcePos.h
tringPool.cpp
tringPool.h
MLNode.cpp
MLNode.h
rintapk.cpp
ests/plurals/AndroidManifest.xml
ests/plurals/res/values/strings.xml
ests/plurals/run.sh