Commit Graph

4849 Commits

Author SHA1 Message Date
Diego Perez
76e53b5b04 Handle the case where there is no clip defined
Currently this generates a NPE.

Bug: http://b.android.com/221956
Change-Id: I54e758ea001c3ed41d3d01a09d9ed66be45233cc
2016-09-15 12:01:33 +00:00
Yirui Huang
cf45f426ee Merge "Fix incorrect emoji presentation for 'Zsym' script" 2016-09-15 00:50:32 +00:00
yirui
f9936b9b7c Fix incorrect emoji presentation for 'Zsym' script
If the language tag "und-Zsym" is applied to a TextView, the default
presentation should be text-style. However, it didn't work before this
patch, due to a lack of "und-Zsym" language tag in fonts.xml.

Bug: 31297127
Change-Id: Ieed8fe1532806dd1e75c58aa0d7a724bfeed7796
2016-09-14 10:30:59 +09:00
John Reck
106253bdf2 Merge "Illegal behavior -> Exception" 2016-09-12 17:17:13 +00:00
John Reck
d94094e062 Illegal behavior -> Exception
Throw an IllegalStateException if the contract
of OnDrawListener is violated.

Change-Id: Ic86f6a0c8cd69ee7a8daa0ba135a3df76f56a213
2016-09-12 08:20:00 -07:00
Alan Viverette
dab82cc04c Change density for the correct user am: df3a7cab8f am: 55768028fd
am: 48818fa811

Change-Id: I19f5810159ed772ac8ed1e9d498f8fe0036a95d0
2016-09-08 21:27:04 +00:00
Alan Viverette
48818fa811 Change density for the correct user am: df3a7cab8f
am: 55768028fd

Change-Id: I7d4eff0c732f0e3e83adc0044ab7ab015da74993
2016-09-08 21:19:24 +00:00
Adam Lesinski
8c3f31f022 AAPT2: Fix issue with styled string indices
Styled strings use spans to denote which part
is styled (<b>, <i>, etc). Spans are simply a range
of indices into the original string.

In Java, we use String and its internal representation, meaning
we must encode the indices using UTF16 lengths.

When the internal AAPT2 representation of strings switched to UTF8,
the indices also began to index into the UTF8 string.

This change reverts the indices to use UTF16 lengths.

Bug:31170115
Change-Id: I07b8b5b67d2542c7e0a855b601cdbd3ac4ebffb0
2016-09-07 13:45:13 -07:00
Adam Lesinski
5cb0530ca4 AAPT2: Update version and readme
Update version to 2.2 and update readme to reflect added
support for inline complex XML resources.

Change-Id: If825c96541952e95860d34390c6c36704a24129b
2016-09-06 17:34:06 -07:00
Alan Viverette
df3a7cab8f Change density for the correct user
Bug: 30839993
Change-Id: I5368accddfc4a03b8025a257b4155fcdc6197f11
2016-09-06 17:13:41 -04:00
Adam Lesinski
871f2f5fc2 Merge "AAPT2: Add Inline Complex XML support" 2016-09-02 18:49:46 +00:00
Adam Lesinski
5eeaaddffd AAPT2: Add Inline Complex XML support
See: https://developer.android.com/guide/topics/resources/complex-xml-resources.html

Change-Id: I8274c85e25cabf90423141c228697e873167d136
2016-08-31 18:32:34 -07:00
Adam Lesinski
96692047e6 Merge "AAPT2: Revert warning when merging packages" 2016-08-31 20:18:19 +00:00
Adam Lesinski
a6ad7d5cc3 Merge "AAPT2 tools: Fix logging in resource file fixer" 2016-08-31 00:55:53 +00:00
Colin Cross
7fd4eb7ff7 Merge "Replace libziparchive-host with libziparchive" am: 611e205bbe am: 8c8bb25089 am: 63dc310e6a
am: e3cd4b394c

Change-Id: Icc088a0cdd6a2ebc2b7bedb719ad7220d947273d
2016-08-31 00:29:35 +00:00
Adam Lesinski
198cb0f048 AAPT2 tools: Fix logging in resource file fixer
Change-Id: I5113012229005c94e466f43a30932ebdc74d76fc
2016-08-30 15:07:50 -07:00
Adam Lesinski
085f495747 AAPT2: Revert warning when merging packages
A compiled ResourceTable may contain multiple packages.
When referencing a framework attribute, for instance,
the compile phase has no idea if that attribute is a USE
or a DECLARATION, like so:

  <declare-styleable name="Foo">
    <item name="android:id" />
  </declare-styleable>

If this file is compiled with the package 'android', then this
is a declaration. If it is compiled with the package 'com.foo',
this is a reference that must resolve at link time.

Since this is common, warning that the package 'android' is being
ignored during the merge phase is incorrect behaviour.

The warning was antroduced in ag/1363992

Change-Id: I09254d79ac379439face177eb724df882d1d0ce1
2016-08-30 14:25:51 -07:00
Adam Lesinski
79758c8e77 Merge "AAPT2: Fix merging of styleables the right way" 2016-08-30 17:49:14 +00:00
Adam Lesinski
5c3464c75f AAPT2: Fix merging of styleables the right way
Styleables should only be merged when processing overlays.
This moves the styleable merging code out of ResourceTable
and into TableMerger.

Change-Id: I3aae05cf4dd875cd25ac2ac744b61194409b2fee
2016-08-26 19:40:50 -07:00
Chong Zhang
818b7218c5 DO NOT MERGE -- Only use saved surface if started by launcher or moved to front am: 813be138ae am: 9f92bc2602
am: 8673e303a7

Change-Id: I34d205de8f368df05e068548a69448da397d2e41
2016-08-26 23:40:04 +00:00
Chong Zhang
9f92bc2602 DO NOT MERGE -- Only use saved surface if started by launcher or moved to front
am: 813be138ae

Change-Id: Id64071882a0b90212b92234a4d0bdc67f2ee5e1a
2016-08-26 23:28:17 +00:00
Chong Zhang
813be138ae DO NOT MERGE -- Only use saved surface if started by launcher or moved to front
Restrict saved surface to launcher start (ACTION_MAIN&CATEGORY_
LAUNCHER), or there is no intent at all (eg. task being brought to
front). If the intent is something else, likely the app is going
to show some specific page or view, instead of what's left last time.

This solves problems like the launcher shortcuts on DeckClock,
each of them is a different intent and will show one specific
view regardless of last states. Another example is Chrome tab
opened directly by action VIEW to open some URL.

(Note that this doesn't solve the problem with Chrome homescreen
shortcuts, it will still start with saved surface (if Chrome
is already open). This is because the shortcut is a trampoline
activity that starts the real chrome tab activity, but when
the trampoline is started, the whole task is already brought
to front, and ChromeTab could become visible with the task
before we actually start it.)

bug: 31055479
bug: 27747315

Change-Id: Id3e61c61ef516b0edc1f174320f02661222f226b
(cherry picked from commit ad24f96def)
2016-08-26 15:41:58 -07:00
Colin Cross
e3cd4b394c Merge "Replace libziparchive-host with libziparchive" am: 611e205bbe am: 8c8bb25089
am: 63dc310e6a

Change-Id: I645d077dd656f84446f77fd91c169fd7b977e661
2016-08-26 20:40:27 +00:00
Colin Cross
9a1a3bcb16 Replace libziparchive-host with libziparchive
libziparchive-host is no longer necessary, and mixing libziparchive-host
and libziparchive can cause ODR violations.

Change-Id: I623c0c5579e28f26a6e1db7bd953f33ed1ca68cd
2016-08-26 11:15:17 -07:00
Chong Zhang
ad24f96def Only use saved surface if started by launcher or moved to front
Restrict saved surface to launcher start (ACTION_MAIN&CATEGORY_
LAUNCHER), or there is no intent at all (eg. task being brought to
front). If the intent is something else, likely the app is going
to show some specific page or view, instead of what's left last time.

This solves problems like the launcher shortcuts on DeckClock,
each of them is a different intent and will show one specific
view regardless of last states. Another example is Chrome tab
opened directly by action VIEW to open some URL.

(Note that this doesn't solve the problem with Chrome homescreen
shortcuts, it will still start with saved surface (if Chrome
is already open). This is because the shortcut is a trampoline
activity that starts the real chrome tab activity, but when
the trampoline is started, the whole task is already brought
to front, and ChromeTab could become visible with the task
before we actually start it.)

bug:27747315

Change-Id: Id3e61c61ef516b0edc1f174320f02661222f226b
2016-08-26 09:58:19 -07:00
Martijn Coenen
2cc64692ce Merge changes from topic 'utf' am: 0a357a1a73 am: de8a6a66f6
am: 1657493c22

Change-Id: Ie675738a4f9042929d1ffb5e1ffcc7bbb5c7b217
2016-08-25 20:31:31 +00:00
Sergio Giro
d90d8d615a Add bound checks to utf16_to_utf8
Test: ran libaapt2_tests64
Bug: 29250543
Change-Id: I1ebc017af623b6514cf0c493e8cd8e1d59ea26c3
(cherry picked from commit 4781057e78)
2016-08-25 12:19:12 +02:00
Sergio Giro
8f7b8a1f6c Unicode: specify destination length in utf8_to_utf16 methods
Change-Id: I5223caa7d42f4582a982609a898a02043265c6d3
2016-08-25 12:04:40 +02:00
Raph Levien
2ec19e2c2d Update lint check to accommodate new emoji sequences am: 0790ac68bc
am: b1581dbbfd

Change-Id: I17b2989e1ee0477991705d15e0324a449da69c1a
2016-08-23 14:53:06 +00:00
Raph Levien
0790ac68bc Update lint check to accommodate new emoji sequences
These are not yet ready for updating in the unicode data, so we patch
them in code until they are.

Bug: 30594617
Change-Id: Ib4c8568aa4840341474eb0c0c95674d640473f4d
(cherry picked from commit 2b8b819fee)
2016-08-22 16:26:24 +00:00
Roozbeh Pournader
f238f6a186 Re-enable disabled emoji tests [DO NOT MERGE] am: 8cd1b1ba80
am: 1062853800

Change-Id: Ie4c1a28f0a37af3fbbce3a8611c1ab5eec79d556
2016-08-19 22:48:15 +00:00
Roozbeh Pournader
f24170aae4 Check defaults for Android default-emoji characters [DO NOT MERGE] am: 84b1746130
am: 21e026bb7e

Change-Id: Ia77312e78e70bd17147d0ef841b6ea551a12ae82
2016-08-19 22:46:54 +00:00
Roozbeh Pournader
1062853800 Re-enable disabled emoji tests [DO NOT MERGE]
am: 8cd1b1ba80

Change-Id: I0cc4e1b30d8df95efea682d0b2ae4dc96822689b
2016-08-19 22:27:50 +00:00
Roozbeh Pournader
21e026bb7e Check defaults for Android default-emoji characters [DO NOT MERGE]
am: 84b1746130

Change-Id: Icadd25ab3dc99a2ce00220900a6b37cf0144d7d4
2016-08-19 22:26:11 +00:00
Roozbeh Pournader
eab8a12845 Merge "Re-enable disabled emoji tests [DO NOT MERGE]" into nyc-mr1-dev 2016-08-19 21:43:06 +00:00
Roozbeh Pournader
01bb406426 Merge "Check defaults for Android default-emoji characters [DO NOT MERGE]" into nyc-mr1-dev 2016-08-19 21:43:06 +00:00
Adam Lesinski
8197cc460e AAPT2: Merge Styleables instead of overriding them
Styleables merge in AAPT. Preserve this behavior.

Bug:30970091
Change-Id: Ie68ca675aeecd873c0648682182e2fc574e329a0
2016-08-19 13:29:40 -07:00
Adam Lesinski
aa0255da28 AAPT2: Add tool to fix positional argument issues
Change-Id: Ie8f733b70d561667cd25b38fb4c09d0837ef9b7f
2016-08-18 14:05:44 -07:00
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
Alexandria Cornwall
6de29ed5b4 Merge "AAPT2: Add support to strip namespaces from XML" 2016-08-17 19:57:12 +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 081d1b4cf6)
2016-08-17 19:53:01 +00:00
Alexandria Cornwall
a7cc3f1d79 AAPT2: Add support to strip namespaces from XML
The --no-xml-namespaces flag will strip namespace information from
compiled binary XML files in res/* (excluding res/raw/*) and
AndroidManifest.xml. It will also strip URI information from compiled
binary XML files in res/* (excluding res/raw/* and AndroidManifest.xml).

AndroidManifest.xml URI information is retained due to PackageParser, which
requires the Android URI for intent filters.

Bug: 29115919
Change-Id: I90cad6ed39ce02a69776f55314c1d4f38ad1aabe
2016-08-17 11:01:05 -07:00
Adam Lesinski
84ae78b109 Merge "AAPT: Handle gaps in resources when building splits" 2016-08-17 00:03:36 +00:00
Chih-Hung Hsieh
c37e88100d Merge "Fix google-explicit-constructor warnings." am: ea537bf5b3 am: 9c0b881c9d am: 1ab51f3769
am: bd070b7792

Change-Id: Ibb5f0df9e4c4119330224075bb91b3961da1ab64
2016-08-16 02:48:15 +00:00
Chih-Hung Hsieh
bd070b7792 Merge "Fix google-explicit-constructor warnings." am: ea537bf5b3 am: 9c0b881c9d
am: 1ab51f3769

Change-Id: Ide274953e85d1ba9e0e978a531d69c3543e7923a
2016-08-16 02:39:40 +00:00
Chih-Hung Hsieh
1ab51f3769 Merge "Fix google-explicit-constructor warnings." am: ea537bf5b3
am: 9c0b881c9d

Change-Id: If4ec2ed4609d130e2b25dae2bf90f2209878cd4c
2016-08-16 02:31:42 +00:00
Chih-Hung Hsieh
9c0b881c9d Merge "Fix google-explicit-constructor warnings."
am: ea537bf5b3

Change-Id: I38d1f635b7bf2c46648c852bf0caa421e67218f4
2016-08-16 02:23:48 +00:00
Treehugger Robot
ea537bf5b3 Merge "Fix google-explicit-constructor warnings." 2016-08-16 02:12:39 +00:00
Adam Lesinski
081d1b4cf6 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
2016-08-15 18:45:00 -07:00
Adam Lesinski
00e7ebbe1a AAPT: Fix use-after-free error am: 193ed74c2d am: 646f2d9c33
am: 9e8da4a476

Change-Id: I591fd51bf456cd42fe8c633de8924a9f2c844866
2016-08-15 23:33:01 +00:00