671 Commits

Author SHA1 Message Date
Adam Lesinski
beb9e33bfb AAPT: Fix regression in resource versioning
With a set of resources with the following configurations:

()
(land)

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

Bug:23038206
Change-Id: I2f1b0313fb780ac241e7aaa487cb37dfb79c36aa
2015-08-14 13:41:46 -07:00
Adam Lesinski
f45d2fad2e AAPT: Fix resource versioning
Resource generation was greedy, so when an attribute with sdk level 21 was used in a resource
with v1, and a different attribute with sdk level 21 was used in a resource with v11,
a v21 resource would be synthesized, but it would contain the attribute from v1 instead of v11.

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

Bug:22793816
Change-Id: Ia687f56b0d9969e424111477d55d9804255b22e9
2015-07-28 12:26:57 -07:00
Igor Viarheichyk
729ffa299c ICU format support for pseudolocalizes.
Custom parser can handle nested ICU messages even if they
are split into multiple fragments. Code reworked to encapsulate
all pseudolocalization logic in Pseudolocalizer and PseudoMethods
classes. To minimize a changelist size, some static functions
remained. Fake BiDi pseudolocalization method is reimplemented
to handle word boundaries correctly. Unit tests added.

(cherry picked from commit cbb1e676b56677ae3585c067f29646dddffb4857)

bug: 22060509

Change-Id: I11968d81984d99501a4d9334ff2e7453a1eb7a00
2015-06-25 09:49:43 +01:00
Adrian Roos
5892248580 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
2015-06-02 02:55:52 +00:00
Adam Lesinski
2738c96d99 Add -round and -notround qualifier to android runtime/aapt
The round qualifier denotes a device with a screen shape that
is round. The qualifier shows up after the 'long/notlong' qualifier
and before the orientation 'port/land/square' qualifiers.

Change-Id: I3044258b2703a9165694b79725bade770fa6cea1
2015-05-15 15:10:58 -07:00
Chih-Hung Hsieh
9a59a991dd Remove unused aapt target.
BUG: 20765163
Change-Id: I13f36f76541216c5c1c20ae8866e09038e08e6f8
(cherry picked from AOSP commit 97627314a4d3e114afe3dbd764a51523e9f0b787)
2015-05-06 00:13:37 +00:00
Narayan Kamath
bb4ed9aa3a am 815d9bb1: Merge "Add a static dependency on libbase."
* commit '815d9bb178a0488ed1579cd230d447630ad0891b':
  Add a static dependency on libbase.
2015-04-29 14:38:15 +00:00
Narayan Kamath
9c8ba9666d Add a static dependency on libbase.
Used by libziparchive.

Change-Id: I120494b620c72b36a725b01f1f274f5dc862a9a3
2015-04-29 14:07:41 +00:00
Adam Lesinski
6e46056abc AAPT: Add flag to disable versioning of vector related XML
AAPT automatically versions XML files according to the SDK level
in which their attributes were introduced. Support libraries
know how to handle resources built against newer SDKs, so offer
the option to disable some of the automatic versioning, namely
vectors.

Bug:19336994
Change-Id: I9f9d0ae8f2a0c28404f82e27de416f80e38493c9
2015-04-21 14:27:02 -07:00
Colin Cross
88fa96c758 am 106f83ee: am 4cead39a: am 1be312df: Merge "Re-enable -Wall and -Werror that were lost in a merge"
* commit '106f83ee9cc145a6421d21067c44b513cc148e80':
  Re-enable -Wall and -Werror that were lost in a merge
2015-04-09 01:44:38 +00:00
Colin Cross
1be312dfb0 Merge "Re-enable -Wall and -Werror that were lost in a merge" 2015-04-09 00:49:56 +00:00
Colin Cross
01f185633c 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
2015-04-08 17:48:23 -07:00
Elliott Hughes
dda35c37ea am 66d94512: am dbb5f5d6: am efcbaec1: Merge "Only Windows doesn\'t have %zd."
* commit '66d9451273c4a3775b6b63a0e4b7027bd2eae65d':
  Only Windows doesn't have %zd.
2015-04-03 20:58:25 +00:00
Elliott Hughes
b12f2410c7 Only Windows doesn't have %zd.
Change-Id: I0e4b0fdc61641c5ecb724fd096bd2315dcf8ed4a
2015-04-03 12:56:45 -07:00
Adam Lesinski
47fe60a643 Merge "Output modified bcp47 tag in ResTable_config::toString()" 2015-03-20 20:46:40 +00:00
Elliott Hughes
644cb09275 am 0634fba5: am 89da4ca6: Merge "Remove unused printapk.cpp."
* commit '0634fba5915073e5b46e24f0ba0d5bbc44c922a5':
  Remove unused printapk.cpp.
2015-03-19 18:27:04 +00:00
Elliott Hughes
e519c81f35 Remove unused printapk.cpp.
This is one of the few remaining users of libzipfile, but doesn't get built.
Not worth porting to libziparchive.

Change-Id: Ica466b22e3a7ebaf123727c0d703af39cc89cf9c
2015-03-19 09:03:41 -07:00
Adam Lesinski
8a9355a98e Output modified bcp47 tag in ResTable_config::toString()
We expect to be able to parse the output of ResTable_config::toString(),
so it should use modified bcp47 (b+en+Latn+US).

Change-Id: I597a1779a1fa5cff171c473e6a0368d93b9c7722
2015-03-16 22:25:26 +00:00
Vishwath Mohan
9b754a1bb8 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
2015-03-12 11:08:28 -07:00
Dan Albert
9488813873 am 7a79c4ca: am f8d6a4ba: resolved conflicts for merge of 701f9c2f to stage-aosp-master
* commit '7a79c4cac3b0c722832e868346db2375b6d6c379':
  Stop using namespace std.
2015-03-05 23:56:53 +00:00
Dan Albert
f8d6a4ba87 resolved conflicts for merge of 701f9c2f to stage-aosp-master
Change-Id: I42e0411c0acef4b15137491ecaaed95d9b1cd0c1
2015-03-05 15:41:39 -08:00
Dan Albert
030f536009 Stop using namespace std.
The pattern of #include and using namespace std here fails to build
with GCC. At first glance it's a GCC bug rather than libc++ doing
something wrong. Regardless, it can be worked around by just
specifying std:: where appropriate.

Bug: 19606303
Change-Id: I5652682eae7ca7559cf2a9307909859013440781
2015-03-04 13:54:20 -08:00
Narayan Kamath
97a366f9d7 Merge "Parse res-car as resources for UI_MODE_TYPE_CAR.." 2015-02-11 14:01:36 +00:00
Chris Warrington
4308c2aea4 am 510c24e8: Merge "Fix AAPT daemon mode with paths containg spaces." into lmp-mr1-dev
automerge: 4499888

* commit '449988872be61f273c91db13069d5b7172429032':
  Fix AAPT daemon mode with paths containg spaces.
2015-02-10 20:14:44 +00:00
Narayan Kamath
7f1a8957cc Parse res-car as resources for UI_MODE_TYPE_CAR..
.. and not a 3 letter language code.

bug: 19291216
Change-Id: I01bf76d89880693dcdb4384d5c239902fa3defa8
2015-02-10 16:11:55 +00:00
Chris Warrington
de3ab0a9e8 Fix AAPT daemon mode with paths containg spaces.
Use new line as a delimiter rather than space.
Fixes: https://code.google.com/p/android/issues/detail?id=135757
Gradle CL: https://android-review.googlesource.com/130423

Change-Id: I7c73e680b0417b0e7cff9e0110822675c53ae20f
2015-02-09 21:20:52 -08:00
Adam Lesinski
e03f2cb2c2 Merge "AAPT: Use the right enum when checking for density configurations" into lmp-mr1-dev automerge: b443610
automerge: 83f58a2

* commit '83f58a2f7afac98199536b3090fe6f767ffb3a0d':
  AAPT: Use the right enum when checking for density configurations
2015-01-23 02:46:32 +00:00
Adam Lesinski
ed643e8182 AAPT: Use the right enum when checking for density configurations
Bug:19116675
Change-Id: I2322d8d6bdf890005c80014273e5d07df735ed50
2015-01-22 18:19:44 -08:00
Adam Lesinski
5c61dfc25f am e488ce86: am 94e30215: Merge "AAPT: Handle all old unversioned attribute usage" into lmp-mr1-dev
* commit 'e488ce8668538b45c586eba21f5bca288d749686':
  AAPT: Handle all old unversioned attribute usage
2015-01-14 20:47:47 +00:00
Adam Lesinski
28994d8d18 AAPT: Handle all old unversioned attribute usage
All references to attributes defined in pre-LOLLIPOP_MR1 SDK
are moved to version qualified resource entries.

Bug:18221682
Change-Id: Ifd739530ebcf99e6bc7ddb3f10bc5e05f0726e62
2015-01-14 12:02:15 -08:00
Adam Lesinski
6e2eb2df4c am c04a21a0: Merge "Fixup aapt usage message" automerge: 64044d0
* commit 'c04a21a0ef6cd97a45307e4c1de9088e57719ca2':
  Fixup aapt usage message
2015-01-08 20:24:33 +00:00
Johan Redestig
6ab7a7849c Fixup aapt usage message
The --preferred-configurations option was renamed to
--preferred-density in fab5087 but only part of the
usage message was changed.

Change-Id: I89d270990023beca19605901d956d29d0b0b848b
2015-01-07 09:40:58 +01:00
Adam Lesinski
915f44e1ee am 503a4494: am f1f179a7: Merge "AAPT: Copy android:revisionCode to Splits" into lmp-mr1-dev
* commit '503a4494d64d30f9b904b24a56fff986810da610':
  AAPT: Copy android:revisionCode to Splits
2014-12-16 18:02:09 +00:00
Adam Lesinski
f1f179a765 Merge "AAPT: Copy android:revisionCode to Splits" into lmp-mr1-dev 2014-12-16 17:50:04 +00:00
Adam Lesinski
54de298c01 AAPT: Copy android:revisionCode to Splits
Bug:18706179
Change-Id: I669b56e0b67dd1bfda7749ef433b55af16851154
2014-12-16 09:16:26 -08:00
Adam Lesinski
22bfb75ebb am 0f0e85a6: Merge "AAPT: attributes showing up after v21 attributes would be removed for pre-21 devices" into lmp-mr1-dev
automerge: 465d123

* commit '465d123464eadf180b618164b2ed23702bca3d86':
  AAPT: attributes showing up after v21 attributes would be removed for pre-21 devices
2014-12-16 01:43:16 +00:00
Adam Lesinski
0f0e85a689 Merge "AAPT: attributes showing up after v21 attributes would be removed for pre-21 devices" into lmp-mr1-dev 2014-12-15 23:35:23 +00:00
Adam Lesinski
ea4e5ecc27 AAPT: attributes showing up after v21 attributes would be removed for pre-21 devices
There was an inconsistency in the indexing when removing attributes
in layouts. Now we account for that shift that happens when you delete
an attribute.

Bug:18707321
Change-Id: I656eee3fb614168fa8ceeff379e8594708961dad
2014-12-10 15:55:27 -08:00
Adam Lesinski
55188f5918 am c765655a: am fbba9b57: Merge "AAPT: Dump status of required flag for uses-feature" into lmp-mr1-dev
* commit 'c765655ae1ae35f9d5f0958295f0b71270132ca7':
  AAPT: Dump status of required flag for uses-feature
2014-12-09 00:43:14 +00:00
Adam Lesinski
73a05114b0 AAPT: Dump status of required flag for uses-feature
Outside of a feature-group, the legacy uses-feature tag
has a boolean required flag that should be emitted in
dump badging.

Bug:17790999
Change-Id: I43023af00e9c9ed4bc35795c3a983fc719bf9b7a
2014-12-08 15:54:12 -08:00
Adam Lesinski
e97908d32e Merge commit '0953ab27' into manualmerge
Change-Id: I36dea45f7571096136ea7bda5e2680bd85a0df32
2014-12-05 11:06:21 -08:00
Adam Lesinski
720beef28d Merge "AAPT: Move private attrs to new type for framework" into lmp-mr1-dev 2014-12-04 18:24:41 +00:00
Adam Lesinski
9b624c186c AAPT: Move private attrs to new type for framework
Private attributes are typically placed after public
attributes in the resource table. Each time a new version
of the Android framework is released, new public attributes
take the place of the private attributes, and the private
attributes are shifted after the new public ones.

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

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

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

Bug:18263655

Change-Id: I7a850512953fadcc9f3524d509cea30249782db8
2014-12-03 15:59:20 -08:00
Adam Lesinski
455550d586 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
2014-12-03 20:42:22 +00:00
Adam Lesinski
62c5df52e7 AAPT: Add pathMotion custom classes to Proguard Keep set
Bug:18590044
Change-Id: Ia5dbf55317d2cc89826316e8d10f031b5d340e57
2014-12-02 16:23:59 -08:00
Adam Lesinski
3550c6c5d6 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
2014-12-03 00:05:33 +00:00
Adam Lesinski
4c488ff931 AAPT: Add custom transition classes to Proguard keep set
Bug:18590044
Change-Id: Ib24831e669a09f0e6f32434081c0e2499702399c
2014-12-02 15:40:17 -08:00
Dan Albert
6698749dd4 Add appropriate casts for char16_t.
C++11 defines a real char16_t, which is not implicitly convertible to
uint16_t (and by extension jchar). Add casts as needed.

Bug: 18300613
Change-Id: I00752002ef2e938bdb57f70947e8fd53ec103293
2014-11-20 11:47:40 -08:00
Yabin Cui
d493fa6d79 am 537888be: Merge "kill HAVE_LOCALTIME_R"
* commit '537888be7d5cfa6bfa9ddd459a622ea208339735':
  kill HAVE_LOCALTIME_R
2014-11-13 19:05:06 +00:00
Yabin Cui
25d58a9357 kill HAVE_LOCALTIME_R
Bug: 18361583
Change-Id: Ia79e2b641fd6c61ae5d2b8f2db5456bd3d36a25b
2014-11-13 09:57:22 -08:00