History log of /frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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/AnimatedVectorDrawable.java
7d76fc4433e0eedf10b0a87860565ddc93e8ef2e 17-Sep-2016 Doris Liu <tianliu@google.com> Improve Javadoc for AnimatedVectorDrawable

This CL adds a summary of what developers can expect from running
AVD on RenderThread.

Also re-structure the class level Javadoc summary to better organize
the examples.

Test: make offline-sdk-docs

BUG: 30402908
Change-Id: I7111f67db5f2ec352730f633bb34f2e89e1c70e9
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.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/AnimatedVectorDrawable.java
853b23d1fa625436b30dfab9b6cb7293c6c328b9 17-Aug-2016 Doris Liu <tianliu@google.com> Fix listeners not getting called when AVD falls back on UI thread

When AVD fall back on UI thread, in addition to transfer the pending
actions from RT animator to UI animator, we also need to transfer
the listener, if any.

BUG: 30901495
Change-Id: Ib4a7ebb2996a02596bb5789704617c894a5dd474
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
b34cbedb4e36f184232d7f40b093bdc9fd0cd752 09-Aug-2016 Dianne Hackborn <hackbod@google.com> Fix issue #30766518: Document what targeting N does

Also small documentation cleanup in a few other places.

Change-Id: I16581c751aa0ffa146faba3b140a8fa2170f4520
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
f7167e8f286cff91dec01fdf617bf568f1d100e6 04-Aug-2016 Doris Liu <tianliu@google.com> Support repeatMode = reverse in AVD

BUG: 30641232
Change-Id: I34c823a0a45c8441873a9b467275174c5529994b
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
126df850ce6b5f8a355534eb09235e22995f0116 16-Jun-2016 Doris Liu <tianliu@google.com> Support AVD animation falling back on UI thread

AVD will fall back to UI thread animation if the host view is
rendering onto a SW layer.

BUG: 27617346
Change-Id: I5b644529048a0c30aada3abf2f4e95e40760936d
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
c9493879d7b38b9d0b5b09aa3760966a3ca33eac 03-Jun-2016 Doris Liu <tianliu@google.com> Support Keyframe definition for AVD on RT

BUG: 27441613
Change-Id: Iece386f65f3704d1b7caa2b3690a8d3048ccf6e2
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
a57e95a6a351242941e5cef97aaaa1fb34f20a9d 01-Jun-2016 Doris Liu <tianliu@google.com> Throw Exception for wrong valueType with API guard

Previously, wrong valueType error is swallowed in jni. As a result,
some animations are quietly skipped without letting developers know.
This CL maintains that behavior for pre-N, and throws Exception
to notify developers of the error for N and above.

Bug: 29009391
Change-Id: I3e8f003cdb97d214da72af3f93a84f64797b1c2c
(cherry picked from commit 94db09917a17976135e2c63d8e4171c54730c079)
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.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/AnimatedVectorDrawable.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/AnimatedVectorDrawable.java
d049837397e72def57a71bf6f3387cdbf179fa19 19-Apr-2016 Doris Liu <tianliu@google.com> Pause infinite AVD when the drawable is not visible

And resume when it becomes visible again

Bug: 27441375
Change-Id: Ic5140a30f5726df252ca63be9e14c495cbd76466
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
1d8e194661085f9a18ab1b3cd12f9e19d3a86be5 03-Mar-2016 Doris Liu <tianliu@google.com> Make AVD thread safe

This CL introduces staging properties to VectorDrawable, which holds
properties coming from UI thread. When staging properties are changed,
they are marked dirty, and the staging properties then get pushed to
RenderThread at sync point. In cases where no staging property has
been changed, at sync point we sync the render thread properties back
to staging properties to reflect the latest render thread animation
value change.

Also, update Vector Drawable bitmap only when it's dirty

Bug: 27343970
Bug: 27385912
Bug: 27263667
Bug: 27927674
Bug: 27774383

Change-Id: Ia864f5400a53a08dbfb284fae581fb1aac4fff87
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
988fc6fa43d4f35d17b4ab7574863f5017fd289a 22-Mar-2016 Teng-Hui Zhu <ztenghui@google.com> Fix callback issue for AVD on UI thread

We have created AnimatorSet from XML, but it is assigned to the AVD only when
we start the animation due to theme-ing operations.

Given listeners can be added to AVD at any time, we have to cache them if
AnimatorSet is not setup yet.

b/26979225

Change-Id: I94315892de83f93a0205efe5e70dca0cd0f0a8e3
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
7ab0f835e6edf92eeb4f905a3c76df91a879add5 15-Mar-2016 John Reck <jreck@google.com> Switch back to UI-driven AVD

Bug: 27550546
Change-Id: I7c37438555fb8a72d2ff0bc42bf5de25a31cc464
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
781fbf28c70868d803a6caf13a2209c785fa4fce 14-Mar-2016 Alan Viverette <alanv@google.com> Merge "Ensure all Java-side usages of config flags are using Java flags" into nyc-dev
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/AnimatedVectorDrawable.java
79936ddda4c8d1709f736cda013070c3ab32db6f 11-Mar-2016 Alan Viverette <alanv@google.com> Merge "Add consistent @NonNull annotations for drawable callbacks" into nyc-dev
335875bb480d340e5dfed19bd4512df0c177674d 11-Mar-2016 Tenghui Zhu <ztenghui@google.com> Merge "Add the missing overriden API" into nyc-dev
f6d87ec193f17e8dad82c9994ba7a58e975d364b 11-Mar-2016 Alan Viverette <alanv@google.com> Add consistent @NonNull annotations for drawable callbacks

Bug: 27599515
Change-Id: I33fdc5392302403bfff9cc74a8226173ec962af6
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
1af03b1d5319921c9f898103353f2646975ab0af 09-Mar-2016 Teng-Hui Zhu <ztenghui@google.com> Add the missing overriden API

This is exposed by the CTS test.

Change-Id: Ic25fda1567d8c8504612d4e825dbb646f7db1076
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
35d44ba4396348511d8032ab586722cfc37ee177 09-Mar-2016 Tenghui Zhu <ztenghui@google.com> Merge "Update the VD and AVD's getOpacity()" into nyc-dev
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/AnimatedVectorDrawable.java
44027214d4f2154ebc9265912933bac282be3bb4 02-Mar-2016 Doris Liu <tianliu@google.com> Handle multiple animation actions within one frame

Bug: 27438778
Change-Id: I1b14da4bc7b4e82e5b4e45f3eb9ad04e3d7842c4
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
28cfd20f024a56a927014351c8bdf9d8552603e3 23-Feb-2016 Doris Liu <tianliu@google.com> Support running AVD on UI thread

By default, AVD animates on RT thread. But since in some cases there's a
need for a finer control on when the frame update for the animation should
happen, such as coordiating the AVD animation with other animations that
run on UI thread, we are providing a way to force the AVD to run on UI
thread.

Bug: 27278616
Change-Id: I372ecd3dc52e3fa0bdce3a1e9c19443f9b199027
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
c21e8bcb013a6a562aa6288143368d9dba80fef4 18-Feb-2016 Doris Liu <tianliu@google.com> Ensure invalidate is called after start()/reverse()

Change-Id: Iec96ada74cc7b845e21b5f0eb208ff7c7b1071ed
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
8b083206aef627b6445a8c6be8bf5bb1d778a7f8 19-Feb-2016 Doris Liu <tianliu@google.com> Revert "Revert "Check RenderNode's owning view before attaching animators""

This reverts commit eb40178af3b7c8d925eaf6c1aa0bef739c8ea47e.

Change-Id: I6838ecb35b50847746ee66ac204f14eb5f579b91
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
c4bb185d41cfb960ed9a3178a4f8974c351abdb0 19-Feb-2016 Doris Liu <tianliu@google.com> VectorDrawable native rendering - Step 5 of MANY

This is reverting the revert of what reverts the revert of the original
implementation. Fourth revert is a charm!

This reverts commit df7fdb1e0bdb5c289bbc08047e5c710185503309.

Change-Id: I6fc3a5accfd8b79c3da31bbc101ad9e9b4d6e7dd
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
df7fdb1e0bdb5c289bbc08047e5c710185503309 18-Feb-2016 Doris Liu <tianliu@google.com> Revert "Revert "Revert "VectorDrawable native rendering - Step 5 of MANY"""

This reverts commit 0d20a275a5baf8579c8b9111cf2ce6615874a6b6.

Change-Id: I97c782f1164a5d39ab74dc098cca71d9e1b30cd8
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
0d20a275a5baf8579c8b9111cf2ce6615874a6b6 11-Feb-2016 Doris Liu <tianliu@google.com> Revert "Revert "VectorDrawable native rendering - Step 5 of MANY""

This reverts commit e03ef25a3e44ef5d495e366c30b9b5b69fc58194.

Change-Id: I9c2e1c891667451a3ee668e414bf337ad67279ab
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
e03ef25a3e44ef5d495e366c30b9b5b69fc58194 11-Feb-2016 John Reck <jreck@google.com> Revert "VectorDrawable native rendering - Step 5 of MANY"

Bug: 27136799

This reverts commit 18bdf443e371e9f293439b4ff92cc79abaa422e5.

Change-Id: I825b061eec2a591f2d18119ba64494624b9ad4f2
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
18bdf443e371e9f293439b4ff92cc79abaa422e5 02-Feb-2016 Doris Liu <tianliu@google.com> VectorDrawable native rendering - Step 5 of MANY

Implemented reset() (public API for AVD)
and reverse() (internal API that needs to be supported)

Change-Id: Ife1650049f271cad1347943151a5800c40c20aa2
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.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/AnimatedVectorDrawable.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/AnimatedVectorDrawable.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/AnimatedVectorDrawable.java
3aaff80f3232aa4d7aba826a5ad9edd95bc45c65 04-Feb-2016 Doris Liu <tianliu@google.com> Revert "Fix NPE for invalid target exception"

This reverts commit d4fda02dd59adff9553dca5647ebb6c023145d5f.

Change-Id: I73341dc41c7effaa3209107b4e85503b17e2c826
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
d4fda02dd59adff9553dca5647ebb6c023145d5f 03-Feb-2016 Doris Liu <tianliu@google.com> Fix NPE for invalid target exception

Change-Id: I57b319fae617792351c6ec9872c3b73cd25dc4e5
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.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/AnimatedVectorDrawable.java
f0a7b3b694ee05027a0b667b923bdbf9b664f9d3 26-Jan-2016 Chet Haase <chet@google.com> Fix problem with zero-duration AnimatedVectorDrawables

There was an issue with some vector drawables, particularly those with more
than one underlying, sequential animators, where the final frame would not be
drawn when battery saver mode was enabled (or animators were set to have durations
of 0). This resulted in an incorrect fingerprint graphic on the lockscreen, because
the animation effectively didn't run at all.

The fix is to always invalidate whenever the AnimatedVectorDrawble draws itself. This
causes us to constantly invalidate() the view while the animation is running.

Issue #26591987 Fingerprint icon displayed as dots when batter saver mode is on

Change-Id: I13cbd71fd229db09418c6dcacfec5a13bbb44b2e
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
841f6e19ba8289c8c0953cbfdbad60590eda3c32 04-Jan-2016 Doris Liu <tianliu@google.com> Avoid calling invalidateSelf() from draw call

Bug: 26329675

Change-Id: Ieb76b6f63a5139f6033ca9baa9ba6fac36ae466c
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
0b6cfe22fda3396b4790ac79fc90488bec4a49a4 14-Sep-2015 Alan Viverette <alanv@google.com> Revert "Use floating-point value for Drawable level"

This reverts commit 3da32b768899e7dabe3a16333edf5eca2b9ebe93.

Change-Id: Ie75ce0c285e0f59a7a086f64c0cfe088edb5df04
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
3da32b768899e7dabe3a16333edf5eca2b9ebe93 02-Sep-2015 Alan Viverette <alanv@google.com> Use floating-point value for Drawable level

This allows us to run fine-grained level animations.

Backwards compatibility:
Another CL will add DrawableCompat.setLevel(float) to forward calls to
the existing integer-based method. For callbacks, developers can override
onLevelChanged(int) and use DrawableCompat.getLevelFloat() to obtain the
floating-point level. Overriding onLevelChanged(float) will only work on
current API.

Bug: 23566299
Change-Id: I431fe6f3679c8f23f9cf3c2bb1f92a4059ee68e3
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.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/AnimatedVectorDrawable.java
96052718067e1645afd7c7ae93bab536711349ac 06-Jun-2015 ztenghui <ztenghui@google.com> Add reset to AVD

b/21664621

Change-Id: Ie40c3723860e183c8e4fedd2a76b9debbdf64a2a
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
83a52031fd5c277d0c6e75da50bf8013e8a70399 30-May-2015 ztenghui <ztenghui@google.com> Setup the animation callback for AnimatedVectorDrawable

b/21341096

Change-Id: I84e20366db21ceaa4f044be3e322f9215bb06ad2
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
db2911321b1cb0870d10baab370c93da13a91067 30-May-2015 Alan Viverette <alanv@google.com> Merge "Replace PNG-based seekbar thumb animation with AVD" into mnc-dev
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/AnimatedVectorDrawable.java
3c436cb99f1cc0db82e342fb9dc145fd524f5029 29-May-2015 Alan Viverette <alanv@google.com> Merge "Postpone AnimatedVectorDrawable animator inflation until applyTheme()" into mnc-dev
dfa4646eca54511a28f2c61e1f4b9c697e05a913 27-May-2015 Alan Viverette <alanv@google.com> API Review: Drawable

Renames boolean getters to isZzz(), callback from onChange to onChanged.

Bug: 21342040
Change-Id: I9700d645453354b608fd97a832359211d828b52f
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
d8d9a75f6a111b962bf5260a4dca87398405d95b 19-May-2015 Alan Viverette <alanv@google.com> Postpone AnimatedVectorDrawable animator inflation until applyTheme()

This CL works around Animator's lack of support for applying a theme
after inflation by postponing Animator inflation until a theme is
available, either in inflate() or applyTheme().

Includes a workaround for AVDs that don't reference any theme attrs
in their animators and this don't require a call to applyTheme().

Partial implementation of removing non-constant data from the AVD's
constant state. Moves the mutable AnimatorSet to a local variable and
treats the Animators as constant data.

We'll follow up with real support for applyTheme() in Animator or
AnimatorSet, at which point we can remove this workaround.

Bug: 20817800
Change-Id: I555c53c955219990ee376bee568bcc038532f9ed
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
344ad7126f1e598e4259f128eaeac8a7ef904dd3 19-May-2015 Alan Viverette <alanv@google.com> Revert "Postpone AnimatedVectorDrawable animator inflation until applyTheme()"

This reverts commit 9b115a9870a184e32bdbd07f792f9b8c956c75ca.

Change-Id: Ief148510472e129f992cf52ef8b8a25b5e17e05f
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
9b115a9870a184e32bdbd07f792f9b8c956c75ca 15-May-2015 Alan Viverette <alanv@google.com> Postpone AnimatedVectorDrawable animator inflation until applyTheme()

This CL works around Animator's lack of support for applying a theme
after inflation by postponing Animator inflation until a theme is
available, either in inflate() or applyTheme().

Includes a workaround for AVDs that don't reference any theme attrs
in their animators and this don't require a call to applyTheme().

We'll follow up with real support for applyTheme() in Animator, at which
point we can remove this workaround.

Bug: 20817800
Change-Id: I5a378a76e3625b9d754cb74ae98c07ba7c5698e5
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.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/AnimatedVectorDrawable.java
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/AnimatedVectorDrawable.java
1588f0ff54b88240b55eeaba97e67f0f1dee5f92 24-Mar-2015 ztenghui <ztenghui@google.com> Add listener support in AVD

Internally, switch to use AnimatorSet instead of an array of Animators

b/19825918

Change-Id: Ia67d2cc7dd89362e6b0019c916d3f2a0d0f3e39e
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
a12962207155305da44b5a1b8fb9acaed358c14c 21-Feb-2015 Alan Viverette <alanv@google.com> Unify wrapper-type drawables

Fixes several issues with constant state and propagation of drawable
property changes to wrapped drawables. Also un-hides the layout
direction accessors and hotspot getter.

Change-Id: Iff19db6a95059cbcfcbde7af0ac33871ccd41615
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
d2f50c78c3c5205d6b28b7079d2f845c3d9dc0b3 05-Dec-2014 ztenghui <ztenghui@google.com> AVD: Deep copy the animator target setup when mutate.

Only calling VectorDrawable's mutate here will miss all the animator setup,
when the VectorDrawable has a new state.
So we just deep copy everything and setup the animators again.

b/18521582

Change-Id: Id164312750bb548f9c2d21cc0b5806cd2bafcf0d
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
5b84eace6cb79c42fe43480f08c68b7dea4e074a 19-Nov-2014 ztenghui <ztenghui@google.com> ASLD: ASLD's XML reversible flag can turn off the reverse behavior now.

Previously, the android:reversible flag behaves like a suggestion.
Now it is used to enforce no reverse when set to false. In this way, user can
safely setup one direction animation only.
When set to true, but AVD can't reverse , then it will show a warning.

At the same time, update the tests to show different cases, including
AnimationDrawable.

b/18413484

Change-Id: I5552c49dcbd76b0724b4d5593bce8388b27bd905
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
1a40facbfd60575a3232ae49f4b05098f4ec4830 07-Nov-2014 ztenghui <ztenghui@google.com> AVD: Requires all animator has stopped before start again.

We should treat all the animator as a group, we should not start again unless
all the previous animations have stopped.

b/18320770

Change-Id: I5b0c2c165cd314745ee6c7152aea3c666e9dff10
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.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/AnimatedVectorDrawable.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/AnimatedVectorDrawable.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/AnimatedVectorDrawable.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/AnimatedVectorDrawable.java
98916d146afe2ff25a439603f7d9559e74a790ca 23-Sep-2014 ztenghui <ztenghui@google.com> Fix AVD for CTS failure.

Mostly about changingConfig flags, the fix is just a copy from VectorDrawable.

b/17631551

Change-Id: Ibad9c2f61cd86b15e9bca1d1991c8cd147897bb0
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.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/AnimatedVectorDrawable.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/AnimatedVectorDrawable.java
a94900e587dca6e342bf29ed1acb720c594066c0 22-Aug-2014 ztenghui <ztenghui@google.com> Merge "Fixing AVD animation with startOffset" into lmp-dev
14aedd1fbf52f1b844064a15d583ccfbda6ce57d 22-Aug-2014 ztenghui <ztenghui@google.com> Fixing AVD animation with startOffset

b/17160751

Change-Id: If030ca04f5a7dd7e732dcc5dfb18d51faa7e7b79
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
06cd7dce24876b54870f9ef3831237f8298773a9 20-Aug-2014 Alan Viverette <alanv@google.com> Forward additional drawable methods in AVD

BUG: 17156349
Change-Id: I1d7b41fc8d0399b31db4cf21aa47180e96bfbcfe
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
06eaf193bde2f8455a3f957f1df4b1c328ac1432 06-Aug-2014 ztenghui <ztenghui@google.com> End the animator when stop() is called

bug:16830053

Change-Id: If27ba904b0f78ee8c59df3522a97f5f86509ca0e
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.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/AnimatedVectorDrawable.java
7bc6a3f023ca3e1dde91fc97b6036dee3ba538a2 16-Jul-2014 ztenghui <ztenghui@google.com> Add more reverse support to AnimatedVD

bug:16162242

Change-Id: Ie0b7618beeb65ebeb65db41600165837524bcee4
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
6e0a9fa6ed86e918bfed5310d2522b2c2a527ef0 14-Jul-2014 Alan Viverette <alanv@google.com> DO NOT MERGE Add support for AVD reverse() to ASLD, clean up transition handling

BUG: 16162242
Change-Id: I29336491d01d40e5369503ece858bcbe5aa99b19
(cherry picked from commit 4e9c797a9c024e5a4226ed37eece16e3db2edb78)
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.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/AnimatedVectorDrawable.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/AnimatedVectorDrawable.java
9cb5b4c2d93acb9d6f5e14167e265c328c487d6b 27-Jun-2014 ztenghui <ztenghui@google.com> Use AnimatedVectorDrawable for progress bar.

Change-Id: I419197ef38a611757f27ca3192350ad4bd403875
/frameworks/base/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
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/AnimatedVectorDrawable.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/AnimatedVectorDrawable.java