History log of /frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
e2ec2e86ae9f9552551e524efb9898d889e2f70a 05-May-2017 ztenghui <ztenghui@google.com> Fix VectorDrawable size rounding issue

b/36668701
Test: Added new CTS test for this.
Change-Id: Ifcd74bc89e85841bf9f47eca8eb7d4eb401cf6ff
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
4a81674b45b7250c4e2a80330371f7aa1c066d05 02-Feb-2017 Jiaquan He <hejq@google.com> Detect unhandled keyboard focused state.

A View uses a Drawable as its background, which changes
its appearance according to the View's state. This commit
adds an algorithm to detect undefined state_focused in
state specs for those Drawables.

Test: cts-tradefed run singleCommand cts --skip-device-info
--skip-preconditions --abi armeabi-v7a -m CtsGraphicsTestCases
-t android.graphics.drawable.cts.DefaultFocusHighlightTest
Bug: 35096940

Change-Id: I5e9f07141679881fe88f9040aa116ea2f9d537c9
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
6097eca72134034fcc6086c110673b5df94913b0 08-Mar-2017 Chris Craik <ccraik@google.com> Expose color filter mutate methods

Bug: 36025103
Test: cts-tradefed run singleCommand cts-dev --module CtsGraphicsTestCases

Now, similar to Shaders, we defer native creation until Paint is being
used, and ensure that we have an up to date filter when drawing.

Also implements ColorMatrix#equals to behave like Matrix#equals.

Change-Id: I5f74addd97f5662800802e6f660fead58d518725
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
18ad5f43685489e0086dce74f2bfcca9ba39daa3 14-Nov-2016 Teng-Hui Zhu <ztenghui@google.com> Update the documentation related to VD / AVD

fix:32705240
fix:32683765
fix:32831830
fix:32705244

Test: make offline-sdk-docs and view the HTML file.

Change-Id: I6ae3e5850494f13a241b2e9e4d2c5b95d5199aae
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
299659ddb7e0c34ca094abe485bcd0989727fc07 07-Oct-2016 John Reck <jreck@google.com> Convert VD/AVD to FastNative

Test: build & boots
Change-Id: I6519ba245eca1a43fb00de36c91a05a9740c8c5f
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
897f5ca748eb68287e25d8f259fdff05a9d8f224 06-Oct-2016 Doris Liu <tianliu@google.com> Restrict AVD and VD parsing to the current element instead of the whole document
am: 1f859716a8

Change-Id: Ic2fe385089997f89675be8f8a1559db979387dbb
1f859716a8e4b8c12d69ca8b3db8344de577d5c7 03-Oct-2016 Doris Liu <tianliu@google.com> Restrict AVD and VD parsing to the current element instead of the whole document

This CL changes the AVD xml parsing to parsing only within the current
element, which prevents AVD parsing from always skipping to the end of
the doucment. So things that are defined after AVD in the same document
can be picked up by the xml parser.

The same fix has been applied to VD as well.

BUG: 31865175
Test: Manually following comment #1 in the bug above

Change-Id: I4ebdce1eb2e92d6f6e2c37caed9607253d24602f
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
bb129294700d7c31a3793717efe14b06a7bd2305 28-Sep-2016 Teng-Hui Zhu <ztenghui@google.com> Update JavaDoc about animatable on VectorDrawable

b/31782834

Change-Id: I64279fd14841302caaa71c817feaf01b855126ad
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
d64255f61db30934e293adab2a5a8ac9eeea0b98 26-Jul-2016 Teng-Hui Zhu <ztenghui@google.com> Update the javaDoc for VectorDrawable and AnimatedVectorDrawable

b/30269243

Change-Id: I139a3fcac95c41a667fa06aa3223b812caad6243
(cherry picked from commit c224417511d8179a08c4dfd4badc73dd9699ebf2)
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
26bb10999b1a8a64383337117fe58505eb75e9e7 15-Jul-2016 Doris Liu <tianliu@google.com> Ensure native allocation/free is correctly registered

This CL fixes an issue where one of the constructors creates a
native tree object without registering the allocation of its
root group with the NativeAllocationRegistry.

BUG: 28943866
Change-Id: Ic8db3f2fa8036dfabdbc1a1fcbd58d08a0379e2d
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
4f1acfb5f507798daaff2ff0da47d2b15607ded4 30-Jun-2016 Teng-Hui Zhu <ztenghui@google.com> Mutate the drawable if a valid state change happen

In another word, create another cached bitmap, when the current VectorDrawable
will look differently when state changed.

b/29870392

Change-Id: I7a5ef91091e547a930368286defc7ab96aeb9471
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
25242a7bbc5738f5a1fc85499e229f849b796bcf 29-Jun-2016 Alan Viverette <alanv@google.com> Merge \"Disable constant state sharing for VectorDrawable\" into nyc-dev
am: f66bdf9b57

Change-Id: I0c6397987d926c35cb5486fd9d2cb22efb8d8f14
1882ce941ba38879733617e7a5734a244d8afaf3 29-Jun-2016 Alan Viverette <alanv@google.com> Disable constant state sharing for VectorDrawable

Bug: 29854240
Change-Id: Icc58d04ad6f471d05b085a9089893e4f7205eb7d
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
3f6a95283af6d93a81c74c90b1b9230f9641cfb0 09-Jun-2016 Doris Liu <tianliu@google.com> Merge "Handle hidden RT VectorDrawable animators" into nyc-mr1-dev
718cd3eb70703c43f29ca37907bbf0e153d8cca0 18-May-2016 Doris Liu <tianliu@google.com> Handle hidden RT VectorDrawable animators

This CL changes the target of VD specific animators to VectorDrawable,
instead of RenderNode. The benefit of doing so is that animators can
now detect whether the animation is meaningful by checking whether
their VD target is in the display list. If not, that means the VD is
not drawing for the current frame, in which case we can be smarter
and more power efficient by removing the animator from the list and
posting a delayed onFinished listener callback.

By setting VD as the animation target, when an ImageView decides to
update its drawable from one AVD to something else, we'll be able
to detect that the previous AVD is no longer in the display list,
and stop providing animation pulse to the stale AVD, which is
something we couldn't do previously. This change also
handles the case where one AVD instance could be drawn in two
different views.

Bug: 27441375
Change-Id: Iaad1ed09cfd526276b95db0dd695275c28e074e8
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
792926a58c94563cf35d532cd3db888cc1cbeb7d 20-May-2016 Doris Liu <tianliu@google.com> Improve the property modification effiency of VectorDrawable animators

Previously, the VectorDrawable animators modify the VD properties by
doing reflection based on the property name. This CL avoids the overhead
of calling reflection by wrapping the setters of VD objects in
Float/IntProperty.

Bug: 28124049
Change-Id: I562c8d749fdfe508564c82a700a92e835cdd9ff4
(cherry picked from commit 9f3b31b9530a2121b4557fc312972c4faa133d5e)
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
028029730bf2d177f84316d2d444d409eba4b6cb 27-May-2016 Doris Liu <tianliu@google.com> Copy native tree's property when mutate vector drawable

When mutating vector drawables, we need to not only copy over
the VD tree structure, but also the properties of the VD tree,
such as alpha.

Bug: 28974071
Change-Id: I265e7e3cb92455b876cae248bcb9811230cb34f9
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
a8d671a144c4607c6ceb59ae8dc5b0535692639f 09-May-2016 Teng-Hui Zhu <ztenghui@google.com> Update and add attributes to the JavaDoc for VectorDrawable

fix:28678266

Change-Id: Ife23937feb6ccbd043bd435ffcb20a79a8861edf
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
f8d131cc8dc4ef675b8f8fc57dcc26062d575d32 30-Apr-2016 Doris Liu <tianliu@google.com> Count native allocation for VD against Java heap

There are two parts to VD's native allocation:
1) VD's internal data structure (i.e. groups, paths, etc that make
up of the VD tree). This structure can change, when a VD is used
to load a different drawable resource.
2) Two bitmap caches, not both of which will necessarily be allocated
The size of the bitmap cache depends on canvas matrix and drawable
bounds, and therefore can often change.

We need to count the native allocation from the above against Java heap.

Bug: 26269056
Change-Id: If833aedcf7f3efe00ea73a41ddccb1b48066ffd8
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
cdedc9a80d971c8152b6f2674c040c79cff3b8dd 12-Apr-2016 Doris Liu <tianliu@google.com> Check whether VD tree is still valid before calling native setter

VD tree is ref-counted in both Java and native. VD's child nodes are
entirely owned by the native tree, as VD nodes in native should outlive
its Java counterparts, with one exception: when there's an infinite UI
animator running on VD, the animator may have weak reference to a few
child nodes. In the case of hidden animator running infinitely, the child
nodes would keep getting the animation pulse while the rest of the tree
would have been destroyed. To prevent the setters triggered by animation
from calling into native, we need to check whether the tree is still
valid before going down into JNI.

Bug: 28104172
Change-Id: Ie9d4bf3898c0c23e620a4747624d24b8ab779743
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
aaa725647e83dcefda3614b9bf4dd3d1c61e900c 21-Mar-2016 Tenghui Zhu <ztenghui@google.com> Merge "Document the cache bitmap behavior for VD" into nyc-dev
c0b87a84c6220cfa7b9c411609bf140b9c5928d5 16-Mar-2016 Teng-Hui Zhu <ztenghui@google.com> Document the cache bitmap behavior for VD

b/26454083

Change-Id: I22aeef9760aaf6bb79dca85740281cf94e19e601
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
46591f4a2dbd785bcae2b82bb490e78208605ec8 15-Mar-2016 Teng-Hui Zhu <ztenghui@google.com> Add fillType support to VectorDrawable

Default as non-zero, which is the same as SVG.
b/27533958

Change-Id: Id20e6d3493bb4d2b4b65d7f6cdb13586631c40e4
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
ac85f90466dd60d2af8ffc3942d503a0de606726 11-Mar-2016 Alan Viverette <alanv@google.com> Ensure all Java-side usages of config flags are using Java flags

Previously we were using native config flags in some places that expected
Java flags, and vice-versa. All usages of config flags are now annotated
to ensure we're using the right type.

Cleans up annotations on most methods that were touched.

Bug: 21161798
Change-Id: Ifd87dfb12199fc8258915d8a510e03ddb681ca89
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
f10d08a3d4968d3dfb4324959e33ebb691899eda 09-Mar-2016 Teng-Hui Zhu <ztenghui@google.com> Update the VD and AVD's getOpacity()

static VectorDrawable should be returning Transparent while root alpha is 0.
AnimatedVectorDrawable running on RenderThread now, and the opacity should
be conservatively set as Translucent.

http://b/27554766

Change-Id: I9a78696cab94f10ba40a733cc9c00f1c2d7ebb7f
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
f7ae8d727bb88e73fbe8087f7385e7cb31b7292d 11-Feb-2016 Teng-Hui Zhu <ztenghui@google.com> Fix the CSL theme support inside VectorDrawable's fill and stroke

b/26774249

Change-Id: I9a9fcdb0e88c4b46ab86c6b3fd780d40b96024db
(cherry picked from commit 15cc49ae521699b70e3b011768b2ae58a7a9b2fd)
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
ef062ebd20032efe697741d6c3dfd1faec54f590 05-Feb-2016 Doris Liu <tianliu@google.com> Ref count the nodes in VectorDrawable

Also added API check so that for pre-N we ignore invalid VD animation,
in order to avoid breaking old apps.

Bug: 26975469
Bug: 26949340
Change-Id: I498539ad6a05de3d886e7dcdc8a167e78333ab11
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
766431aa57c16ece8842287a92b2e7208e3b8ac3 04-Feb-2016 Doris Liu <tianliu@google.com> Revert "Revert "VectorDrawable native rendering - Step 4 of MANY""

This reverts commit 5a11e8d0ba21624025b89ac63bbd18befa55be0e.

Change-Id: I7a48b59c4f930dad65ddc8590c25a12636244ea2
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
5a11e8d0ba21624025b89ac63bbd18befa55be0e 04-Feb-2016 Doris Liu <tianliu@google.com> Revert "VectorDrawable native rendering - Step 4 of MANY"

b/26949340 and b/26975469, b/26975079 as well

This reverts commit f276acd98457bcaabc9e79a17a736b3b484f005e.

Change-Id: I4b55177daf0d289bc03604c71fd4bf579f65073a
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
f276acd98457bcaabc9e79a17a736b3b484f005e 07-Jan-2016 Doris Liu <tianliu@google.com> VectorDrawable native rendering - Step 4 of MANY

This CL runs VectorDrawable animation on RenderThread. The changes in this CL
include:
- Convert all the animators in AnimatorSet for AVD into a set of RenderNodeAnimators.
- Hook up the new animators with RenderThread
- Add drawOp in RecordingCanvas for drawing VD so that during the animation
on RenderThread, all the property changes on VD can be reflected on the screen.

TODO:
- Implement reverse and reset for AVD.

Change-Id: I2df1d754f2db0ad098d9c15dde4bb2bdfafc2315
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
dbee9bb342cdfaa5155b1918f90262c05e2464cb 15-Dec-2015 Teng-Hui Zhu <ztenghui@google.com> Gradient for VectorDrawable's fill and stroke

Add ComplexColor interface for both GradientColor and ColorStateList.
Set up constant state, factory, theme attrs for GradientColor, while
refactoring the ColorStateList's similar code. (Functionality in CSL should
be the same).

Support themeing in both the root and item level in GradientColor.
For example, both startColor in <gradient> tag or color in <item> tag can
have theme color.
Add tests for both simple and complex cases with themeing etc.

Hook up the native VectorDrawable implementation using 2 extra JNI calls for
simplicity. Such calls only happen at inflate and applyTheme call.

b/22564318

Change-Id: Ibdc564ddb4a7ee0133c6141c4784782f0c93ce0e
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
4bbc2931263b232fba61807fca00e127573eff42 02-Dec-2015 Doris Liu <tianliu@google.com> VectorDrawable native rendering - Step 3 of MANY

- Refactored VPathRenderer & VectorDrawableState
- Moved all the VD rendering into native
- Set up hooks for VD's property changes in JNI for animated VD

TODO: JNI calls can be further reduced when we convert the animation
in AVD to use RenderNodeAnimator, in which case animation will be
driven from native and therefore most of the JNI hooks for changing
VD's properties during animation will no longer be needed.

Change-Id: I52021f4d7bea057b83ace54085d870dd45acae0f
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
c078c605ab904b0e4a5d793cbeffd78c340f2816 08-Dec-2015 Alan Viverette <alanv@google.com> Attach drawable resource ID and name to getDrawable() exceptions

Wraps the entire getDrawable() method in a try/catch block. Clears the
stack trace from the re-thrown exception, since we only need the trace
from the original exception.

Also clears stack traces from re-thrown RuntimeExceptions in applyTheme
implementations.

Change-Id: I92396abf9e748eef78777174b297a09e118f5e70
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
61ffc199f24f6817f45e41df06bd27d28521bacd 19-Nov-2015 Alan Viverette <alanv@google.com> Merge "Apply VectorDrawable density scaling before applying theme"
d633ca417d3925521ab15fba1c0cdac172efb184 19-Nov-2015 Alan Viverette <alanv@google.com> Apply VectorDrawable density scaling before applying theme

Refactors density handling to look more similar to GradientDrawable's
implementation, which should make things easier to maintain. We no
longer update density directly in updateStateFromTypedArray, instead
handling it in applyTheme() and inflate().

Lazily calculates local density-dependent dimensions and invalidates
when the constant state density changes, which should ensure a random
call to applyTheme() will still result in the correct intrinsic
dimensions.

Change-Id: I726878a6cd75d38a550637e3e7a7b6bc68bcaf6d
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
804618d0863a5d8ad1b08a846bd5319be864a1cb 17-Nov-2015 Doris Liu <tianliu@google.com> VectorDrawable native rendering - Step 2 of MANY

Introduced PathData in Java, which is effectively a thin layer around the
native instance. PathData holds the verbs and points which is being used
in path morphing/interpolation. The verbs and points can be interpreted
into skia path commands, which is now done in native and therefore saves
a handful of JNI calls during path creation.

Removed the old PathDataNode mechanism and changed the PathEvaluator
to use PathData instead.

Also added tests and a microbench. Also ran CTS tests for VectorDrawable
and AnimatedVectorDrawable, and passed all of the existing tests.

Change-Id: Ia166f5172ff031fe18b154327967f911a62caec1
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
ce52037e0ae0c380f5b834fb3dad105bfaf5e374 30-Oct-2015 Alan Viverette <alanv@google.com> Support for changing density of GradientDrawable

Refactors density resolution and offset/size scaling into static
helper methods.

Also fixes VectorDrawbale insets to be treated as offset-type pixels
rather than size-type.

Bug: 25081461
Change-Id: I10fcb9ebb6c67f853a27ca0ee008c31af4b85da0
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
4a94faa0c74c7ad4defdc6e2fa937c93a4d0b5af 21-Oct-2015 Alan Viverette <alanv@google.com> Scale density correctly on VectorDrawable.applyTheme()

Bug: 25081461
Change-Id: I012e0932e67bc51502dc00e11131218af1377115
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
a3ee41b6335bef38c9ac1114fcd7f20b81081a78 20-Oct-2015 Alan Viverette <alanv@google.com> Apply density scaling when updating from typed array

Ensures that density scaling is applied to default dimension values
where needed. Previously, scaling was only applied when a drawable
was loaded from cached constant state; however, drawables that were
preloaded against a different density and first loaded in some other
density were not scaled.

Bug: 25081461
Change-Id: I0f8058cc01e2fe8d6bd7e255eba40485f3cbe48b
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
02f633d4cf0bd0c49c4b53ead92638f8a5df7a6b 19-Oct-2015 Alan Viverette <alanv@google.com> Clean up VectorDrawable usage of stroke and fill color state lists

Only store stateful CSLs; otherwise, just use the default (e.g. the
only available) color.

Bug: 25074102
Change-Id: I050c89841d4c6bf22473a66c713a845b0358dc94
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
50c29cd92f4fc410f61e2d14ce77f5e8e76daf0b 22-Sep-2015 Alan Viverette <alanv@google.com> Allow color state list for vector drawable fill and stroke

Removes unnecessary invalidateSelf() from VD.onStateChange(). This is
handled by the view hosting the drawable.

Bug: 22984152
Change-Id: Idf11a0ffef392cb1d8452aa3f5f836b35027a756
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
d54e993924da465018f41a84f6aa9f273aa7c9f5 01-Sep-2015 Alan Viverette <alanv@google.com> Refactor VectorDrawable to use VObject for paths and groups

Cleans up collection typing and encapsulation. VObject encapsulates
inflation, theme application, and drawing. VFullPath is responsible
for rendering nodes to a Path.

Change-Id: Ic760576d8000c4844ec3cab1b4bbcecb4fa1b760
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
35289f12d6cb0f0db67489876c805ad4a3cbd5f6 14-Jan-2015 ztenghui <ztenghui@google.com> Scaling (Animated)VectorDrawable inside ImageView

Before, the VectorDrawable is behaving like BitmapDrawable inside a ImageView,
and it can be blurry due to scaling.
Now apply the scaling information to the cached bitmap, then the size of bitmap
will match the ImageView's screen size. Therefore, no blurry any more.

b/18185626

Change-Id: I979cef3b5178a9bd37ee6cc776df3361ca47c803
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
95080637db69ffa4f31f18f32878ddd2457e6857 24-Jun-2015 ztenghui <ztenghui@google.com> Resize the VectorDrawable according to the virtual Dpi

b/21928507

Change-Id: I9e596192a0fdf13fc91481f990a345c3b267f225
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
a74171190077d5ef8704a29442669e806447d560 06-Jun-2015 Alan Viverette <alanv@google.com> Implement getColorFilter() on VectorDrawable

Bug: 21580708
Change-Id: Id64bebeb5c39906ed34775e8ccc39f666966bad9
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
87e1938be8e6c2ac7e6163a63df5dd69633cc836 30-May-2015 Alan Viverette <alanv@google.com> Replace PNG-based seekbar thumb animation with AVD

Adds optical inset support for VectorDrawable and GradientDrawable.

Bug: 19944181
Change-Id: I9df04d9fe17ad858413e7f93694bf37ee2c43c85
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
b7acab634ad2a8f318e5e53267df010e3c2a2219 06-Apr-2015 Chris Craik <ccraik@google.com> Merge "Fix path clipping in VectorDrawable"
e9c01a40a2f0f0da195dfbb2909aaee5c005d1c6 06-Apr-2015 Chris Craik <ccraik@google.com> Fix path clipping in VectorDrawable

bug:19946683

Change-Id: I773957df7459eb72ea5d505afb0daac08239ecbf
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
df62ab4833dc34207e68f8ad22e31a5fcaa6744e 03-Apr-2015 ztenghui <ztenghui@google.com> Merge "Add group scaling factor into stroke width."
9af77a4ce22540726fbddd275f89e65fd1a1edf8 02-Apr-2015 ztenghui <ztenghui@google.com> Add group scaling factor into stroke width.

Originally, stroke width is independent of group scaling.
But that is a bug and causing animation trouble.

b/19501782

Change-Id: I33d5e44f2f8b2a82fee1a5a326223a39aaffa86c
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
e0f95f39c5a669a48ee3ebb8dc45bf2d7ee940f1 01-Apr-2015 Alan Viverette <alanv@google.com> Fix issues with theming of preloaded ColorStateLists

Ensures changing configurations mask is propagated to the host drawable
so that it can be properly cleared from cache on configuration changes.
Also fixes constant state handling of the mask in the Inset and Rotate
drawables.

Hides new ColorStateList methods related to theming, since they should
only be used during preloading or internally by framework drawables.

Fixes bug where the cached versions of themeable ColorStateLists were
modified by calling applyTheme() on the host drawable.

Also cleans up some docs and naming in GradientDrawable.

Bug: 19966397
Change-Id: I8c8d3cabbaf94b488c2b8fe9fd423e07d824c19c
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
304bbd117def97317bddd781b92e4642e1960d18 26-Mar-2015 ztenghui <ztenghui@google.com> Merge "Polish the documentation for VectorDrawable and AnimatedVectorDrawable"
0ea3aca4eb5c920fa43dab1ea027c322d23b9bda 26-Mar-2015 ztenghui <ztenghui@google.com> Polish the documentation for VectorDrawable and AnimatedVectorDrawable

Change-Id: If6bedf84cb01971c55b5a99ad921303dad638b24
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
34c623cbf3677820c4170f24c5211f663dda91f7 25-Mar-2015 ztenghui <ztenghui@google.com> Don't draw when bounds are negative

b/19922909

Change-Id: I68559ed683031f57538439e0a3e4979fe9f430a5
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
84d9e0ef0b14daef5c3308edc5c2f7a418456a8b 24-Mar-2015 Andreas Gampe <agampe@google.com> am 5e968ad1: am dde72862: am 7db6ebe0: Merge "Frameworks/base: Don\'t allocate another identity matrix"

* commit '5e968ad1d6c0387fb6b71b3693f5c0e95ccf469f':
Frameworks/base: Don't allocate another identity matrix
7db6ebe03719dfc6b9fb680b038fd9ef0302e4ca 24-Mar-2015 Andreas Gampe <agampe@google.com> Merge "Frameworks/base: Don't allocate another identity matrix"
08067d98295303cf9c8235ab27b3e6e8038f084c 16-Mar-2015 Andreas Gampe <agampe@google.com> am 8e176d39: am 007e207b: Merge "Frameworks/base: Fix null-pointer check"

* commit '8e176d396d393af90ffe288d849e95ff40aa2b23':
Frameworks/base: Fix null-pointer check
d538fa0fb21171d8256b7d800ae757757f4e3a44 16-Mar-2015 Andreas Gampe <agampe@google.com> Frameworks/base: Don't allocate another identity matrix

There is already an identity matrix in Matrix. Don't allocate another
one for VectorDrawable.

Change-Id: I51735f262d6680e043b0009707ec42acb2d0d1ad
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
f2b1cff4e2b152a7c776a7a79e8225a591f97d3e 15-Mar-2015 Andreas Gampe <agampe@google.com> Frameworks/base: Fix null-pointer check

Change-Id: I715a21c313e909ae654e0c1aa67bdf7bcd89de76
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
a0d17f80902468b5a4e0874daeac92abc6f71b3e 20-Jan-2015 ztenghui <ztenghui@google.com> Merge "Update the javadoc for the clip path fix."
6fbcefe4d7248912cd797de376eb25c5ace1544d 14-Jan-2015 ztenghui <ztenghui@google.com> Update the javadoc for the clip path fix.

b/18758765

Change-Id: I1845c09a120ecdf0d7685ff1f6165b1e841db5ce
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
5a880611cce5276dfb3138b6360a5c69994718be 10-Jan-2015 ztenghui <ztenghui@google.com> Merge "Limit the scope of clip path to the group, not global"
054a17caaa7cd36f4f4ba644088c4ccf5b9c06fb 08-Jan-2015 ztenghui <ztenghui@google.com> Limit the scope of clip path to the group, not global

http://b/18758765

Change-Id: I899401a5fcbccd0421687bd5cf671f7751092195
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
45c4bbbbce6bbad50a033efcba7948a23f1f117a 05-Jan-2015 Alan Viverette <alanv@google.com> Allow use of theme attributes in color state lists

BUG: 17384842
Change-Id: Ibdc413acbd00e37b908432abd55f6521c22b8fc9
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
d21fd9d1ccd2b525f9c004a6cd9ba19a645701ab 29-Oct-2014 Alan Viverette <alanv@google.com> Add theme and config change support to more Drawable types

BUG: 16045735
Change-Id: Ic03173a1c1779c1bb545c4c389f77afed97011ee
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
12d808a24f4af9a127ae851edd06339b77020178 20-Oct-2014 ztenghui <ztenghui@google.com> am a724d1ab: am 877ce2c4: Merge "Make sure the bitmap from VD\'s cache is drawn using bi-linear filter." into lmp-dev

* commit 'a724d1ab4083f08958bd88e76e15b7c0af337bfc':
Make sure the bitmap from VD's cache is drawn using bi-linear filter.
eec6164e6f6178343219bdedcb1e26779fae7f89 17-Oct-2014 ztenghui <ztenghui@google.com> Make sure the bitmap from VD's cache is drawn using bi-linear filter.

b/17949291

Change-Id: I0e59852220ab8a3be2c70afa483e805029a9e19e
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
17cd4dfe3a05c2eddbcbc76066ff3b13fc3f2c8b 14-Oct-2014 Alan Viverette <alanv@google.com> Update preload list, clean up drawable theming

Removes all implementations of three-arg ConstantState constructor, since
we handle mutation and applyTheme() in Resources now. Moves progress bar
tinting to android:tint attribute. Correctly implements applyTheme() and
canApplyTheme() in all drawable wrapper and container classes.

Change-Id: Ic9cb43d0d6228aa4914f3124bed234b837beaa41
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
727cae197b123ef764a1f8fbe08a995b000d14c3 08-Oct-2014 Alan Viverette <alanv@google.com> Mutate and apply theme if needed before caching themed drawables

This ensures that drawables are completely separated from their cached
constant states before applying a theme. After this, we can remove the
implicit (and incomplete) mutation in the clone constructors.

Also implements missing mutate() method on ClipDrawable.

BUG: 17646144
Change-Id: If0d66b0a85724d76e0a4f506758c7ba3c0aa3410
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
c3fdffa98136bdad1fee9c77598d541d792920e1 29-Sep-2014 ztenghui <ztenghui@google.com> Correct the documentation for VectorDrawable

We missed the alpha for the vector drawable root level in the documentation.
And the animation target can be vector drawable itself for the alpha value,
which is more than path and group object.

b/17696183

Change-Id: Ic9d441fbdf411dad92718ae5adbc6655fe708453
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
5004032ebc2aee97c5884b7f91cc33d2f98ae8b5 26-Sep-2014 Alan Viverette <alanv@google.com> Fixed mutate() for RippleDrawable, ASLD, AVD, fix applyTheme in VD

BUG: 17646144
Change-Id: I58c111d86224dc8f7f557073c0bcbc22ad74aa1b
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
dbcccffc3760f702887faa95b2748125bac88a89 23-Sep-2014 ztenghui <ztenghui@google.com> Fix animation on the some properties

The risk is low since most of them are just matching the naming to xml.
And this update won't cause build breakage.

b/17623982

Change-Id: I1eda0b8314ec7b94bc03976cdc365a7dc1039f4c
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
9c13ed366f205d94b2f3f4ddc96b55b1b9faadba 16-Sep-2014 ztenghui <ztenghui@google.com> Set cache dirty when re-create the cache bitmap

b/17503595

Change-Id: Icdaa3651345b740772363f8afb29bb36741fcc87
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
b07b086bd42181f62718a6394b56be3917b12511 13-Sep-2014 Alan Viverette <alanv@google.com> Apply VectorDrawable color filter at draw time

BUG: 17491152
Change-Id: Ia0ca0bd7cd00363ad5777d3e2e62fa1131a6d8a5
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
74cc5c39ae0335af9055cab000d4e92bbf4c9e60 13-Sep-2014 ztenghui <ztenghui@google.com> Merge "Add root alpha and animation to (Animated)VectorDrawable" into lmp-dev
8490354dc651dd8f25036ef0dda7917fb33013ed 11-Sep-2014 ztenghui <ztenghui@google.com> Add root alpha and animation to (Animated)VectorDrawable

b/17393626

Change-Id: If6a28b072f7d4bcb2b57022d86ec784f4c0d78f1
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
607bd848269fb802550e63aa61945790616f97a7 12-Sep-2014 Alan Viverette <alanv@google.com> Update icons to vectors, fix preload theming & vector tinting

Adds a missing JNI binding to AssetManager, ensures drawables have
default tint modes as documented, and updates vector tint appropriately
when state changes.

BUG: 17385604
Change-Id: Ice92885989ebc13b95952f5dc3b7904cc956da12
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
2e17d2b232e11b3ec246c704d8c4707c8fd863fa 05-Sep-2014 ztenghui <ztenghui@google.com> Bring back the fillAlpha and strokeAlpha.

At the same time, remove the group alpha since we did not follow the convention
that group's alpha should apply together, not separately to each elements.

b/17393626

Change-Id: Idfc071414213583924961dc8ea760d6fb317873c
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
6f6578e81c1df207da47e2e1337382341f271206 06-Sep-2014 Chet Haase <chet@google.com> Use constant state in AnimatedVectorDrawable

Complex animated vector drawables can be expensive to load due to
sub-optimal parsing of the String-based pathData. Suffering that penalty
every time the same drawable is loaded (such as material-themed
ProgressBars) is painful.

The new approach caches constant state of both the VectorDrawable (including
the pathData geometry) and the animators (which includes potentially expensive
path-based interpolators).

issue #17366831 Material ProgressBar taking 200+ms to inflate

Change-Id: Iba3b541e24cfce8c07f5aa9fe6aa7d7b92b2fe1c
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
fd3c4744f265c5277e6e2641a18d5ec3dff19f6b 08-Sep-2014 George Mount <mount@google.com> Use intrinsic size for path animation in AnimatedVectorDrawable

Bug 16984007

Animated Vector Drawables were using the viewport dimensions for
calculating the allowable animation error. Instead of using viewport
dimensions, it is better to use the intrinsic dimensions. Using
the viewport dimensions meant that a small viewport (e.g. 1x1)
would mean that animation paths within would only have an accuracy
of 50% of the dimensions of the drawable.

Change-Id: Id0152eabb4effd1e50c644eea7a371b38baeb7c1
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
a70b4742a7a0b2edc57cbbbf83d2c6d43ebc300d 25-Aug-2014 ztenghui <ztenghui@google.com> VD: Update the fillColor default as transparent

b/17208473

Change-Id: I52ff3d335094f0a95f138640eb24ef5dba2ef864
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
6beeb75723cec42603b47664bce794a2b97d7bac 15-Aug-2014 Chet Haase <chet@google.com> Minor doc fixes from API council recommendations.

Issue #17008236 API review: android.graphics

Change-Id: I171d376b642707858198d8a1379c732fcfcab4dd
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
0670f029a4e59448aa53b46a98e60dff6404f360 12-Aug-2014 ztenghui <ztenghui@google.com> VD: Fix Canvas save leak

bug:16965998

Change-Id: I367388b270748e2ce114b468940966d78de07465
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
66613415966f2f1a43cdaa76560eb6d53a05f15d 08-Aug-2014 ztenghui <ztenghui@google.com> Don't double count the left/top when using bitmap cache in VectorDrawable.

bug:16861184

Change-Id: I0530602957a434b222725b6fcbc1af165ee05835
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
f143ae8ffecc46008b9f6a9fa85d77324b5a145b 07-Aug-2014 ztenghui <ztenghui@google.com> Removing fill and stroke opacity

bug:16850076

attrs/public.xml update will be separated for build break friday.

Change-Id: I5863193d5fecd7e210bd6db5294868f1a70e0d2f
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
a426445dfdab43886dd894f2ba8a1d55bfcbb278 29-Jul-2014 Alan Viverette <alanv@google.com> Separate tint and tintMode properties

BUG: 16054922
Change-Id: I820fb857b671faf9eb27612e470e820c5c4cd6b5
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
c4d651ec8a8c190c5df173166357c2fdf47472ce 06-Aug-2014 ztenghui <ztenghui@google.com> MiterLimit represent a ratio itself, no need to scale

Change-Id: I474d8c29fc28786c6b3ff88848c1c802ab76d77c
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
5eb5cde467081d1af628e5463ba55f110265a86f 04-Aug-2014 ztenghui <ztenghui@google.com> Fix one typo and add linear progress bar in the test.

Change-Id: Ib516fd4a27000d8e69a6640386332140ff0d6fdd
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
874bcd82c223ce58c9d76edcf619b3988c672307 31-Jul-2014 ztenghui <ztenghui@google.com> Fix the create() for the attrs position

Change-Id: Ieb93053f28502cabbf655c4a27c4864845da212e
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
1c4d8b2173bf4b5bbac94748959752599775628d 31-Jul-2014 ztenghui <ztenghui@google.com> Correct the tag's name in the exceptions

Change-Id: I9d1499fbcf8adb6bf0c5c0b7a10a8b480a708c09
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
a95c8abb366d9c39450513335f550b56da13b30a 23-Jul-2014 ztenghui <ztenghui@google.com> API REVIEW: VectorDrawable

- Merge <size> and <viewport> attributes all in to top-level <vector> tag
- Indent attributes under <group> in java doc.
- Updata android:stroke to be android:strokeColor, likewise android:fill
- Instead of android:clipToPath, make this a different clip-path tag.
- Document units of the various attributes
- Add example code for defining a VectorDrawable resource

More than that:
= Refactor the code to better support clipPath as a sub-class.
= Update all the xml files to use the new attributes and clip-path tag.

TODO:
-- Remove clipToPath, since that should happen on build break Friday.

bug:16488254

Change-Id: I6db5680ef83cb26c8f064a60fc7d6e7142974b0f
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
1968201b44567262e7b2e382eee3d88990748d89 25-Jul-2014 Dan Sandler <dsandler@android.com> Don't crash when drawing zero pixels.

Bug: 16561522
Change-Id: Ia3a2d2930abc393dbe587053f598246c49c0c9c4
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
5a836f74df027bb568da17fbde4e641b6a56d2a9 22-Jul-2014 ztenghui <ztenghui@google.com> Add negative sign separation support in the pathData

bug:14585171

Change-Id: I61dec27856be09c44bb1d32ff61b3c3cd458cc34
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
9d59a76dd0e850558e83ef1a48fefd865fac1336 18-Jul-2014 ztenghui <ztenghui@google.com> Fix FIT_XY scaleType issue on VectorDrawable

bug:16019658

Change-Id: I8b6ac23bf14de5427d3029436acf76bd1161f0ea
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
670689af43358568bf2b5916284f1cac5762f428 18-Jul-2014 ztenghui <ztenghui@google.com> Fix caching in VectorDrawable to pass the CTS test

bug:16380401

Change-Id: I573f4cc782707c6ef3484597ddc621a7a6353898
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
738177caf6a755a59ca6b17bb968be0aa4e8e10f 16-Jul-2014 ztenghui <ztenghui@google.com> Add the RTL support to VectorDrawable.

bug:15905631

Change-Id: Ieb3dcac2dd446ba89f307716411688dcd6ec5279
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
482eb53c8a7d5180a2d0ce3b0a779c18960aa8cd 14-Jul-2014 ztenghui <ztenghui@google.com> Enable the bitmap cache for the VectorDrawable

b/16299765

Change-Id: Ia2c0fd366abc097d1ce485936de74e4e898cc07a
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
8d0d24f7a2b1a59060aa18926984491691d3c667 09-Jul-2014 ztenghui <ztenghui@google.com> Fix the render order to follow the XML file order.

So we put path and group into a big list, then use reflectiont to handle them
differently.

bug:16162141

Change-Id: I4c84dc952d5d9b49412301dcd6459395e21d3b31
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
55f765441c6cec6b2990de12f68d1c4ac444d35c 08-Jul-2014 ztenghui <ztenghui@google.com> Add constant state support back to VectorDrawable

At the same time, AVD is using a mutated version of VD.
And AVD won't support constant state.
Move the targetsMap down into constant state.

bug:16017895

Change-Id: I12fbc52a8719362adba9df1e0f97288decbd33b2
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
8e5e11b99fac942122ee2d6cdd30af51564861ae 07-Jul-2014 Alan Viverette <alanv@google.com> Handle configuration changes in drawable attributes

Adds themeable attribute support to InsetDrawable, adds support
for attribute configuration changes to all themable drawables.

BUG: 16045735
Change-Id: I3dc62d28801760ac69d303be81b6c78bb9bb5aca
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
9cb5b4c2d93acb9d6f5e14167e265c328c487d6b 27-Jun-2014 ztenghui <ztenghui@google.com> Use AnimatedVectorDrawable for progress bar.

Change-Id: I419197ef38a611757f27ca3192350ad4bd403875
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
f2d0020d9335cdaec2566012cb3e2c10b7db3a22 23-Jun-2014 ztenghui <ztenghui@google.com> Merge "Make AnimatedVectorDrawable public."
7e7ea9da6785a8345feffb754ddcb55b16cf69c9 20-Jun-2014 ztenghui <ztenghui@google.com> Make AnimatedVectorDrawable public.

Clean up some useless VectorDrawable functions.
Add comments, too.

Change-Id: I8cc2165d14d09fd71f5830c4f61f9e8ac1d7c8da
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
eb034fbca40006c55db143047eb628c4b657730a 09-Jun-2014 ztenghui <ztenghui@google.com> AVD now support path morphing.

Basically extended the ValueAnimator to support a new type: pathType.
Add the PathDataEvaluator internally to interpolate path data.
Update test to show the path morphing.

Change-Id: I89db0199cbc12e3041790a6115f3f50b80213cdb
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
02aefd779e6b4077a62ca4819499a01771837945 21-Jun-2014 ztenghui <ztenghui@google.com> Merge "AVD now support path morphing."
9cd14fc710cf81cc6d1c47d599abe349d3aa87dc 20-Jun-2014 Alan Viverette <alanv@google.com> Add support for tint attribute in VectorDrawable

Fixes NPE from previous change. Also fixes docs reference in TypedArray.

BUG: 15375203
Change-Id: Icf3b5759780276b0875a4fb70b29522ab7c8cb90
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
5ff885cd3b8013da4d122127bcf9c30b95e3aeb2 20-Jun-2014 Dianne Hackborn <hackbod@google.com> Revert "Add support for tint attribute in VectorDrawable"

This reverts commit ab41ea17e6b0407fa76bc9f9183190a9bbc7f560.

Was causing system UI to crash.
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
9a77cb92da2b7d3d2c513c9fbc24955fdc0e0693 20-Jun-2014 Alan Viverette <alanv@google.com> Add support for tint attribute in VectorDrawable

Also fixes docs reference in TypedArray.

BUG: 15375203
Change-Id: I8cd2f43bd73f50084e21e5b986af9dc1c1447ad6
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
cf4832f69c8786b098ce18c24319021f8cd6733a 17-Jun-2014 ztenghui <ztenghui@google.com> Add path support into xml files for PathInterpolator and ObjectAnimator.

The test case is showing that AnimatedVectorDrawable is able to use path to
define time interpolator and object movement now.

Change-Id: If3c0418265d0fd762c8f5f0bb8c39cce3ad34ef3
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
16c1bd5db8f4f18e1eee8b19006bba5f06a88123 16-Jun-2014 ztenghui <ztenghui@google.com> Improve constant state for VectorDrawable

Now inflation will not cause duplicated constant states.
And update tests.

Change-Id: I66861e5451c4c10d18756e8522546ea1cb938a55
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
b3c56086d802ae28888dd97ba1f49bd6cee0b673 14-Jun-2014 Alan Viverette <alanv@google.com> Add support for setTint in all Drawables, clean up lint warnings

Change-Id: I962089ca59684cef28cb4a648d4a91e542bdf5d4
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
cda212d79d449468384cc7744878b8c99984059c 14-Jun-2014 Jeff Brown <jeffbrown@google.com> Revert "Add support for setTint in all Drawables, clean up lint warnings"

This reverts commit 381f83b613f7b6e71180983dbb992ff62f8dd6e3.

Change-Id: I1181f436c647216ac46162260d9d886197b24568
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
4b17118aca1e67963254ab83504b0753a3eac7ce 14-Jun-2014 Alan Viverette <alanv@google.com> Add support for setTint in all Drawables, clean up lint warnings

Change-Id: Ia38b9d3e9d5c0072382050e815bdd9232b672e50
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
e5e92602a41a4ddc7b42cd1c171a0edfbd09b8da 03-Jun-2014 ztenghui <ztenghui@google.com> Add AnimatedVectorDrawable

Currently as a hidden class.
It can support many the animations now as far as ObjectAnimator and
hierarchical group can support.
And we don't have path morphing yet.

Also support the Animator / Interpolator inflation from Context and Resources.

Change-Id: I948bbdf7373ad291171eed0b497959dce8c2edf3
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
2af745b56cf4bdfdd9c05d90a4ccc740bf77a4fe 31-May-2014 ztenghui <ztenghui@google.com> Handle the alpha in the group setting and fix the fill issue.

The fill used to be dafault as "none".
Now it is default to opaque black, which is consistent with svg now.
So it is better to always set the fill value.

bug:15288554

Change-Id: I07ac41c5adc77665e66e52f2c0220139586fb09b
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
4d24caf1dec2babf273b18c99638fe2a0635ced4 29-May-2014 ztenghui <ztenghui@google.com> Add the tree hierarchy for the group

bug:15288554

Change-Id: I7caedb8466d078a0d9a6148e00d02eded4a4d234
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
452f6ece7fe2fd1a85fca53f54e90bf041083b21 28-May-2014 ztenghui <ztenghui@google.com> Add translation and scale to the group tag and related tests.

bug:15288554

Change-Id: Iebe176d0a9c2c566d1910674a068e65e15569829
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
63cfd85bcce488a3f3952bd1db523a727d30ca39 27-May-2014 ztenghui <ztenghui@google.com> Move the rotation information from path to group.

Also update the 3rd test to correctly testing clipping.

Removing some naive tests which rotate 360 or 0.

bug:15288554

Change-Id: I436e8e494cb78fc665a3890171a1af87367db419
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
bd67759a3d4d5eeec39f6b05b571995770db9d16 27-May-2014 ztenghui <ztenghui@google.com> Merge "Bring the group tag back to VectorDrawable."
6d9c422de5e0a3890dd723cb1b9264d4507053e9 23-May-2014 ztenghui <ztenghui@google.com> Bring the group tag back to VectorDrawable.

This is the first step, including:
1. Bring the group tag back by reverting.
2. If there is no group tag, then treat all the paths as a single group.
Make sure our test cases covering both cases.

At the same time, fix one tiny UI bug in the test.

TODO:
1. Move the rotation to the group tag.
2. Add translation/scale to the group tag.
3. Convert the group into a tree hierarchy.

This reverts commit 404211630ba3bb865109434aba4433e7541b39d3.

Conflicts:
graphics/java/android/graphics/drawable/VectorDrawable.java

Change-Id: Ife65bb6a7fc85f9947124b8e356cd5b82119796a
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
fd6e411767735478ee0f69ba01d77def4c6b2627 23-May-2014 Alan Viverette <alanv@google.com> Add support for setColorFilter in VectorDrawable

Also cleans up inflation so that we can apply themes more easily.

Change-Id: I56decb29fe987286a38fc0aa96f95952cf67c120
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
77bc0a17e8668945548f3b4936e4888ec3eb189e 20-May-2014 ztenghui <ztenghui@google.com> Merge "Remove the versionCode"
e3c45e7a6b2a7d2176aa46ee482e299b54feeb9f 19-May-2014 ztenghui <ztenghui@google.com> Remove the versionCode

Change-Id: I2a77fefd7b14fd3bef0b0c7a142fe88e69883c75
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
0cfb877f5a0a1bff82d9c3ee969195bf7812c0b5 15-May-2014 Alan Viverette <alanv@google.com> Simplify attribute extraction for themed Drawables

Also fixes a bug in GlowPadView that randomly popped up.

Change-Id: Id20508a44ea02b4a14c8f794de36e13a2c06587c
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
46e546c28fd52b4dedf0a0fbd313db589cb9048b 12-May-2014 ztenghui <ztenghui@google.com> Remove the group tag.

Since we don't support animation, it is better not to expose the group tag for now,
which will only lead to confusion.
Internally, we keep the group class to represent multiple paths. But we don't
allow multiple groups.

Change-Id: I041ba32dff05ef6b1cd9d5ab1a1717e55a356145
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
ddbbb8ae8561c9e61becd03faa40997d76ab5a51 06-May-2014 ztenghui <ztenghui@google.com> Further cleaning on animated part of VectorDrawable.

State changed support is gone.
Rename VAnimatedPath.
Remove the obsolete documents.
Update the tests to reflect the API changes.

Change-Id: Icdc19c6519a4e29975877c1d167e61c8fa14a371
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
498213a265e05134b4a4fbf93dce69de1a47973c 06-May-2014 ztenghui <ztenghui@google.com> First step on API cleaning on the VectorDrawable to disable animation support

Cleaning on the API level, and related tests.
The animated icon will be only showing the initial state.

TODO: Deep clean on the functionality part and attributes.

Change-Id: I5723bc5b64f796c3a273d74bde02095751160a88
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
70802d2501dd5607ca0f38d7aa36771d9e0c7b20 17-Apr-2014 Alan Viverette <alanv@google.com> Fix VectorDrawable states

BUG: 14083130
Change-Id: I8242523d9a4acd499154d2e7b9b9b52a3f1f742d
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
d20974bd51852c71114b6e0e4ffdc3613a4d90aa 17-Apr-2014 Alan Viverette <alanv@google.com> Clean up VectorDrawable formatting

Change-Id: I9110f6ddeda9a811e466e58e451fa95eca08e72e
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
4554a6a5137d8e9bdfb623ad84ff344a48b7eb9d 16-Apr-2014 Alan Viverette <alanv@google.com> Implement jumpToCurrentState() in VectorDrawable

BUG: 14083130
Change-Id: Ie1842b2367d1f24d18fdbc71963e077a1805de9b
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
175f3c892c2c0bd64e32484a2b430e7c59907243 12-Apr-2014 ztenghui <ztenghui@google.com> Make sure control points are in absolute coordinates

Change-Id: I1b90fe39f9dc77e1a1b7b4b512cd11f5734fbf8f
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
8a5c99c9e91fc86875f3c11f621a9e8a50c5831b 11-Apr-2014 ztenghui <ztenghui@google.com> Merge "Fix path interpretation on curves"
4b1a7c203d5e32c8b2dc7f4f54f28559ca31860a 10-Apr-2014 Alan Viverette <alanv@google.com> Fix build breakage

Change-Id: I73d9ff5f38986b7acf83b85c1989203f472bc5fd
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
4b3988d159e1c9faa2a7e16c9aca9951264bb429 10-Apr-2014 Alan Viverette <alanv@google.com> Cleaning up VectorDrawable

Use argb evaluation method from animation package, lazily create paint,
set default for stroke line cap and join. Fix scaling to bounds. Fix
drawable in test app.

Change-Id: I245d5d6acc6ba9806743ab2bf9bf99aff3649c39
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
33ed52eff4b41f88858874e1af7723277a041b56 09-Apr-2014 ztenghui <ztenghui@google.com> Fix path interpretation on curves

Mostly about the shorthand for quadratic / cubic curve.

We now comply with the spec, which said the behavior should depend on the
previous command.
At the same time, make sure our current point and current control point info
are always in absolute coordinates, not a mix of absolute and relative.
CTS test will be added to monitor this behavior.

Note: Chrome / Firefox are following this rule, while Linux OS / Batik are not.

bug:13913405

Change-Id: I9f8168ed97f87c754c79588984f1f199507b0377
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
7f1ab7a43fd7e65bbd7460334014ecc73dbb1b8d 09-Apr-2014 Alan Viverette <alanv@google.com> Theming for more VectorDrawable attrs, add attrs to test app

BUG: 13878079
Change-Id: Ibcc8d67446c44cd8f681230fc484c7dc7411ffab
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
860126b78aa4d6e8db5208c7f96764a8556cf95f 09-Apr-2014 Alan Viverette <alanv@google.com> Make Drawable hotspot APIs public

Change-Id: I8377ed735f73f7083636947aa08a5427f1dc3bf6
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
5c981a100ef30d2925588b69f8b9fe349ee5bfde 08-Apr-2014 Alan Viverette <alanv@google.com> Fix some vector drawable documentation, clean up fields

Change-Id: Iade0323b0ec2d3f8b609f24d89252608dfe40735
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
9453b7cfd4bbb35467bd7f947f850bd154982fce 08-Apr-2014 Alan Viverette <alanv@google.com> Color theming for VectorDrawable, general clean up

BUG: 13878079
Change-Id: I831d26fe3a2658161fc24e947bce382d0be6b548
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
fba3bad3870d607ecaed4f147788885c841c2ab3 03-Apr-2014 ztenghui <ztenghui@google.com> Clean up on VectorDrawable.

Rename the test from DynamicDrawableTest to VectorDrawableTest.
Remove duplicate function calls in the test.
Fix comments in VectorDrawable

Change-Id: I1ef87137088ccc10b1abdb40ca368345d9dbadab
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
177dffd869ff1f5bdf816faead01a7dc4980bf75 01-Apr-2014 ztenghui <ztenghui@google.com> Getting the version information into the VectorDrawable

This will allow version controling for later API improvement.
We will only support version 1 so far.

Change-Id: I322e63f6cff157ebb6df5d80625c39bf96ff3659
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java
abb7d134c02ac60091108c491dafb00877093170 25-Feb-2014 John Hoford <hoford@google.com> add Dynamic Drawable (vector graphics for Icons)

Change-Id: Id44b7f6d1b8dd073b8ed35e2142a380550f2449b
/frameworks/base/graphics/java/android/graphics/drawable/VectorDrawable.java