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
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
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
Adds an option that prevents generating java symbols for string
resources that don't have a default localization.
Bug: 21537397
Change-Id: Ifafa942b24d5cdbed93651cde363e859be13d395
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
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
-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
This is one of the few remaining users of libzipfile, but doesn't get built.
Not worth porting to libziparchive.
Change-Id: Ica466b22e3a7ebaf123727c0d703af39cc89cf9c
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
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
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
All references to attributes defined in pre-LOLLIPOP_MR1 SDK
are moved to version qualified resource entries.
Bug:18221682
Change-Id: Ifd739530ebcf99e6bc7ddb3f10bc5e05f0726e62
The --preferred-configurations option was renamed to
--preferred-density in fab5087 but only part of the
usage message was changed.
Change-Id: I89d270990023beca19605901d956d29d0b0b848b
automerge: 465d123
* commit '465d123464eadf180b618164b2ed23702bca3d86':
AAPT: attributes showing up after v21 attributes would be removed for pre-21 devices