History log of /frameworks/base/core/java/android/animation/AnimatorSet.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
c470466d7c89b55d8c5a13d79076fa2f8d624da1 23-Jun-2016 Doris Liu <tianliu@google.com> Fix NPE for checking for whether animators should play together

BUG: 29586505
Change-Id: Ic2a67d51d2ac8d5bfb11ed7773c7c7e413cc28c7
/frameworks/base/core/java/android/animation/AnimatorSet.java
61045c518b18a7cee30954fe45f9db8c14e705e1 25-May-2016 Doris Liu <tianliu@google.com> Clamp start delay to non-negative range

Bug: 28936388
Change-Id: I2a225e07cad53c6ffc3637219f8c741aca5c008c
/frameworks/base/core/java/android/animation/AnimatorSet.java
dd67b0d52521bb828bc31732fe3ac8b786a19cce 20-Apr-2016 Doris Liu <tianliu@google.com> Merge "Fix pause/resume for AnimatorSet" into nyc-dev
2987dffb7248392ca48d87817b27c09092b1d4bf 19-Apr-2016 Doris Liu <tianliu@google.com> Fix pause/resume for AnimatorSet

Bug: 28251945
Change-Id: Ie98c779791bf181e2e8fbf38bbd453228ce43310
/frameworks/base/core/java/android/animation/AnimatorSet.java
58606db8be7e64a4317955b87fba4ee51f353630 13-Apr-2016 Doris Liu <tianliu@google.com> Add api check to guard AnimatorSet behavior change

For pre-N, we have inconsistent behavior between ValueAnimator and
AnimatorSet in the case of calling end() when already ended:
ValueAnimator would start() and immediately end, whereas AnimatorSet
would be no-op. We made a decision to be consistent within Animation
Framework from N forward, which means that AnimatorSet will have the
new behavior of starting and immediately ending just like
ValueAnimator. This new behavior will be guarded by an API check.

Bug: 25601129
Change-Id: I2d952a93d8521c547ec8cde173c80d1d8ead0639
/frameworks/base/core/java/android/animation/AnimatorSet.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/core/java/android/animation/AnimatorSet.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/core/java/android/animation/AnimatorSet.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/core/java/android/animation/AnimatorSet.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/core/java/android/animation/AnimatorSet.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/core/java/android/animation/AnimatorSet.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/core/java/android/animation/AnimatorSet.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/core/java/android/animation/AnimatorSet.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/core/java/android/animation/AnimatorSet.java
8b7c99cca2c9996a0ac2d87f24bd3ef83fd10be5 02-Oct-2015 Doris Liu <tianliu@google.com> New public API for calculating the total duration of an animation

Total duration is the total amount of time an animation takes from
start to finish. It include start delay (if any), child animation
sequence, accounting for repeat.

Change-Id: Id5b36a63c02e25586aefd38612aa5867492e1adb
/frameworks/base/core/java/android/animation/AnimatorSet.java
f57bfe2fefc87fdb1dcc27b0f4b3a11996c15da2 01-Oct-2015 Doris Liu <tianliu@google.com> Fix behavior change for animators without a start delay

This CL maintains the behavior that animators without any
start delay will get started right away, instead of being delayed
to the first frame as it was in the previous refactor.

Bug: 23825781
Change-Id: I7873bc6c7a761c1b4d48ee5e17af631b359fd676
/frameworks/base/core/java/android/animation/AnimatorSet.java
ee684556ceb8b940ca2af06613a59728e9b78507 28-Aug-2015 Doris Liu <tianliu@google.com> Correct isRunning() behavior for AnimatorSet

isRunning() for an Animator indicates whether an animator has gone
past its start delay and not yet finished. As a subclass of Animator,
AnimatorSet should follow the same principle. The implemention prior
to this CL returns whether any child animation is running, which is
inconsistent with the javadoc for isRunning() and general behavior
for Animator.

Change-Id: Iece814dfcd609ee292dbc00bd55dc64c7bda8e57
/frameworks/base/core/java/android/animation/AnimatorSet.java
458f20ed5a3be51ab1166256dfeece37fa7e3c66 11-Aug-2015 Doris Liu <tianliu@google.com> Exclude DelayAnim in child animation value setup

Change-Id: I5f3274d3c1a6fee7b22bb59cdb80f9bce8c4420e
/frameworks/base/core/java/android/animation/AnimatorSet.java
49db4242b134ffee79392670f9e434f6e3c7cec7 10-Aug-2015 Doris Liu <tianliu@google.com> Add cache for each animation's duration in AnimatorSet

Each animator's total druation is cached in the set, so that when
their duration changes, the dependency graph will be updated to
reflect the change.

Change-Id: I677bc289f2ba430466f2d90ebc14368cb7b75118
/frameworks/base/core/java/android/animation/AnimatorSet.java
1cbcbf3f4dc80f906b10d2d33ca031622e46615e 07-Aug-2015 Doris Liu <tianliu@google.com> Merge "Make sure the correct AnimatorListeners gets called"
6f2276bf792ed21f7a6c4c3ef0dede8beeb728e5 06-Aug-2015 Doris Liu <tianliu@google.com> Make sure the correct AnimatorListeners gets called

This CL fixes the bug where when there're AnimatorSet inside of
AnimatorSet, incorrect AnimatorListeners get notified of the
Animator's lifecycle events.

Bug: 22940651
Bug: 22954352
Change-Id: I2bf66413d54dcfc75dc7fa779e723443763a30a5
/frameworks/base/core/java/android/animation/AnimatorSet.java
dbf69e4652d439892080dff3353b1cfd5b4bf6bc 06-Aug-2015 Doris Liu <tianliu@google.com> Exclude delay animation from getChildAnimations() list

Bug: 22975427
Change-Id: I8bd9a51f0a886873346d77e9452662301a7c0363
/frameworks/base/core/java/android/animation/AnimatorSet.java
5e66616c04e4a54df7e8783bc7ffe6c22bcb3040 04-Aug-2015 Doris Liu <tianliu@google.com> Fix clone in AnimatorSet

Change-Id: I277d801897b08889c53522affdfc5581953c4f01
/frameworks/base/core/java/android/animation/AnimatorSet.java
1309914ebf21e705fc59d7d44014124d8a21a2d2 11-Jul-2015 Doris Liu <tianliu@google.com> Refactor AnimatorSet in prep for adding more functionalities

This refactor changes how relationships (i.e. with/after/before)
among Animators in an AnimatorSet are represented. Specifically,
a directed graph is used: parent-child indicates sequential
relationship, and siblings will fire simultaneously.

This CL also fixed the issue where start delays for Animators that
play together are not handled correctly.

Bug: 11649073
Bug: 18069038
Change-Id: I5dad4889fbe81440e66bf98601e8a247d3aedb2e
/frameworks/base/core/java/android/animation/AnimatorSet.java
d7444427d9f44b6b7448d4c21edca866132c8b59 11-May-2015 Doris Liu <tianliu@google.com> Use ArrayMap instead of HashMap for storing relavant nodes

This fix is to take advantage of ArrayMap, which is a key-value
mapping data structure that is more memory efficient than HashMap.

Bug: 11604254
Change-Id: I57006880de570a4d7f3899e274cf0a06355d116b
/frameworks/base/core/java/android/animation/AnimatorSet.java
7eaccbfbc25b772659536c096f6341927c38c470 23-Apr-2015 Doris Liu <tianliu@google.com> Remove distance based animation duration API

Bug: 20500107

This reverts commit 0084e370955cfa1efbf8ab447ac5e71a5529f5d3.

Change-Id: I57f1f3a22c5adfefd966447050b100a50e7141b2
/frameworks/base/core/java/android/animation/AnimatorSet.java
fe7cca3d27a6a7c202ba5efa9695d6b575ca2a28 21-Apr-2015 ztenghui <ztenghui@google.com> Merge "Reset the Node status when clone."
b1e80d826b860203cc966d56584f9d83f5636bc0 21-Apr-2015 ztenghui <ztenghui@google.com> Reset the Node status when clone.

b/20457797

Change-Id: I5f1b0e2238fdc4a69a9c09c1e6e0272f7ede3685
/frameworks/base/core/java/android/animation/AnimatorSet.java
0084e370955cfa1efbf8ab447ac5e71a5529f5d3 10-Apr-2015 Doris Liu <tianliu@google.com> Distance based animation duration

In order to preserve the same look and feel of an animation across different
devices, we need to maintain the same angular velocity for the animation in
users' field of view. Since the animation path may span different angles on
different devices, we need to therefore adjust the duration accordingly.

Change-Id: Ia37f213e5a894a046edbb1a45a4ced04e406d85d
/frameworks/base/core/java/android/animation/AnimatorSet.java
d430753cba09acb07af8b313286f247c78a41a32 01-Dec-2014 Chet Haase <chet@google.com> Add resource attributes for Keyframes and PropertyValuesHolders

Issue #17939329 Expose multi-property and multi-keyframe capabilities in animation resources

Change-Id: I14822ced47665fa6cde4996f74d3078da2ada38a
/frameworks/base/core/java/android/animation/AnimatorSet.java
d422dc358f0100106dc07d7b903201eb9b043b11 25-Sep-2014 Yigit Boyar <yboyar@google.com> Added a generic configuration and theme based cache

For now, only animators use it but we can consider migrating
drawable cache to it as well.

Bug: 17456416
Change-Id: I571b96856805edb171f0fc52e6bff5a365f46b70
/frameworks/base/core/java/android/animation/AnimatorSet.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/core/java/android/animation/AnimatorSet.java
f5945a0c8bb868f978d9d0d22043a8b44464a86e 06-Sep-2014 John Reck <jreck@google.com> Disable RT-anim for AnimatorSet

Bug: 17317184

Unfortunately this will disable *all* RT animations in a scene,
but we don't have more selective targetting currently

Change-Id: I57e1c0ae43957f45229473bdcdaf34c05825fab7
/frameworks/base/core/java/android/animation/AnimatorSet.java
7bc6a3f023ca3e1dde91fc97b6036dee3ba538a2 16-Jul-2014 ztenghui <ztenghui@google.com> Add more reverse support to AnimatedVD

bug:16162242

Change-Id: Ie0b7618beeb65ebeb65db41600165837524bcee4
/frameworks/base/core/java/android/animation/AnimatorSet.java
8aa1ffb0ed292891030992c65df4e5dc8bd37524 08-Aug-2013 Chet Haase <chet@google.com> pause/resume for Animators

It is now possible to pause Animator-based animations. Pausing an
animator causes it to hold the current time/value indefinitely, or
until end/cancel/resume is called. When resume() is called, it continues
from where it left off.

There is a new listener interface on Animator, AnimatorPauseListener,
which can be used to listen to pause/resume events.

Change-Id: I77d1535e792fb7bf349f549a0ac0a0d85958cb47
/frameworks/base/core/java/android/animation/AnimatorSet.java
430742f09063574271e6c4091de13b9b9e762514 12-Apr-2013 Chet Haase <chet@google.com> API and doc cleanup, plus small animation/UI features

Adding features which round out the animation APIs (missing
getters, etc.). Also fix doc typos.

Issue #8350510 Add APIs needed for future animation capabilities

Change-Id: I063736848ba26e6d6c809b15fc3a103c74222f46
/frameworks/base/core/java/android/animation/AnimatorSet.java
c299a3384171e36fc9ab6d1011d8a589a7f344d1 12-Apr-2012 Chet Haase <chet@google.com> Fix AnimatorSet duration issue

Setting the duration on an AnimatorSet should propagate that value
to its children. This works, but only if all children are added to the set
before setDuration() is called. This fix delays that propagation until
the set is started, making it possible to have a more flexible order of when
the children are added and when the duration is set.

Issue #6324904 AnimatorSet durations too long

Change-Id: I797971c2310eb2e3fe931b4aa35de505f2a519f7
/frameworks/base/core/java/android/animation/AnimatorSet.java
3aef8e1d1b2f0b87d470bcccf37ba4ebb6560c45 20-Dec-2011 Joe Fernandez <joefernandez@google.com> docs: Add developer guide cross-references, Project ACRE, round 4

Change-Id: I1b43414aaec8ea217b39a0d780c80a25409d0991
/frameworks/base/core/java/android/animation/AnimatorSet.java
8b699792b677bd4dd8442b32641ac09d48fdd79c 06-Aug-2011 Chet Haase <chet@google.com> Fix cancellation of AnimatorSet when child animation has delay

Previously, AnimatorSet incorrectly checked whether child animations were
'running' to figure out what to cancel. If a child animation was started, but
sitting in a startDelay phase, it was not 'running', so the right cancel/end
events would not propagate.

The fix is to add a new isStarted() API to Animator, which returns true when
the animator has started (but not yet ended), regardless of whether the animator
has a startDelay or not. It's basically a superset of the existing isRunning()
method, which only returns true when an animator has actually started setting values.

Change-Id: I126814cb6637b58295b6d18d9b155235671f99be
/frameworks/base/core/java/android/animation/AnimatorSet.java
b8f574a165bf6ec5b316734b367ac274ded4809b 03-Aug-2011 Chet Haase <chet@google.com> Fix AnimatorSet cancellation issues

AnimatorSet was incorrectly ignoring cancel() when it was in the
initial startDelay phase. Fix is to change isRunning() to be true if the
animator is also in its delay phase.

Change-Id: I1a8c877de24fa294beea0ba30d495658255b13b3
/frameworks/base/core/java/android/animation/AnimatorSet.java
ecc2fd94fa05970082a1f2544f08df7c961c6d98 02-Aug-2011 Martijn Coenen <maco@google.com> Removed unused import from AnimatorSet.

Change-Id: I7d5b3327290845d44cbe0abd48bf45c6f43bf677
/frameworks/base/core/java/android/animation/AnimatorSet.java
d45204ba092312630a0e516ea7c247e594ce893b 29-Jul-2011 Martijn Coenen <maco@google.com> Fix ConcurrentModificationException in AnimatorSet.

Would occur if you would start an AnimatorSet for the
second time.

Change-Id: I8fa0e8ab039e8525acae1564b2e9dec4a0838981
/frameworks/base/core/java/android/animation/AnimatorSet.java
7dfacdb1c820f955cb3cd6032ff5fbc2dd7d9df5 12-Jul-2011 Chet Haase <chet@google.com> Fix Animator cancel() behavior

Previously, calling cancel() on an Animator would cause onAnimationCancel
events to be sent to all listeners. This was confusing for listeners
that were keying off this event for performing other actions, when the original
animator wasn't truly canceled (because it wasn't even running, or had already
been canceled earlier). This change hinges listener notification on
the animator actually running; no events are sent otherwise.

Also added the first set of Animator tests to verify that this behavior
is correct.

Change-Id: I81ab56559b5c0343c8dc7880e1c8235f3020975b
/frameworks/base/core/java/android/animation/AnimatorSet.java
e2ab7ccd385cdb6517955c719e1d2b49771bedb6 07-Dec-2010 Chet Haase <chet@google.com> Change cancel/end behavior of animations to be synchronous

Previously, cancel() and end() calls would simply log a message to
be handled later by the animation handler. This caused problems with
coordinating complex animations, where some start() events for
future animations would occur before end() events for animations already
completed.
The change is to make these events synchronous (and require them to be
called from the appropriate thread), simplifying the code and the usage.

Also, fixed various timing and event bugs in AnimatorSet, and removed
the getter/setter properties from ObjectAnimator, since an earlier change
makes these properties undesirable (because the code will use a faster
JNI approach instead of reflection when it can).

Change-Id: I05c16645c2a31a92048a6031ddb126eb4312a946
/frameworks/base/core/java/android/animation/AnimatorSet.java
37a7bec599e8d877d8a7f12ab2c2c160d1c2cf8a 01-Dec-2010 Chet Haase <chet@google.com> Add methods to AnimatorSet that take collections

Change-Id: I5664bee6d27b32a70ca7d335e7fbe0af39a240bd
/frameworks/base/core/java/android/animation/AnimatorSet.java
2970c499388b4dcd1232cd622a9b80b395eeb2b4 09-Nov-2010 Chet Haase <chet@google.com> various fixes for animations and javadocs

Issues around threading of animations and AnimatorSet bugs are
fixed in this change. Unrelated fixes to javadocs in other
framework classes are also part of the change.

Change-Id: I35f7e03ffdec9143bc2eb155e8f9384798ad35b3
/frameworks/base/core/java/android/animation/AnimatorSet.java
7c608f25d494c8a0a671e7373efbb47ca635367e 23-Oct-2010 Chet Haase <chet@google.com> optimizing for primitive types in animations

The animator classes caused autoboxing by converting primitive types (by far
the most typical types used in animations) to be converted to their
Object equivalents because of various APIs that required Object
(like getValue() to get the animated value). This change creates
factory methods on some classes instead of the former constructors
so that we can create and return private type-specific subclasses
which operate directly on the primitive types instead.

In particular, float and int are natively supported by the animators
now. Support in the APIs for double and long was removed because it
seemed like these less common types did not justify the extra
baggage of the added API and code.

Change-Id: I6008a3883e3d6dd5225005f45f112af148e5a4ea
/frameworks/base/core/java/android/animation/AnimatorSet.java
2794eb3b02e2404d453d3ad22a8a85a138130a07 13-Oct-2010 Chet Haase <chet@google.com> Remove generics from Animator APIs

Change the manner of constructing Animator-related objects from constructors
via generics to factory methods with type-specific method names. Should
improve the proliferation of warnings due to generics issues and make the
code more readable (less irrelevant angle brackets Floating around).

Change-Id: Ib59a7dd72a95d438022e409ddeac48853082b943
/frameworks/base/core/java/android/animation/AnimatorSet.java
83d6e8213230fb0805aa019d266842253baeb114 14-Oct-2010 Romain Guy <romainguy@google.com> Revert "Remove generics from Animator APIs"

This reverts commit 41f041d9986f8a5d45b6cb0b86e881c81a412168.
/frameworks/base/core/java/android/animation/AnimatorSet.java
41f041d9986f8a5d45b6cb0b86e881c81a412168 13-Oct-2010 Chet Haase <chet@google.com> Remove generics from Animator APIs

Change the manner of constructing Animator-related objects from constructors
via generics to factory methods with type-specific method names. Should
improve the proliferation of warnings due to generics issues and make the
code more readable (less irrelevant angle brackets Floating around).

Change-Id: I7c1776b15f3c9f245c09fb7de6dc005fdba58fe2
/frameworks/base/core/java/android/animation/AnimatorSet.java
e0ee2e9f3102c3c14c873a75a7b04e49787e0fb9 07-Oct-2010 Chet Haase <chet@google.com> New TimeInterpolator interface for android.animation package.

The new animation package's reliance on the old Interpolator interface (in
android.view.animation) was an eyesore. Adding TimeInterpolator, and having the
old Interpolator interface extend it, allows the new Animator classes to break
the tie to the older animation package completely. However, developers can still
use the older Interpolator-based classes, such as AccelerateInterpolator,
because they all implicitly extend the new TimeInterpolator class.

Change-Id: I41132fa56167ba564f4839113289114d0ea31a92
/frameworks/base/core/java/android/animation/AnimatorSet.java
a18a86b43e40e3c15dcca0ae0148d641be9b25fe 07-Sep-2010 Chet Haase <chet@google.com> Rename several animation classes

Change-Id: I6a4544875090db485163c8d56de8718f56d267c7
/frameworks/base/core/java/android/animation/AnimatorSet.java