517 Commits

Author SHA1 Message Date
Adam Lesinski
e8e9192507 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
2014-08-07 22:37:12 +00:00
Adam Lesinski
c2dea8daea Modify base Configuration used for aapt dump badging
Some apps don't provide defaults when providing icons
for different screen sizes, so use a configuration
that has a screen size set to NORMAL.

Change-Id: If4b9eebd37e5d2e2991301d09ff5c39dd41c1565
2014-08-04 16:40:41 -07:00
Chris Craik
8e554924c5 Merge "Add outline alpha" into lmp-dev 2014-07-31 21:44:36 +00:00
Chris Craik
77b5cad3ef Add outline alpha
bug:16140822
bug:16566746

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

Change-Id: I49698cc7c1bf4b2b55ffe2f82899543ca62bc61c
2014-07-31 12:29:57 -07:00
Adam Lesinski
63e646eed5 Add shared library support to aapt dump
AAPT dump should be able to handle dynamic references
that often come with shared library resources.

Bug:16678251
Change-Id: I6c8cd943145aab20ca9db9694c8c433b3c64279b
2014-07-30 21:53:48 +00:00
Adam Lesinski
57079519f4 Fix large memory corruption in AAPT
When assigning a new string pool to a package, don't release the
reference to the old memory immediately, as the cleanup code that
is called after references the old memory.

Bug: 16155257
Change-Id: I3eaeb81191b71a282a0ef82856023f09707f1b17
2014-07-30 18:46:51 +00:00
Adam Lesinski
d7a94da476 Have AEP GL feature depend on GLES 3.1 in badging
AAPT dump badging should output the uses-gl-es tag with
a version of 3.1 when android.hardware.opengles.aep is
declared as a feature.

Change-Id: I8affc6dad574c8303c6ba9810ad8e6e205ea9506
2014-07-25 22:45:33 +00:00
Adam Lesinski
2c72b6822d Add <feature-group> tag and change aapt badging
A <feature-group> represents a set of features required
for an app to be compatible with a device. Multiple
<feature-group> elements represent a logical 'or'
of required features.

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

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

Change-Id: I45626f0fdc546e47bcf2aead7ef05ebcca12b023
2014-07-23 14:11:46 -07:00
Jeff Sharkey
78a130144b 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
2014-07-15 20:18:39 -07:00
Chris Craik
47cd8e921d Implement outline support for nine patches
b/15856895

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

Change-Id: I226e328a97873010d9e1adb797ac48f93a31183c
2014-07-14 15:01:27 -07:00
Jeff Sharkey
2cfc848226 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
2014-07-09 16:12:49 -07:00
John Spurlock
eb8d1be6ac Add a BIND_DREAM_SERVICE signature-level permission.
Starting in api 21, will be required to bind to a
declared dream or doze service.

Also added to aapt dump badging output.

Bug:15862654
Change-Id: Ifa0a594eeecf21e6146176c7810a847e1d08fe3b
2014-06-27 18:33:42 -04:00
Adam Lesinski
9d5b08ea8c Dump more info about behaviors an APK offers
Behaviors include things like print services,
custom launchers, camera apps, etc.

Bug:13748429

Change-Id: I9fb83bac95b1be61fc630c1e74daf0f4a8b9b27f
2014-06-24 22:07:47 +00:00
Adam Lesinski
f90f2f8dc3 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
2014-06-18 19:20:08 +00:00
Jeff Brown
96c2e9f1cb Merge "Add support for @SystemApi annotation to aapt." 2014-06-09 21:05:17 +00:00
Bryan Mawhinney
aa00ae0a67 am 99017c01: Merge "Fix issue preventing aapt from stripping all unwanted densities" into lmp-preview-dev
* commit '99017c01bac525ca4b5b10768052ced398b4a493':
  Fix issue preventing aapt from stripping all unwanted densities
2014-06-09 15:55:43 +00:00
Jeff Brown
eb490d6194 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
2014-06-06 19:43:42 -07:00
Bryan Mawhinney
b0db8de73e Fix issue preventing aapt from stripping all unwanted densities
Bug: 15463874
Change-Id: I9d1e289f1db2ed3c9a41d91caea6d07b69fcb84f
2014-06-06 13:27:11 +01:00
Adam Lesinski
8ee244355b resolved conflicts for merge of 522c5ce2 to master
Change-Id: I15c7f78e9c81947e33270251d7b50e592fb61583
2014-06-03 13:47:54 -07:00
Adam Lesinski
522c5ce280 am 7e547e0d: Merge "Add --pseudo-localize option to generate resources for pseudolocales."
* commit '7e547e0d72817032737909952f00acc2e777a35a':
  Add --pseudo-localize option to generate resources for pseudolocales.
2014-06-03 20:35:11 +00:00
Igor Viarheichyk
a191d0464f Add --pseudo-localize option to generate resources for pseudolocales.
Update help output with new option, remove mention of obsolete zz_ZZ
pseudolocale.

Change-Id: Ie2cfc8d11ef6a57e2b9a2333514a7340a3a8c075
2014-06-03 12:07:50 -07:00
Adam Lesinski
25e9d55e96 Don't dump data from a bad ResTable
AAPT dumps data from a bad ResTable, which
causes crashes. Prevent this by checking if
there were errors when creating the ResTable.

Bug:14902008
Change-Id: I5e04ebf967c60b78c511dd175785a13bca52f09a
2014-05-19 15:01:43 -07:00
Adam Lesinski
9e1e95f6e3 Merge "AAPT dump badging should allow refs in meta-data" 2014-05-15 21:17:33 +00:00
Adam Lesinski
b71adb6571 AAPT dump badging should allow refs in meta-data
The framework allows references in the <meta-data>
element in an AndroidManifest.xml, so badging should
do the same.

Bug:14088271
Change-Id: Ia8157655e21adaf11b7ace90a98a9cca3c8a476c
2014-05-15 14:14:41 -07:00
Adam Lesinski
4c1227e448 Merge "Fix crash in AAPT dump badging with bad StringPool" 2014-05-15 20:07:29 +00:00
Adam Lesinski
9cb2c68faf Fix crash in AAPT dump badging with bad StringPool
With a malformed StringPool, AAPT dump badging would
crash trying to retrieve the name of an XML tag.

Bug:14658555
Change-Id: I6aa6c53c60b20725a461da2d3a39685c174b4d35
2014-05-15 13:06:40 -07:00
Adam Lesinski
3921e87e6e Quick fix to ensure mipmap doesn't get stripped by AAPT
This is a quick fix. A refactoring is already underway to properly
solve this problem.

Bug:14857725
Change-Id: Ic0c475aa0b180803a687904ad9f71eb87e137a25
2014-05-13 10:57:53 -07:00
Adam Lesinski
f000977620 Merge "Add support for building split APKs" 2014-05-12 18:12:35 +00:00
Adam Lesinski
fab50875b9 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
2014-05-11 18:30:12 -07:00
Elliott Hughes
f3e7945c79 am 86768034: am b593ad60: am f1f28d1d: Merge "Skip resource files for locales en-XA and ar-XB during packaging if pseudolocalization was done automatically. This prevents attemts to add same resource twice."
* commit '867680342e12af59a26756f30cf817a131724943':
  Skip resource files for locales en-XA and ar-XB during packaging if pseudolocalization was done automatically. This prevents attemts to add same resource twice.
2014-05-06 02:34:40 +00:00
Elliott Hughes
867680342e am b593ad60: am f1f28d1d: Merge "Skip resource files for locales en-XA and ar-XB during packaging if pseudolocalization was done automatically. This prevents attemts to add same resource twice."
* commit 'b593ad60682a6f8c945c4c2ffc3d278df3f6e360':
  Skip resource files for locales en-XA and ar-XB during packaging if pseudolocalization was done automatically. This prevents attemts to add same resource twice.
2014-05-06 02:31:03 +00:00
Igor Viarheichyk
47843df11f Skip resource files for locales en-XA and ar-XB
during packaging if pseudolocalization was done automatically.
This prevents attemts to add same resource twice.

Change-Id: I51e17f961ac44047bf466ce4aa0d4d17f4ded0d6
2014-05-05 18:13:41 -07:00
Adam Lesinski
ce8083fc51 am 0472fb58: am 34dd2cdd: am f2d2c871: AAPT should not process XML that failed to compile
* commit '0472fb5882cfe55577a169a0f0ff4b8920a839b0':
  AAPT should not process XML that failed to compile
2014-05-05 21:19:04 +00:00
Adam Lesinski
0472fb5882 am 34dd2cdd: am f2d2c871: AAPT should not process XML that failed to compile
* commit '34dd2cdd4142ca8c7463b9f831429b4366fa222a':
  AAPT should not process XML that failed to compile
2014-05-05 21:13:28 +00:00
Adam Lesinski
34dd2cdd41 am f2d2c871: AAPT should not process XML that failed to compile
* commit 'f2d2c871813656012420faa89080d8e3cda1f308':
  AAPT should not process XML that failed to compile
2014-05-05 21:09:49 +00:00
Adam Lesinski
f2d2c87181 AAPT should not process XML that failed to compile
AAPT would attempt to warn if an unprefixed 'id'
attribute was used in an XML resource file even
if that XML file failed to compile. The result
was undefined behaviour, including crashing the
process.

Change-Id: I1a9464ec937760e8d38bbe1af8d1b5d6b2c105a2
2014-05-05 12:01:21 -07:00
Elliott Hughes
8c2fff2385 am fd955f14: am 6a6979ad: am 86315c45: Merge "Fixes issue causing pseudolocalization of strings in non-translatable resource files."
* commit 'fd955f14d6c87dffd1a20c36ad8001705495f831':
  Fixes issue causing pseudolocalization of strings in non-translatable resource files.
2014-04-30 23:35:39 +00:00
Elliott Hughes
fd955f14d6 am 6a6979ad: am 86315c45: Merge "Fixes issue causing pseudolocalization of strings in non-translatable resource files."
* commit '6a6979ad17dfb492fb85a979e8f8688e4ed973b2':
  Fixes issue causing pseudolocalization of strings in non-translatable resource files.
2014-04-30 21:35:45 +00:00
Igor Viarheichyk
84410b054c Fixes issue causing pseudolocalization of strings
in non-translatable resource files.

Change-Id: Ic8e5effc86226d5be00561ac71bab7695ef90376
2014-04-30 11:56:42 -07:00
Adam Lesinski
9cf4b4a932 Child nodes of <preference-headers> now output proguard keep options.
Bug:13797600
Change-Id: I55c71a2fcf7f9b4bdad684d5c235981c3a8bc1e9
2014-04-25 11:37:23 -07:00
Elliott Hughes
5a63d11902 am 36e64ab9: am cf4d85e4: am 90840ec2: Merge "Fix warning introduced by recent psuedolocalizer change."
* commit '36e64ab902a6932f2711d1dff6ee273610d68e7d':
  Fix warning introduced by recent psuedolocalizer change.
2014-04-18 23:30:27 +00:00
Elliott Hughes
36e64ab902 am cf4d85e4: am 90840ec2: Merge "Fix warning introduced by recent psuedolocalizer change."
* commit 'cf4d85e4786beb98743eac68b71d67e36f76c058':
  Fix warning introduced by recent psuedolocalizer change.
2014-04-18 23:26:16 +00:00
Elliott Hughes
0a1eed394f Fix warning introduced by recent psuedolocalizer change.
Change-Id: I577caf6ca4261b3d044b18bc8c5915012168031d
2014-04-18 16:15:27 -07:00
Elliott Hughes
4b0ee78bfa resolved conflicts for merge of 56ca8219 to master
Change-Id: I62f5804a5c4404eedce09188cda2e3b1bb990b36
2014-04-18 16:07:41 -07:00
Elliott Hughes
56ca821912 resolved conflicts for merge of ec42199a to klp-modular-dev-plus-aosp
Change-Id: I9ecd5d51be4d073ab93dbb0bd60097735e76bf94
2014-04-18 15:56:46 -07:00
Anton Krumin
a2ef5c0d4f 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>
2014-04-09 16:59:48 -07:00
John Spurlock
0a0454fdcc am 642421aa: am 5c31e487: Merge "Introduce new UI_MODE_TYPE_WATCH and qualifier." into klp-modular-dev
* commit '642421aa7f284817cc1a972a7f9c7a64696a0116':
  Introduce new UI_MODE_TYPE_WATCH and qualifier.
2014-04-04 19:34:11 +00:00
John Spurlock
642421aa7f am 5c31e487: Merge "Introduce new UI_MODE_TYPE_WATCH and qualifier." into klp-modular-dev
* commit '5c31e487c4577e1c47ee7c949325d6a13f0d462e':
  Introduce new UI_MODE_TYPE_WATCH and qualifier.
2014-04-04 19:28:09 +00:00
John Spurlock
6c191299a7 Introduce new UI_MODE_TYPE_WATCH and qualifier.
Default ui mode to watch if we have FEATURE_WATCH.

Bug:13395758
Change-Id: Ie5ff95de60e69e91ad3612c7d2f1fca7f49061bd
2014-04-04 15:21:53 -04:00
Adam Lesinski
587e420ea9 am 004ceaaa: am 55a65509: Merge "Reduce warning verbosity in aapt"
* commit '004ceaaa4d3ddfc66ba3f3635e987c2ddc7f2d09':
  Reduce warning verbosity in aapt
2014-03-27 21:05:06 +00:00