History log of /frameworks/base/tools/aapt/Resource.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
99d36ee8a936d5f9d95305183241ed597bace8e8 18-Apr-2017 Adam Lesinski <adamlesinski@google.com> AAPT: Auto-alias application adaptive-icon

When a developer specifies an adaptive application icon,
and a non-adaptive round application icon, create an alias
from the round icon to the regular icon for v26 APIs and up.

We do this because certain devices prefer android:roundIcon over
android:icon regardless of the API levels of the drawables set for
either.

This auto-aliasing behaviour allows an app to prefer the
android:roundIcon on API 25 devices, and prefer the adaptive icon on
API 26 devices.

An app developer can override this behaviour by explicitly setting the
android:roundIcon to a drawable that has a v26 qualifier.

Bug: 34829129
Test: manual
Change-Id: Iaaaa5d8367e4f3f9e9f2e3b51c782d3be6a3bb71
/frameworks/base/tools/aapt/Resource.cpp
cf1f1d9128853f0fa0cef657e2bbb7bf6904c732 17-Mar-2017 Adam Lesinski <adamlesinski@google.com> AAPT: Version <adaptive-icon> to v26

Bug: 35908647
Test: manual
Change-Id: Ic8f43efe34385192fbab18675eb5898ed80912a5
/frameworks/base/tools/aapt/Resource.cpp
8c2df71739808d6f1aec4277fb47c191e7031164 21-Mar-2017 Guang Zhu <guangzhu@google.com> Revert "AAPT: Version <adaptive-icon> to v26"

Bug: 36462965
Bug: 35908647

This reverts commit c7614e5d1e8f9139cccf6ab9b78dda16b98f7656.

Change-Id: I25279e7c53823dad0703c7e2ea8ff91bdbc1a0f2
/frameworks/base/tools/aapt/Resource.cpp
c7614e5d1e8f9139cccf6ab9b78dda16b98f7656 17-Mar-2017 Adam Lesinski <adamlesinski@google.com> AAPT: Version <adaptive-icon> to v26

Bug: 35908647
Change-Id: I307fb2f666cb8519adb9a7f676b87706dc6c683f
Test: manual
/frameworks/base/tools/aapt/Resource.cpp
2d6fa033e1b2680803d5a9978d0d1d3f8feceb21 11-Mar-2017 Adam Lesinski <adamlesinski@google.com> AAPT: Process XML in mipmap directory

Mipmap directories should be treated like drawables.
They are just a convention that prevents them from
being split or stripped for multi-apk.

Bug: 36068314
Test: manual
Change-Id: I93ab3871c7d9d403b77989bcc88304e9939866c4
/frameworks/base/tools/aapt/Resource.cpp
75e7d1d73e74cdc85a5fb731fa13159ab073d939 17-Feb-2017 Aurimas Liutikas <aurimas@google.com> Removes an already defined warning in aapt.

Apps that expect to use the current SDK don't specify anything in their
manifest and the build system rightfully injects the current SDK.

Any apps that specify their own <uses-sdk> or versionCode are telling
the build system that they are purposely using some other minSdkVersion,
etc (support library demos).

Test: None
Change-Id: I0aba3a71e15703c7bcafcf4d35608a1851dd8567
Fixes: 34901699
/frameworks/base/tools/aapt/Resource.cpp
9bbe787822502e8c09d9abe963e6539647bea346 24-Jan-2017 Adam Lesinski <adamlesinski@google.com> Finish font support for AAPT

Test: make CtsContentTestCases in cts/tests/tests/content
Change-Id: Ie1e08deeef56611de261bd12f25f53c88068950e
/frameworks/base/tools/aapt/Resource.cpp
83b4f7daba75e73ca9aad6033ed513902dc3b5bb 20-Jan-2017 Adam Lesinski <adamlesinski@google.com> AAPT: Add support for 'font' resource type

Change-Id: I5bc459e34715779ab3b1c415f40f592a4ccbb96e
Test: manual
/frameworks/base/tools/aapt/Resource.cpp
f45d261928ec69f4647f005e3cfa74a2aeddb4c2 23-Sep-2016 Colin Cross <ccross@android.com> Merge "aapt: remove duplicate definition of ZD" am: ac2d839d7c am: 3efa1e7c17 am: e43f2d4ef5
am: b62cc13c7c

Change-Id: Ieb593095a6bdc1842b95863fa2cf08ff1fb0669f
b62cc13c7c427b9381c9c7ffe3dcd95662698108 23-Sep-2016 Colin Cross <ccross@android.com> Merge "aapt: remove duplicate definition of ZD" am: ac2d839d7c am: 3efa1e7c17
am: e43f2d4ef5

Change-Id: I71e7bfd44396aa2a7d79ba983bcc71d7684a36c1
281386df645025b497950c8b4f2e87c6bf570777 16-Sep-2016 Colin Cross <ccross@android.com> aapt: remove duplicate definition of ZD

ZD and ZD_TYPE are set by utils/Compat.h, remove them from
StringPool.cpp and Resource.cpp.

Test: m -j native
Bug: 31492149
Change-Id: I6154e4598dd1f279e348ef6c0b32d756464bda8a
/frameworks/base/tools/aapt/Resource.cpp
00e7ebbe1ae4ff23d7e3469435cb7f9aabcd7a04 16-Aug-2016 Adam Lesinski <adamlesinski@google.com> AAPT: Fix use-after-free error am: 193ed74c2d am: 646f2d9c33
am: 9e8da4a476

Change-Id: I591fd51bf456cd42fe8c633de8924a9f2c844866
9e8da4a476d1a52d4c287747b5e1b80f61681c15 16-Aug-2016 Adam Lesinski <adamlesinski@google.com> AAPT: Fix use-after-free error am: 193ed74c2d
am: 646f2d9c33

Change-Id: If9fe7a52e62ae6b2900aa187996b4b785894ab03
193ed74c2d9228368941de948fe03e05ca7fd3e3 15-Aug-2016 Adam Lesinski <adamlesinski@google.com> AAPT: Fix use-after-free error

Re-order deletion of ResXMLTree and the Asset object
it iterates over.

Bug:30844391
Change-Id: Ied033d0a8f93343006228a2054c6d0f42bb4717a
/frameworks/base/tools/aapt/Resource.cpp
84717d4118cff0790aecd8365029200e36a47bba 12-Aug-2016 Chih-Hung Hsieh <chh@google.com> resolve merge conflicts of 17bd236 to stage-aosp-master am: b3d46b44a3
am: c76aa69207

Change-Id: I6bb066d131dde297612c5dcbf5051f4964e62a8b
b3d46b44a399ba0a9b14caac8603db15089ab55b 12-Aug-2016 Chih-Hung Hsieh <chh@google.com> resolve merge conflicts of 17bd236 to stage-aosp-master

Change-Id: I08d4500aaa378b08d41e8d046c62101e08dbfba8
8bd37ba458633ee7b2aeec0a7593817000aa84b2 10-Aug-2016 Chih-Hung Hsieh <chh@google.com> Fix clang-tidy warnings in aapt and aapt2.

* Add explicit keyword to conversion constructors.
* Add NOLINT(implicit) comments for implicit conversion constructors.
Bug: 28341362
* Use const reference type for read-only parameters.
Bug: 30407689
* Use const reference type to avoid unnecessary copy.
Bug: 30413862
Test: build with WITH_TIDY=1

Change-Id: Id6d21961f313a1ad92b15a37fdaa5be9e8ab48e1
Merged-In: Id6d21961f313a1ad92b15a37fdaa5be9e8ab48e1
/frameworks/base/tools/aapt/Resource.cpp
9b8528fee4eed35b8e887ded0851d08eb2b10db6 10-Aug-2016 Chih-Hung Hsieh <chh@google.com> Fix clang-tidy warnings in aapt and aapt2.

* Add explicit keyword to conversion constructors.
* Add NOLINT(implicit) comments for implicit conversion constructors.
Bug: 28341362
* Use const reference type for read-only parameters.
Bug: 30407689
* Use const reference type to avoid unnecessary copy.
Bug: 30413862
Test: build with WITH_TIDY=1

Change-Id: Id6d21961f313a1ad92b15a37fdaa5be9e8ab48e1
/frameworks/base/tools/aapt/Resource.cpp
f580d91dabc443301e2adcfc74509bec9b1960ff 19-Jul-2016 Ivan Gavrilovic <gavra@google.com> Aapt main dex proguard rules - always keep application

Aapt with -D option was not keeping the application and instrumentation
subclasses, which were instead handled by mainDexClasses.rules. Instead,
include them in the aapt -D output.

Change-Id: Ia3b89fc2edd45d379c4d06f0bf674716646fcb3d
/frameworks/base/tools/aapt/Resource.cpp
526d73be4a3a2714fa6112769e16fb6cd0194451 19-Jul-2016 Adam Lesinski <adamlesinski@google.com> AAPT: Don't keep processing files that failed to be added

AAPT will continue ahead without reporting an error if a file
failed to be added to the ResourceTable. This would cause crashes
later when the file was assumed to be present.

Bug:30200166
Change-Id: Ieb2daf97ccf0345153b6f4598d130a38d108c937
/frameworks/base/tools/aapt/Resource.cpp
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
/frameworks/base/tools/aapt/Resource.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)
/frameworks/base/tools/aapt/Resource.cpp
6ba873faec0d165b74acfecf1533f58433d431e9 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

Change-Id: Ic18c8c563794ff27a5598a214111d1b446a005f1
(cherry picked from commit 86229cb622fccde8ab8cbe85eead91a34313a708)
/frameworks/base/tools/aapt/Resource.cpp
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
/frameworks/base/tools/aapt/Resource.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.
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
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.cpp
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
/frameworks/base/tools/aapt/Resource.cpp
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
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.cpp
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.
e17788ceff5c676f3783e5aa25d57a613e9f59db 17-Aug-2015 Elliott Hughes <enh@google.com> Replace HAVE_MS_C_RUNTIME with _WIN32 in frameworks/base/tools.

Change-Id: Ideef62acbf53a442167c9b8038021affffef9e8a
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.cpp
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
/frameworks/base/tools/aapt/Resource.cpp
b12f2410c7bdbf90bd8a77b897846ee2763e3037 03-Apr-2015 Elliott Hughes <enh@google.com> Only Windows doesn't have %zd.

Change-Id: I0e4b0fdc61641c5ecb724fd096bd2315dcf8ed4a
/frameworks/base/tools/aapt/Resource.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
54de298c01ad79fe7f5850eb7aefc2542dd8d5da 16-Dec-2014 Adam Lesinski <adamlesinski@google.com> AAPT: Copy android:revisionCode to Splits

Bug:18706179
Change-Id: I669b56e0b67dd1bfda7749ef433b55af16851154
/frameworks/base/tools/aapt/Resource.cpp
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
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.cpp
685d363d7a3e8833edc9368a3c59b69755e0ba29 05-Nov-2014 Adam Lesinski <adamlesinski@google.com> Merge commit 'fb96e54' into manualmerge

Conflicts:
tools/aapt/Resource.cpp

Change-Id: I4147c3550e9426f3429146eaeb16f10ba76b5b15
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
/frameworks/base/tools/aapt/Resource.cpp
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
/frameworks/base/tools/aapt/Resource.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.
d395f7913336417bcbbea740fcdc8589789626bc 20-Oct-2014 Dan Albert <danalbert@google.com> Fix an overflow found by ASAN.

Sometimes len is 0.

Change-Id: I031000188edc57663a5519b00cbbb751600d32f4
/frameworks/base/tools/aapt/Resource.cpp
87332a7109610d02ac7f5db6af99d3a11813d5c1 02-Oct-2014 Andreas Gampe <agampe@google.com> resolved conflicts for merge of 1dcc75b2 to lmp-mr1-dev-plus-aosp

Change-Id: I8f7cbd971beae3ab134195e612d705860665142f
2412f84064c26b643c722ce914a97c4ec7776c69 01-Oct-2014 Andreas Gampe <agampe@google.com> Frameworks/base: Fix AAPT warnings

Turn on -Wall -Werror. Fix warnings.

Change-Id: I287fb3c1e851c654479bcf9ea8c73bd354a6b2a1
/frameworks/base/tools/aapt/Resource.cpp
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
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
/frameworks/base/tools/aapt/Resource.cpp
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
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
/frameworks/base/tools/aapt/Resource.cpp
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.
0f3a5a6559a955ea20f1ae2d3e0995f3fa821c90 11-Sep-2014 Marcin Kosiba <mkosiba@google.com> Don't use reflection when generating the onResourcesLoaded callback.

BUG: 17466240
Change-Id: I74608f3d8b3617281639a9d387face97e15fb616
/frameworks/base/tools/aapt/Resource.cpp
20ec4fa2294a91e5ff87839280904aba4a050cf6 09-Sep-2014 Dan Albert <danalbert@google.com> resolved conflicts for merge of 6c585756 to lmp-dev-plus-aosp

Change-Id: I5a25f2bac44ac5efcd7462af91005e09680a1d96
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
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.cpp
1e466385d4a4f1acee080fa0fdf16cc8fd8ce7ca 15-Aug-2014 Adam Lesinski <adamlesinski@google.com> Have R classes generate their own reference rewrite logic

Change-Id: I0e5b8311fc3479d966a49f9acf0d4c32a6a024d3
/frameworks/base/tools/aapt/Resource.cpp
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
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.cpp
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
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.cpp
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
/frameworks/base/tools/aapt/Resource.cpp
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
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.cpp
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
/frameworks/base/tools/aapt/Resource.cpp
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
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.cpp
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
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.cpp
282e181b58cf72b6ca770dc7ca5f91f135444502 24-Jan-2014 Adam Lesinski <adamlesinski@google.com> Revert "Move frameworks/base/tools/ to frameworks/tools/"

This reverts commit 9f6a119c8aa276432ece4fe2118bd8a3c9b1067e.
/frameworks/base/tools/aapt/Resource.cpp
dbccd44a638ae8705a5b14bff8b2dd74abc26045 22-Nov-2013 The Android Open Source Project <initial-contribution@android.com> Merge commit 'b873a17ce7be0a9771c24999adca6964431728f6' into HEAD

Change-Id: I938755073e70602cc8f51ce9bd420fdcf870cecd
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
/frameworks/base/tools/aapt/Resource.cpp
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
/frameworks/base/tools/aapt/Resource.cpp
9f6a119c8aa276432ece4fe2118bd8a3c9b1067e 28-Aug-2013 Mike Lockwood <lockwood@google.com> Move frameworks/base/tools/ to frameworks/tools/

Change-Id: I3ffafdab27cc4aca256c3a5806b630795b75d5c8
/frameworks/base/tools/aapt/Resource.cpp
1f5762e646bed2290934280464832782766ee68e 07-May-2013 Mathias Agopian <mathias@google.com> libutils clean-up

Change-Id: I11ee943da23a66828455a9770fc3c5ceb4bbcaa9
/frameworks/base/tools/aapt/Resource.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.
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
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.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.
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.cpp
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
/frameworks/base/tools/aapt/Resource.cpp
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
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.cpp
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
/frameworks/base/tools/aapt/Resource.cpp
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
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.cpp
1644c6d7f4931d0b4fe7ea77c63b016af01a46d3 07-Feb-2012 Dianne Hackborn <hackbod@google.com> Only generate private symbols that are needed.

Change-Id: Icc4c86638db8429a387bf87c934cc712f807e213
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.cpp
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
/frameworks/base/tools/aapt/Resource.cpp
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
/frameworks/base/tools/aapt/Resource.cpp
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
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
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
/frameworks/base/tools/aapt/Resource.cpp
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
/frameworks/base/tools/aapt/Resource.cpp
45ccfa5870517374d06e1eec9f61947d8c00cb0d 21-Jun-2011 Ying Wang <wangying@google.com> Output Proguard options for also overlay layouts.

Change-Id: I7bfac476247bd7b532510e295cb1a3e61e9af88b
/frameworks/base/tools/aapt/Resource.cpp
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.
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
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.cpp
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
/frameworks/base/tools/aapt/Resource.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.
561a91824fbfcdae9031fb2cdbb745578a969981 13-Aug-2010 Ying Wang <wangying@google.com> Output proguard keep flags for fragment classes.

Change-Id: I28c10fbf18b91f8ba3dfc2575cd41215f65f11ec
Bug: 2916847
/frameworks/base/tools/aapt/Resource.cpp
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
/frameworks/base/tools/aapt/Resource.cpp
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
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.cpp
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
/frameworks/base/tools/aapt/Resource.cpp
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
/frameworks/base/tools/aapt/Resource.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.
/frameworks/base/tools/aapt/Resource.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.
/frameworks/base/tools/aapt/Resource.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.
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.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.
/frameworks/base/tools/aapt/Resource.cpp
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
/frameworks/base/tools/aapt/Resource.cpp
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.
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.
/frameworks/base/tools/aapt/Resource.cpp
46f4b9827efaceb0ceae49f06130caa2d2b9743e 13-Jan-2010 Ying Wang <wangying@google.com> Add instrumentation as a source tag for proguard keep options.
/frameworks/base/tools/aapt/Resource.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.
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.
/frameworks/base/tools/aapt/Resource.cpp
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
/frameworks/base/tools/aapt/Resource.cpp
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
/frameworks/base/tools/aapt/Resource.cpp
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
/frameworks/base/tools/aapt/Resource.cpp
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
/frameworks/base/tools/aapt/Resource.cpp
56d8eeae6f863771d759448d45f7ce75aef73b21 31-Aug-2009 Joe Onorato <joeo@android.com> applications are at level 2
/frameworks/base/tools/aapt/Resource.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.
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.cpp
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
/frameworks/base/tools/aapt/Resource.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).
/frameworks/base/tools/aapt/Resource.cpp
58c27a0a03f573791935116fa35f6a7c8bf93896 13-Aug-2009 Dianne Hackborn <hackbod@google.com> Allow overlays to add resources.
/frameworks/base/tools/aapt/Resource.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 ')
/frameworks/base/tools/aapt/Resource.cpp
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.
/frameworks/base/tools/aapt/Resource.cpp
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.
/frameworks/base/tools/aapt/Resource.cpp
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.
/frameworks/base/tools/aapt/Resource.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
/frameworks/base/tools/aapt/Resource.cpp
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/tools/aapt/Resource.cpp
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/tools/aapt/Resource.cpp
9266c558bf1d21ff647525ff99f7dadbca417309 16-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@126645
/frameworks/base/tools/aapt/Resource.cpp
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
/frameworks/base/tools/aapt/Resource.cpp
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/frameworks/base/tools/aapt/Resource.cpp