774 Commits

Author SHA1 Message Date
Adam Lesinski
05e31f1837 AAPT: Handle gaps in resources when building splits am: 26ae640c34
am: 2c8aa38e7a

Change-Id: I475c971fabb2b4bf5acb4f0e9a86d95d79a650ed
2016-08-17 21:56:34 +00:00
Adam Lesinski
26ae640c34 AAPT: Handle gaps in resources when building splits
Due to public ID assignment, gaps in resource type and entry
IDs can occur. This can lead to null pointer dereferencing
if not careful. This happened in ResourceTable::getDensityVaryingResources()
which is called when building Splits.

Bug:30879690
Change-Id: I588e4dcd2e042fccfcb2e87967b5cbd0d23b4497
(cherry picked from commit 081d1b4cf602fdd7302b597e6bf902cb415bc3a8)
2016-08-17 19:53:01 +00:00
Adam Lesinski
9e8da4a476 AAPT: Fix use-after-free error am: 193ed74c2d
am: 646f2d9c33

Change-Id: If9fe7a52e62ae6b2900aa187996b4b785894ab03
2016-08-15 23:22:04 +00:00
Adam Lesinski
193ed74c2d AAPT: Fix use-after-free error
Re-order deletion of ResXMLTree and the Asset object
it iterates over.

Bug:30844391
Change-Id: Ied033d0a8f93343006228a2054c6d0f42bb4717a
2016-08-15 14:22:36 -07:00
Chih-Hung Hsieh
84717d4118 resolve merge conflicts of 17bd236 to stage-aosp-master am: b3d46b44a3
am: c76aa69207

Change-Id: I6bb066d131dde297612c5dcbf5051f4964e62a8b
2016-08-12 19:35:08 +00:00
Chih-Hung Hsieh
c76aa69207 resolve merge conflicts of 17bd236 to stage-aosp-master
am: b3d46b44a3

Change-Id: I5123493e165c4d2ab74cf045e5fb8181886dce62
2016-08-12 19:30:02 +00:00
Chih-Hung Hsieh
b3d46b44a3 resolve merge conflicts of 17bd236 to stage-aosp-master
Change-Id: I08d4500aaa378b08d41e8d046c62101e08dbfba8
2016-08-12 11:44:16 -07:00
Chih-Hung Hsieh
56996ff61e resolve merge conflicts of 76ce8e5 to stage-aosp-master am: ed935c32f4
am: ef57a0d629

Change-Id: Ifcc24ad835f2e74a25954bf3fd7090c75abdc084
2016-08-12 00:40:25 +00:00
Chih-Hung Hsieh
ef57a0d629 resolve merge conflicts of 76ce8e5 to stage-aosp-master
am: ed935c32f4

Change-Id: Ibb7415686469d7b15e8dbe0cd04226c4e0cd7d76
2016-08-12 00:31:29 +00:00
Chih-Hung Hsieh
ed935c32f4 resolve merge conflicts of 76ce8e5 to stage-aosp-master
Change-Id: I4b4ca9906373a95776d2da8ba2fa39a4a78e2a30
2016-08-11 16:48:46 -07:00
Treehugger Robot
76ce8e5242 Merge "Fix clang-tidy warnings in libs/hwui." 2016-08-11 23:20:47 +00:00
Chih-Hung Hsieh
8bd37ba458 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
2016-08-11 15:20:10 -07:00
Hans Boehm
53511e1196 Merge "Do not stack allocate RefBase object in AaptAssets::filter" am: d0197ac340 am: c97c9dbd96
am: a33407d2f8

Change-Id: If98f629f0675a01e0c9f12eb0cd1b48f497357ce
2016-08-11 17:39:16 +00:00
Hans Boehm
a33407d2f8 Merge "Do not stack allocate RefBase object in AaptAssets::filter" am: d0197ac340
am: c97c9dbd96

Change-Id: I9ceb9f35c22e84a57e2c38f9e6fd562827ae7e0d
2016-08-11 17:32:34 +00:00
Hans Boehm
c97c9dbd96 Merge "Do not stack allocate RefBase object in AaptAssets::filter"
am: d0197ac340

Change-Id: I077f9c190025d688af17d1a840b841cbdc4e003d
2016-08-11 17:28:07 +00:00
Hans Boehm
25dfa75ee3 Do not stack allocate RefBase object in AaptAssets::filter
Doing so is likely to trigger log messages in the future, and will
hinder diagnosis of other problems.

Bug: 30292538
Change-Id: I2cb8c507e43d06d4afa7e35b564416c1474c81d1
2016-08-10 19:56:50 -07:00
Chih-Hung Hsieh
f35c939cd7 Fix clang-tidy warnings in libs/hwui.
* Add explicit keyword to conversion constructors.
Bug: 28341362
* Use const reference type for read-only parameters.
Bug: 30407689
Test: build with WITH_TIDY=1

Change-Id: Iab3e6636f60a70cb124f29dc19f20f842fa8dfda
Merged-In: Iab3e6636f60a70cb124f29dc19f20f842fa8dfda
2016-08-10 23:26:59 +00:00
Adam Lesinski
84877752ee AAPT: Fix feature split generation of ID resources am: 4d219da3c4
am: e69f9ca938

Change-Id: I2021dbffcd9e6fb8bca79c181d2bf8e8524ee5d2
2016-08-04 02:00:28 +00:00
Adam Lesinski
e69f9ca938 AAPT: Fix feature split generation of ID resources
am: 4d219da3c4

Change-Id: I0cc7e1174020e4bd813b4442e2c35fdc2f9513fd
2016-08-04 01:46:43 +00:00
TreeHugger Robot
59a91c04cc Merge "AAPT: Fix feature split generation of ID resources" into nyc-mr1-dev 2016-08-04 01:27:34 +00:00
Adam Lesinski
4d219da3c4 AAPT: Fix feature split generation of ID resources
ID resources that get generated on demand with the
notation @+id/name were previously not given the
appropriate type ID offset when being built as feature
splits.

This change declares an ID type ahead of time so that
the type ID offset is applied before IDs can be generated.

Bug:30607637
Change-Id: I122a9133cb01b35e9892103ec52fc228dc65bf1a
2016-08-03 16:54:15 -07:00
Adam Lesinski
12e5b87771 AAPT: faketouch feature implied if no touchscreen feature requested. am: ca955a4c3a
am: 76cbcd495e

Change-Id: I29700574c70f35695ccbdd60c570bb222e1aa0eb
2016-08-02 02:01:37 +00:00
Adam Lesinski
ca955a4c3a AAPT: faketouch feature implied if no touchscreen feature requested.
This changes the default implied feature of 'android.hardware.touchscreen'
to 'android.hardware.faketouch' if no 'android.hardware.touchscreen'
feature is requested, required or otherwise.

Bug:30571641
Change-Id: I1e41242d4b1dc549cf69741d2a309baf476d084e
2016-08-01 17:20:28 -07:00
Adam Lesinski
28250b6009 Merge \"AAPT: Don\'t keep processing files that failed to be added\" into nyc-mr1-dev
am: d94f55552f

Change-Id: I9f91b3b8a66a2bd0d1fc27ddcdea2f72f0a54b58
2016-07-19 01:41:14 +00:00
Adam Lesinski
526d73be4a 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
2016-07-18 17:07:41 -07:00
Sergio Giro
6feeeabd20 Add bound checks to utf16_to_utf8
am: 1deedbacc3

Change-Id: I05847ae2c26a266b3c05324230062757e6978fd2
2016-07-14 18:07:33 +00:00
Sergio Giro
1deedbacc3 Add bound checks to utf16_to_utf8
Test: ran libaapt2_tests64
Bug: 29250543
Change-Id: I1ebc017af623b6514cf0c493e8cd8e1d59ea26c3
(cherry picked from commit 4781057e78f63e0e99af109cebf3b6a78f4bfbb6)
2016-07-14 13:27:53 +00:00
Sergio Giro
daad138428 Merge \"Add bound checks to utf16_to_utf8\" into nyc-mr1-dev
am: 49c410bc48

Change-Id: I9a226afc143db459184a279167f0dce66c0f32df
2016-07-11 12:22:30 +00:00
Sergio Giro
49c410bc48 Merge "Add bound checks to utf16_to_utf8" into nyc-mr1-dev 2016-07-11 12:11:31 +00:00
Sergio Giro
4781057e78 Add bound checks to utf16_to_utf8
Test: ran libaapt2_tests64
Bug: 29250543
Change-Id: I1ebc017af623b6514cf0c493e8cd8e1d59ea26c3
2016-07-02 17:46:20 +01:00
Roozbeh Pournader
8a24cfb055 Merge \"Don\'t match locales with different scripts in ResourceFilter\" into nyc-mr1-dev
am: 9d2a3188fa

Change-Id: I9874c4a5d880407ed7b38e63f2c551defedbf8e5
2016-06-22 21:26:29 +00:00
Roozbeh Pournader
3f32c27ccf Don't match locales with different scripts in ResourceFilter
Previously, AAPT would match locales even if they had different
explicit scripts if the requested locale was just a languages. Now
we require explicit listing of the languages with different explicit
scripts in order for the locale to be included.

Bug: 29412034
Change-Id: Ia118a5a7f9aec49f6c3c53b9195a0ae1a57f53fd
2016-06-21 15:03:51 -07:00
Adam Lesinski
d5bb8487d5 Merge "Fix misc-macro-parentheses warnings in aapt and androidfw." am: 6f4b566169
am: f55c9f7aa6

* commit 'f55c9f7aa64660712242705d4e5e89e2191bbf69':
  Fix misc-macro-parentheses warnings in aapt and androidfw.

Change-Id: I23f28430cf242be3f77926016626ea3e5705d4ec
2016-05-19 23:34:58 +00:00
Chih-Hung Hsieh
e819d01e3e Fix misc-macro-parentheses warnings in aapt and androidfw.
Bug: 28705665
Change-Id: Iac353e66718aadad384183cf300330695df25909
2016-05-19 15:19:22 -07:00
Michael Wright
feaf99fa1b 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
2016-05-09 14:51:41 +01:00
Rohit Agrawal
682583c890 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)
2016-04-27 19:50:55 +00:00
Rohit Agrawal
6ba873faec 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)
2016-04-27 11:26:55 -07:00
Adam Lesinski
694d0a7dfd AAPT: Dump uses-feature version in dump badging
Bug:27162500
Change-Id: I4f82cdd8ef1801c92d4ea6b4bb982c6e7d91edb5
2016-04-06 16:40:23 -07:00
Wonsik Kim
6e452f9e8a Don't try to compress .mkv resources
Bug: 27987970
Change-Id: I58e920e81d1e79b7fbba479d8fb34afb3911f97d
2016-04-04 15:39:40 +09:00
Andrew Johnson
08a3fa7dea Merge "Removing assignments to localeScriptWasComputed in aapt." into nyc-dev 2016-03-31 13:52:10 +00:00
Andrew Johnson
299e488ee2 Removing assignments to localeScriptWasComputed in aapt.
On certain devices running Android M with unknown vendor
modifications. Setting the localeScriptWasComputed bit in
the resource parameters struct causes the translations
for many languages to fail to load. The app then
defaults to English.

This has been reported on the following devices:
Motorola XT1086, XT1096, and XT1586, HTC One, and Huawei
MediaPad 10 LINK.

This change works around the issue by never setting
localeScriptWasComputed in aapt and instead always
writing the default value of false.

Bug: 27872476
Change-Id: Id638d1d0e5f9dcb1c02e65d67667d76174c69b9e
2016-03-30 20:24:48 -04:00
Matt Sarett
d126b1ed5d Merge "Work-around paletted image decoding bug in SDK_JELLYBEAN" into nyc-dev 2016-03-21 18:26:19 +00:00
Matt Sarett
48efde4fb1 Work-around paletted image decoding bug in SDK_JELLYBEAN
Because there is a bug decoding paletted images in SDK_JELLYBEAN,
we need to avoid encoding paletted images for apps that support
SDK_JELLYBEAN and earlier.

BUG=27643907

Change-Id: Ib7d51ed87435cd36507915d62b0057c06f18b2b6
2016-03-16 18:36:06 -04:00
Roozbeh Pournader
7960898f6f Fix script-related parts of locale resource matching
Previously, a bit was kept to find if the script of a locale was
explicitly "provided" in a resource. This was not backward
compatible, and failed in some edge cases when the package was
created with older versions of AAPT that did not set the bit.

The cases would happen when the old resource had an explicit script
specified in its locale, but since the "provided" bit was not set in
the package, we would assume that the script was computed by us.

This CL replaces the "provided" bit with a "computed" bit, so the
default value of the bit (set to "false" for old packages) would be
correct.

Bug: 27156990
Change-Id: I99e7f1ad8f70c90e25ab3640ed34cc1a6f8d1d64
2016-03-03 15:19:37 -08:00
Adam Lesinski
afc79be228 AAPT: Allow duplicate attribute definitions if identical
This allows libraries to coexist a bit easier, since a lot of them
declare the same attribute. When used together they cause errors.
Bug:27101533

Change-Id: I649cf17bc587c4814f849d5ac522daf74495adcf
2016-02-26 15:57:59 -08:00
Adam Lesinski
525db2489d Revert "AAPT: Allow duplicate attribute definitions if identical"
This reverts commit c25283b5e206ceae2aa6eb01877b79c3c1f0adfb.

Change-Id: I2f42a4360fa53c4333494afe0178dcec56d62d8e
2016-02-25 23:13:08 +00:00
Adam Lesinski
c25283b5e2 AAPT: Allow duplicate attribute definitions if identical
This allows libraries to coexist a bit easier, since a lot of them
declare the same attribute. When used together they cause errors.
Bug:27101533

Change-Id: I10327251636392e810637a79e7c9aa514f3f07a6
2016-02-22 09:25:06 -08:00
Adam Lesinski
9e1923d02f 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
2016-02-11 14:17:25 -08:00
Matt Sarett
37a866e9a6 Merge "Encode paletted PNGs more efficiently (part 2)" 2016-02-01 15:22:42 +00:00
Matt Sarett
33fcd11bc2 Encode paletted PNGs more efficiently (part 2)
Many PNGs have multiple distinct pixels with zero alpha.  This
CL allows us to treat all of those pixels as a single zero pixel.

This saves space in the color palette and also may help save
memory pages when we skip writing zeros.

There is also a potential disadvantage: if someone intended to decode
this image as unpremultiplied with particular transfer modes where
their color components have an effect even though alpha is zero,
this will prevent that.  At the moment, we do not support unpremul as
a source, so this won't affect anyone trying to draw with the view
system.

This change originated in:
https://googleplex-android-review.git.corp.google.com/#/c/854580/

Change-Id: I702c7bd22d431cc7c775ed29bbd73c930f945ca3
2016-02-01 14:15:35 +00:00