History log of /frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
d88c717b4e124e435e54bf1542774aa100773c3e 29-Mar-2017 Diego Perez <diegoperez@google.com> Make layoutlib more lenient with recoverable errors

In many cases, throwing an exception will stop the inflation or
rendering of a layout. Sometimes, we could recover from some of the
failures and render a layout that is "usable".
I've done a first pass trying to follow the following rules:
- Try simple recoveries by choosing sensible defaults. Not trying
complex recoveries.
- Only recover if the exception is not part of the class behaviour.
Avoided removing declared exceptions or exceptions that are expected by
the framework.
- I've kept assertions in place so, in most cases, the behaviour will
be almost identical to the previous one with assertions enabled.

Test: Checked with existing tests
Change-Id: I0001fdd3c808cf405c4eb8d734b9bbe63493e05c
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
bc9d2a13f0bbeae4ebf04da5a0b0d2f7814b40e4 21-Nov-2016 Diego Perez <diegoperez@google.com> Add support for aapt:attr attributes

Test: Tested from the studio side
Change-Id: Id506801f53cfc976c7352bd7f9632804862668b7
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
789c4b4b14880621f05e7750f594b24bc93fcff9 13-Feb-2017 Diego Perez <diegoperez@google.com> Add dynamic font support

This CL allows loading fonts from resources.

Test: Added new fonts test
Change-Id: Ic82239121cc3f78f2a22b22de42e54575c1f2d98
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
f32adf447511d54c2aa0948d3c1ef44d461538ac 23-Nov-2016 John Reck <jreck@google.com> Clean up ApplyStyle JNI

Bug: 32573798

Mark input uint32_t[] as const. Use Read-only JNI
array access for input as it's faster than critical access.

Use non-movable arrays for TypedArray so that the address can
be resolved and stored, avoiding the need to do JNI array
access for the output.

Indicies is always non-null, so remove the optional checks.

Eliminate unused return value.

Benchmark results:
twelveKeyInflate 4963us -> 4713us
simpleViewInflate 73us -> 60us

Test: Device boots, benchmarks show faster

Change-Id: Ic3bde5aee31407d8903913f97f2218daf074499a
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
f627cbb15b5ffc8e1195dfd1dde751a9202e11e1 29-Jul-2016 Diego Perez <diegoperez@google.com> Try to resolve IDs also as enums

This is intended to cover the edge case in ConstraintLayout (and
possibly in other places) where an attribute is defined as
reference|enum.
If we can not resolve the value as a reference, try to resolve it as an
enum and return the value.

Change-Id: I2817aa5d78500247a2e9aec5411586a1db13791d
(cherry picked from commit b24b563654bf7c007f0912bf32fbab948fcb6daa)
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
fb175664469f1eb1bc598f54a7f86ff008e88b0e 27-May-2016 Diego Perez <diegoperez@google.com> Add support for AppCompat widgets

This allows previews to use appcompat attributes like
app:backgroundTint.

Bug: http://b.android.com/211349
Change-Id: Iaa5f1612c58a6a27d3948bfe1bc0373098c57720
(cherry picked from commit 2ddddbc86314fa16c51d0e5f0d6e55e0a6676d26)
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
7ba6dc0fcc66c96383aabd8db40adf1bac66ce7f 07-Mar-2016 Xavier Ducrohet <xav@google.com> Merge "Change BridgeResources to Resources_Delegate" into nyc-dev
566b303365078fac9a454f1595add19e02631db3 01-Mar-2016 Diego Perez <diegoperez@google.com> Add support for GradientColor in layoutlib

Change-Id: Ia9a55a9e00d7ddb5263f3dbe46b5da8dde457526
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
e05f1c4684fcc7e3f6a429ff01b210aa19f75304 04-Mar-2016 Deepanshu Gupta <deepanshu@google.com> Change BridgeResources to Resources_Delegate

This is a very hacky fix to make layoutlib work with the latest support
lib. Inject a couple of fields in android.content.res.Resources to
allow using most of the earlier code as is.

Bug: 27403642
Bug: http://b.android.com/201934
Change-Id: Ia96a1b4642a1907a77d9ca7a2392f78809b92e38
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
5d1013cf13e59b7f8dc8f16b5811cb29982e0ef3 23-Feb-2016 Diego Perez <diegoperez@google.com> Implement native methods in VectorDrawable

Most of the VectorDrawable implementation has been moved to native code.
This CL implements most of the required functionality that existed in
Marshmallow.

Change-Id: I009bcd5c166f2bfa0795d2718fabab4a549eba9f
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
b63da06a7ab9ad06184b0359abddd9137742ea4a 14-Dec-2015 Jerome Gaillard <jgaillard@google.com> Get color state list file content from PSI instead of disk

Use new functionality from callback to get the content of state list files
from PSI instead of disks.

Bug: http://b.android.com/183767
Change-Id: Ic256d1e7787209d772ccd42c2e3c7f409cac2964
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
6649ca371139831369e063b937e25d7d6e97b9e6 24-Sep-2015 Deepanshu Gupta <deepanshu@google.com> Fix TypedArray.getTextArray()

Change-Id: Ic55b52840892fbf2a4258ba97ed31ca0283da8ed
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
0437cac76c24dc6cac7b530e6d80f789565550ec 04-Aug-2015 Deepanshu Gupta <deepanshu@google.com> Make getInt in BridgeTypedArray accept empty String.

The XML editor already warns about the empty strings in places where an
int value is required. There's no need to show another warning for it in
the rendering panel. Also, the rendering might have also failed when the
empty string is encountered. Try an continue the rendering, because no
rendering state is really bad.

Change-Id: I85106f37e4462f237e85f0b065b4ce8a4bfabf4d
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
5779ad71eabed3aabaefef1e4749693f8320816e 28-May-2015 Deepanshu Gupta <deepanshu@google.com> Fix BridgeTypedArray.getType()

Also includes some fixes for BridgeTypedArray.getInt() - when value is a
color, when value is an octal int, when value is true/false.

Bug: http://b.android.com/162438
Change-Id: I0b985ea3437be8018d0e116e7a599843cc7aacd6
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
476e582d2ffdf25102d4c55f8c242baa3d21d37f 22-May-2015 Deepanshu Gupta <deepanshu@google.com> LayoutLib: Change nullity annotations.

Switch from using tools nullity annotations (com.android.annotations)
to android framework annotations (android.annotation).

A new sdk-common prebuilt is required for LayoutLib tests. The new
sdk-common requires an updated tools-common. The updated tools-common
doesn't have nullity annotations. So, instead of adding the annotation
dependency, just reuse the platform ones. This also paves the way to
include other platform annotations like IdRes etc.

Change-Id: I87b8f767d3681d914abe7d1329e26a87f49f50a7
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
10dff451f3998728f4bb54585e4c5402edca06ba 21-May-2015 Deepanshu Gupta <deepanshu@google.com> Use non deprecated method for creating ColorStateList

Change-Id: I9fce928276c8a2af55eb0615a4895abb6a973be5
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
21b564573327b1ed2f7e06146b8a01c47ede3089 19-May-2015 Deepanshu Gupta <deepanshu@google.com> Fix include tag rendering.

A missing catch clause caused rendering to be failed when there is an
include tag that doesn't specify layout_width and layout_height. Also
improve the error messages to make debugging easier next time.

Change-Id: I617762636973a010b34da167c7b5fcd328b7d178
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
d77b9ed7dcc42efca33b225c4594a30aab9e709c 12-May-2015 Deepanshu Gupta <deepanshu@google.com> Add missing delegates for M preview.

- Remove ICU dependency (use the version bundled with platform).
- Restructure intelliJ project to move dependencies to module.
- Minor fixes to layoutlib tests.

TODO:
- Load ICU data.
- Hyphenator doesn't work.
- High quality line breaker not present.

Change-Id: I965e096e17bfc97ee995a649c3f4f6f64bb4f70d
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
37dbb8b7f3c069196040eed3a03006647db7fa5b 15-Apr-2015 Deepanshu Gupta <deepanshu@google.com> Update to using LayoutlibCallback.

Change-Id: Ia89d418b0d40ca8efef8968a4a2a635616b945ac
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
9ca97747260b9906fc3a159ce3930109022cf2dd 30-Mar-2015 Deepanshu Gupta <deepanshu@google.com> Add @empty support.

Bug: http://b.android.com/162428
Change-Id: Id7a981de2fce21213e12cdabcce4104f146fd4d3
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
b6864ac6cde109be320e18188209eb8420c585f1 16-Jan-2015 Deepanshu Gupta <deepanshu@google.com> Resource resolution fixes.

1. Some dynamic ids weren't created and resulted in ResourceNotFound
exceptions.
2. Prevent NPE if a style attribute (eg. style="?attr/foo"), which
cannot be resolved, is resolved. This effectively, also results in
making it harder to catch misconfigured themes. However, support
library does it, and we don't want to throw errors when the library is
working as intended.

Change-Id: I731d8fb9209eb72b464d235d1072d416e132970b
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
4a605c6fa0027ee116beb29fbc9625721f0441f0 28-Oct-2014 Deepanshu Gupta <deepanshu@google.com> Use right theme for drawable inflation.

The theme information was lost when inflating drawables. As a result,
drawables inflated in the ActionBar did not have the right tint.

Change-Id: I13d5c78039e35085ed4902289fcb735bb15d972e
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
3c8140ab4b39922f92682910ce24de77fd512db4 02-Oct-2014 Deepanshu Gupta <deepanshu@google.com> Minor style changes.

Addressing code review comments on previous change: 171804201dd

Change-Id: I2c9e0ce35e755c23d8292749828d15a87109d6dc
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
171804201dd556f8ce7ee7618661a5c8ee71507a 29-Sep-2014 Deepanshu Gupta <deepanshu@google.com> Always resolve enum when resolving resources.

Enums were resolved only for integers and dimensions. This change
resolves enums for all resource types. Well, almost all. For color and
colorStateList, enums are still not referenced.

Bug: http://b.android.com/76091
Change-Id: Ie43bd1b54fb9877655d31773bdf71d9a6a65c473
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
cd0bb17d30e360c44e03b33bae3d42114b8cc2fb 04-Sep-2014 Deepanshu Gupta <deepanshu@google.com> Remove warning for null entries in resource array.

Change-Id: I32e0b8129e29f3e1e5a472b26e16f3fd06d4b91b
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
bc34eb11f67c46b0808d2a65628077faed0eefb0 26-Aug-2014 Deepanshu Gupta <deepanshu@google.com> enums in dimension attributes.

enums in resources were only read for integer attributes. This change
parses the enums for dimension resources also. This also means that we
don't have to hardcode the resolution for match_parent and wrap_content.

TODO: Fix this for all resource types.

Bug: http://b.android.com/75285
Change-Id: I86752b2322ea017499942a87568ba5c54b8654e4
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
d4cf391c618e5f370f2cfd9f344baa895d5d3242 26-Aug-2014 Deepanshu Gupta <deepanshu@google.com> Null out "@null" attributes.

Remove references to the resourceValue for "@null". This saves needless
checking for "@null" every time an attribute is requested.

Change-Id: I816e78619fa0b1ddcacd1ef5ac90765e30a9a44c
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
151b68ddc222d66b60b5447a60ab6e246a4d2ac0 20-Aug-2014 Deepanshu Gupta <deepanshu@google.com> Fix "@null" resource values in LayoutLib.

Bug: http://b.android.com/74072
Change-Id: Ib84906d86772ac3df2407e71ad2167797bec4542
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
26e32ea559da98dcdebaefb74d4f3c1a5ce705c3 10-Jul-2014 Deepanshu Gupta <deepanshu@google.com> Update delegates

Change-Id: Icd93c31b4e8c8ee5ea242fb8295578937f48ff2a
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
dc62340f18becf51f6f3c94d3994665bcd7dd537 23-May-2014 Deepanshu Gupta <deepanshu@google.com> Stopgap fix for layoutlib.

This is a temporary fix for changes made to TypedArray regrading theme
attributes.

Change-Id: I173fde6d8d3259479b0654ff331bc27bf2814fb0
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
831f3ce9b5b330101b090daf3163a843e0c6317e 26-Mar-2014 Deepanshu Gupta <deepanshu@google.com> Add stub getThemeAttributeId() to BridgeTypedArray

The method is used to obtain theme attribute IDs for drawables for
caching.

The changeset also fixes some minor style issues found by code
inspection.

Change-Id: Ib5fe05511397b5ec7cb8e64f6b2769ec2c355f41
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
857ba4af8519479298a671461cd6f5cace35b99b 15-Feb-2014 Deepanshu Gupta <deepanshu@google.com> Fix layoutlib by avoiding Java7 calls

This change also fixes a NPE in TypedArray caused by changes in the
framework.

Change-Id: Ie64237c567fa16c35c807db22ce9a4b609ee411d
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
282e181b58cf72b6ca770dc7ca5f91f135444502 24-Jan-2014 Adam Lesinski <adamlesinski@google.com> Revert "Move frameworks/base/tools/ to frameworks/tools/"

This reverts commit 9f6a119c8aa276432ece4fe2118bd8a3c9b1067e.
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
9f6a119c8aa276432ece4fe2118bd8a3c9b1067e 28-Aug-2013 Mike Lockwood <lockwood@google.com> Move frameworks/base/tools/ to frameworks/tools/

Change-Id: I3ffafdab27cc4aca256c3a5806b630795b75d5c8
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
72c6137a7aa5e5ada6a4aeca52f33d060742beb6 05-Jan-2013 Tor Norbye <tnorbye@google.com> Handle empty flag attributes, such as gravity=""

Without this, an empty string will be passed into
XmlUtils.convertValueToInt, which throws an
index out of range exception.

Change-Id: Ibd1a140e207653b205852087f33ccb87fbbb9bbc
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
330dd534848562515c6c67cb3de13067e86866a1 18-Dec-2012 John Spurlock <jspurlock@google.com> Remove remaining doc references to StyledAttributes.

It appears StyledAttributes was renamed to TypedArray
prior to fw 1.0. Leaving references to the old name
around in the public docs is confusing.

Deliberating leaving...
tests/coretests/src/android/widget/LabelView.java
... as is - it's clearly unused.

Change-Id: I3f66e5f9cbe945d9d86530d37b88369b401f054d
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
5d701eddcf7f4abd5867ec3bf2091916d5ebbdf1 16-Mar-2012 Xavier Ducrohet <xav@android.com> LayoutLib: Properly support attr ns when used in styles.

Change-Id: I885864588928589d7c9a34b94339917c5be47fa5
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
7f9f99ea11051614a7727dfb9f9578b518e76e3c 11-Aug-2011 Xavier Ducrohet <xav@android.com> Make some methods/fields package private so that layoutlib can access them.

Change-Id: I4aeadfbaf8a4f6a459fa19937c21ac23d9e5fb64
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java
d2f664d42cc29507b01a98622298b69131463825 30-Jul-2011 Xavier Ducrohet <xav@android.com> Misc layoutlib fix in preparation of the access change in framework code.

Change-Id: I873adb7345514be6daa5c4fea4ebabb515f203e2
/frameworks/base/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java