History log of /frameworks/base/tools/aapt/XMLNode.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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/XMLNode.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/XMLNode.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/XMLNode.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/XMLNode.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
/frameworks/base/tools/aapt/XMLNode.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
/frameworks/base/tools/aapt/XMLNode.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
/frameworks/base/tools/aapt/XMLNode.cpp
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
/frameworks/base/tools/aapt/XMLNode.cpp
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/XMLNode.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
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
/frameworks/base/tools/aapt/XMLNode.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
/frameworks/base/tools/aapt/XMLNode.cpp
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>
/frameworks/base/tools/aapt/XMLNode.cpp
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
/frameworks/base/tools/aapt/XMLNode.cpp
e67f8c8c279e20fff5f426eccd062b709e6280ed 08-Aug-2012 Jean-Baptiste Queru <jbq@google.com> Merge "Normalize output from aapt d xmltree"
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
/frameworks/base/tools/aapt/XMLNode.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
/frameworks/base/tools/aapt/XMLNode.cpp
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
/frameworks/base/tools/aapt/XMLNode.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
/frameworks/base/tools/aapt/XMLNode.cpp
d9fe8018ffbf94f18a840005e688ad1d712f0225 24-Feb-2012 Xavier Ducrohet <xav@android.com> Move the automatic namespace outside of the res namespace.

Change-Id: I107ee94af0a13f008ef4a8844a9038b84f97a247
/frameworks/base/tools/aapt/XMLNode.cpp
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"
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
/frameworks/base/tools/aapt/XMLNode.cpp
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
/frameworks/base/tools/aapt/XMLNode.cpp
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
/frameworks/base/tools/aapt/XMLNode.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
/frameworks/base/tools/aapt/XMLNode.cpp
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
/frameworks/base/tools/aapt/XMLNode.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
/frameworks/base/tools/aapt/XMLNode.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/XMLNode.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/XMLNode.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.
/frameworks/base/tools/aapt/XMLNode.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/XMLNode.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/XMLNode.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/XMLNode.cpp
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/tools/aapt/XMLNode.cpp
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/tools/aapt/XMLNode.cpp
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
/frameworks/base/tools/aapt/XMLNode.cpp
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
/frameworks/base/tools/aapt/XMLNode.cpp
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/frameworks/base/tools/aapt/XMLNode.cpp