4a526c124554e75dc4bc11a682645a73bd47d501 |
|
16-May-2017 |
Winson Chung <winsonc@google.com> |
Ensure that we use SF Vsync Choreographer for the PiP transition. - Move the bounds animation onto the animation thread - Remove existing code referencing the old sf-vsync choreographer - Add ability for ValueAnimator subclasses to reference a different AnimationHandler, which uses a different FrameCallbackProvider with the sf-vsync choreographer in the animations that require it - Ensure that PiP touch events are batched and sent aligned with the sf-vsync - Move GC onto its own thread to not block other BackgroundThread calls Bug: 36371375 Test: android.server.cts.ActivityManagerPinnedStackTests Test: bit FrameworksServicesTests:com.android.server.wm.BoundsAnimationControllerTests Test: go/wm-smoke Change-Id: I6a41b35a4e4d4d6dbea82c2673452825fe3ffa58
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
2ac6547824ff217a89b726fa633dfd60c6f7bd89 |
|
31-May-2017 |
Doris Liu <tianliu@google.com> |
Ensure start delay is properly scaled with duration scale BUG: 62126024 Test: CTS test in the same target branch Change-Id: Ia396e69e053ccd90cdf37ac0b59c404c9952e497
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
6d4520920526cc44063ff2e665adb08e9a3c8a64 |
|
08-Feb-2017 |
Doris Liu <tianliu@google.com> |
Fix reverse with start delay Test: cts in the same topic branch Change-Id: Ie8793f25d39e0104c880f1a873f68650b918bffa
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
466149d78c8483094840db8c70976427a9dab0a7 |
|
04-Feb-2017 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Fix start delay for ValueAnimator"
|
3b466875bc9b931fce339b95aeaa7d19bb3fc640 |
|
04-Feb-2017 |
Doris Liu <tianliu@google.com> |
Fix start delay for ValueAnimator This CL ensures that doAnimationFrame() is called the frame after start() is called, so that AnimatorSet can pulse frames into single animators as soon as they are start()'ed. Test: new cts test in same topic branch Change-Id: I4f9522ce9e1a54ca3bcad6c696e6b248c945ff90
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
5c71b8cc4ae3e76ce7c7462fff9426c8e96ea5f7 |
|
31-Jan-2017 |
Doris Liu <tianliu@google.com> |
Make sure start() is called for custom animators BUG: 34758281 Test: ag/1848837 Change-Id: Iae5d2fb41c4556ee201b9c4dfbc356996dc475a5
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
13351997aa36eb53e5ff0fcee3f5e3da83787278 |
|
18-Jan-2017 |
Doris Liu <tianliu@google.com> |
New functionalities for AnimatorSet: Reverse, Seek This CL adds reverse and seek to AnimatorSet's capabilities. Structural changes: 1) Child animators are now being pulsed by AnimatorSet in a more timeline manner, as opposed to the old listener based style. This timeline based approach avoids the time offset in between sequential animations, and therefore produces a more accurate overall duration. 2) Timeline is done by representing start and end of each child animator in two separate events. All the events are then sorted based on the time they happen, such that it's clear what should happen in between last frame and the new frame (i.e. which animations should start or end). Test: CTS (in the same topic branch) Bug: 30993532 Change-Id: If1dc6e8dbc93a4bf5ade8c5b0dcf43d3ee6ba7b5
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
ad804a9b431d583815bf33de4872c6996d71fa45 |
|
09-Dec-2016 |
Doris Liu <tianliu@google.com> |
Add API info about Keyframe and PropertyValuesHolder am: 21b93c1f66 am: 046f615de8 Change-Id: I22ca65d40ef4fc04be2cf1fec214409a20aa8e07
|
21b93c1f662c2d399fa0769b05383be8308b2ecf |
|
03-Dec-2016 |
Doris Liu <tianliu@google.com> |
Add API info about Keyframe and PropertyValuesHolder BUG: 32713413 Test: make -j20 docs Change-Id: Ib2d11fe16cb470609058d2698b6b00173ae1928b
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
49a513b571bcb8e5da94bd50ae465cbaafa44734 |
|
08-Oct-2016 |
Chet Haase <chet@google.com> |
Add API to query whether animators are enabled Animators can be scaled to have zero duration globally in any device. This can happen either via Developer Options (an uncommon path) or Battery Saver mode (much more common for real users). In general, this works fine; it just causes app animations to be jump-cuts instead (which is the desired effect, either to make transitions faster (Developer Options setting) or to optimize battery usage by rendering fewer frames (Battery Saver mode). But sometimes, choreographed animations can have undesired artifacts. For example, an animation that calls an end listener to restart itself will end up doing this almost constantly due to this effect. Other artifacts can also occur, such as intermediate results in a complex choreography of multiple animations can show several intermediate results in a way that is confusing to the user. For these cases, there is nothing that the platform can do to automatically determine how to best handle the result. Instead, we surface this new API to help developers discover this behavior and compensate accordingly. Bug: 31052471 Animation playback is abnormally fast during Battery saver mode Test: unit tests, CTS test upcoming Change-Id: Id7ef1a9652ac5c6cdaca0c126756e82582d49b1c
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
76817faf291f579cf99d818944ca2b3c91a6ed97 |
|
30-Aug-2016 |
Teng-Hui Zhu <ztenghui@google.com> |
Add TestApi to ValueAnimator for AnimationScaleListDrawable CTS test. am: 0a815bb94f am: 3687be955f am: d607d75790 Change-Id: Id83875c14472af2ba44f0194c897460ec6aa427d
|
0a815bb94fa2aad016a10fe23633efc5682d2a7c |
|
23-Aug-2016 |
Teng-Hui Zhu <ztenghui@google.com> |
Add TestApi to ValueAnimator for AnimationScaleListDrawable CTS test. Also rename an internal class. b/30877925 Change-Id: Ib971ed090907a0ab387dd7c768e2b77eb9b69f75
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
a06d1f8fec719c01721a147fd5223dcafe693a7c |
|
26-Jul-2016 |
Justin Klaassen <justinklaassen@google.com> |
Fix NPE in ValueAnimator am: 543a7ed7af am: 705e2fb40c Change-Id: I5beab0d64c1544344f1153f183c513839f673a1f
|
543a7ed7af992c5f62a9df1a20f3a2397d3e6ec3 |
|
23-Jul-2016 |
Justin Klaassen <justinklaassen@google.com> |
Fix NPE in ValueAnimator - Reset mAnimationEndRequested to false in ValueAnimator#start(boolean) so that previously canceled animated (with a start delay) can be canceled again. - In ObjectAnimator#animateValue(float) check if target == null regardless of mTarget == null since it's possible the target was explicitly set to null prior to the animator being cancelled. Bug: 30190459 Change-Id: I6da55737df30a28f48355fc7a41ab91d05979deb
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
0eba1dfba040c096f8cd1b7b6d4c289ee78db4b8 |
|
13-Jun-2016 |
George Mount <mount@google.com> |
Notify end animation after setting the state to not running. Bug 28404635 Change-Id: I13a480b54bb652e52d6b36addfe6d3799ece7568
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
caa2ebf814d0c0a4ff29e7f7a7ee8ca46df08802 |
|
10-Jun-2016 |
Doris Liu <tianliu@google.com> |
Fix setCurrentPlayTime for started but not yet pulsed animations Also fix the behavior for calling reverse() immediately after start(). Such case now triggers end() right away, which is consistent with what the animation would do in M. Bug: 29271714 Change-Id: I045e36e039179a3c462f22bc6a3a765437de4074
/frameworks/base/core/java/android/animation/ValueAnimator.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/ValueAnimator.java
|
fa21bdfd5a8a5da3ec0530f7cc884994f92dc597 |
|
22-Apr-2016 |
Chet Haase <chet@google.com> |
Document behavior of object references in Animator classes Animators that are created with Object values may have undefined behavior when those objects are changed outside of the animator itself. For example, an animator created with a start Rect and end Rect will animate the bounds between those two objects. But if the caller changes either the start or end rect before or during the animation, that will affect the values used on every frame of the animation. Issue #28304520 Strange interpolation of property values holder values Change-Id: Id6ac19c8369ae34450e6b53d68f5e492b27c577e
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
56b0b570890dbb7baa00da95f5be2eb3e0122f0a |
|
13-Apr-2016 |
Doris Liu <tianliu@google.com> |
Skip to end for 0-duration animation Repeating a 0-duration animation makes no sense. In the case of battery saver mode, all animators are set to 0 duration, and repeating the 0 duration animations not only waste battery power but also potentially produce flickers on screen. In this CL, 0-duration animations are skipped to the end, regardless their repeat count. Bug: 25451472 Change-Id: I20f9dc2f0ff9c027782a8363ff4cf4a4d390736c
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
907c177b04d07d5d84005ac92df9bde6af7c394d |
|
25-Mar-2016 |
George Mount <mount@google.com> |
Start seeked animators without waiting for start delay. Bug 24872727 Change-Id: I954efd7113565f9b8f9a569f57960b8d91620758
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
5a705d0bbbd1f5eb117170c9c68399cc7b484b7a |
|
11-Mar-2016 |
Doris Liu <tianliu@google.com> |
Merge "Set end value immediately when start a 0-duration animation" into nyc-dev
|
a06b3f19d498e2c387e7a976f94d3cd5f1d77c35 |
|
02-Mar-2016 |
George Mount <mount@google.com> |
Remove animation listener while paused. Bug 27418573 While an animator was paused, it continued to receive Choreographer callbacks. This has been changed now so that after the first callback, it is removed. Change-Id: If73483404b38f1f354a63fc98d07696f442987e6
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
b199da785b0174a2addcf0c4c31304d005dc69e9 |
|
25-Feb-2016 |
Doris Liu <tianliu@google.com> |
Set end value immediately when start a 0-duration animation This is to be consistent with pre-N behavior. Bug: 27066791 Change-Id: I24cb7bc7645339a6e52be35a8cb15902b7d7bd5e
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
7764b920f21e0b9250122ff26533d5dac98df6b3 |
|
13-Jan-2016 |
George Mount <mount@google.com> |
Add IntDefs for Animator and Transition classes. Bug 23593341 Change-Id: Ifcb30322cb90efb32262c80f5d11c2d39efc5080
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
66d48566537bd2d037e1eff919542731b93fa85c |
|
09-Nov-2015 |
Doris Liu <tianliu@google.com> |
Fix animator sometimes not being ended when end() is called without start()'ing Bug: 23713124 Change-Id: I2e00cedb9c74e14d2361579bba89d3d1dbfe4d22
/frameworks/base/core/java/android/animation/ValueAnimator.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/ValueAnimator.java
|
fbe94ece70c8064e9d9d6f6c278bb9ab310911cd |
|
09-Sep-2015 |
Doris Liu <tianliu@google.com> |
More refactor on ValueAnimator mPlayingBackwards is confusing when placed next to mReversing. One means the overall direction of animation playing, the other indicates the direction of playing in the current iteration. mCurrentIteration and mPlayingBackward are redundant together, as the latter can be derived from the former, given the overall direction of animation playing. Redundant variables pose risk of getting out of sync and therefore are refactored out in this CL. Instead, an overall fraction that ranges from 0 to mRepeatCount + 1 was introduced. It can capture both the current iteration and the fraction in the current iteration. It gives a much better idea of the overall progress of the animation. Change-Id: Ic0ea02c86b04cfc01c462687d1ebbd46184cbab7
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
4365e5a13755ffbdb977586c90b8b515add599aa |
|
07-Oct-2015 |
Chet Haase <chet@google.com> |
Fix ValueAnimator.getCurrentPlayTime() Return a valid value for the current play time if the animator has been seeked to a play time or fraction, but not yet started. Issue #24717972 animator.getCurrentPlayTime() is all messed up Change-Id: I15f1329b65410b4b0366a23a3419b5987305a865
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
7b67734fe3601e87d3d3e54cc054884e02f58937 |
|
02-Oct-2015 |
Doris Liu <tianliu@google.com> |
Merge "Fix behavior change for animators without a start delay"
|
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/ValueAnimator.java
|
2b2e2c8d252b33fa25ccba1e37322256cd44b3d5 |
|
01-Oct-2015 |
Doris Liu <tianliu@google.com> |
Update doc to reflect requirement of a Looper for changing animation's frame delay Bug: 24569533 Change-Id: Ie886394a5e3cd7ceebbedbf09e2d9645b464a9c6
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
3dbaae1ef4f221b3626810f4ba19eec068dd6304 |
|
27-Aug-2015 |
Doris Liu <tianliu@google.com> |
Prevents recursive call into end() or cancel() end() and cancel() in ValueAnimator will trigger onAnimationCancel or onAnimationEnd callback on its listeners. If additional end() or cancel() request comes from the callback, a loop will be formed. Therefore, we need to mark when the end is reuqested so we do not process end() or cancel() request multiple times during one animation run, and also effectively terminate the loop. Bug: 23596652 Change-Id: Iefb69eb8969071b43124c09d7cccbe9ff5ba5dcc
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
3618d30f8ab6018025b11869676b309c3b4961cf |
|
14-Aug-2015 |
Doris Liu <tianliu@google.com> |
Internal cleanup for Animator framework This CL includes the following changes: 1) Remove redundant field mPlayingState in ValueAnimator. 2) Refactor AnimationHandler so that all of its interaction with Choreographer is through an interface. A custom provider that implements this interface can be plugged in and provide timing pulse that are independent of Choreographer. 3) Better encapsulate AnimationHandler and ValueAnimator. Interaction between the two is done through register/unregister frame callbacks as well as AnimationFrameCallback interface. 4) Change how animation delay is handled. Change-Id: Icd49f727321c362dab49b5b33815333c9ea559e0
/frameworks/base/core/java/android/animation/ValueAnimator.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/ValueAnimator.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/ValueAnimator.java
|
57c78290e4ba0ebd1fdb01c19db42a7c42e7664e |
|
22-Apr-2015 |
ztenghui <ztenghui@google.com> |
Merge "Being extra careful, reset some more variables on ValueAnimator."
|
e1b5c2b48a5cf1dd3712dde35b59bc18851b4018 |
|
21-Apr-2015 |
ztenghui <ztenghui@google.com> |
Being extra careful, reset some more variables on ValueAnimator. No real bug found related to these set of variables yet, just a clean up. b/20457797 Change-Id: I8443718b1c289ccc87e6b227d417825838277361
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
02ecf04097fab8531788ddb941ff2b38ad9fd931 |
|
10-Apr-2015 |
Doris Liu <tianliu@google.com> |
Merge "Distance based animation duration"
|
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/ValueAnimator.java
|
4e1e6af4766500eb895be50cd7247438bf5dfcd5 |
|
10-Apr-2015 |
ztenghui <ztenghui@google.com> |
Merge "The ValueAnimator's state need to be totally reset during clone."
|
26e9a19900bae56b012425a114685d42dfa2fde1 |
|
10-Apr-2015 |
ztenghui <ztenghui@google.com> |
The ValueAnimator's state need to be totally reset during clone. b/20119270 Change-Id: I26365b38e4a9712227aaec6f08f32025dab82ac7
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
c42b28dda45347b05826dc3e04f5605a60867a63 |
|
07-Apr-2015 |
Jeff Brown <jeffbrown@google.com> |
Fix animation start jank due to expensive layout operations. The Choreographer carefully schedules animation updates to occur after input but before traversals occur. This ensures that the effects of animations are perceived immediately in the next frame. The start time of animation is usually set the moment the animator first runs. The start time serves as a reference for timing the remainder of the animation. Setting the start time during the animation callback works well except when traversals take a long time to complete. In that case, we may end up drawing the initial frame of the animation then skipping several following frames (because a lot of time has already passed since the animation start time was set), effectively shortening the duration of the animation. To resolve this issue, we introduce a new COMMIT phase within the Choreographer. The COMMIT callback runs after traversals complete and may provide an updated frame time that more accurately reflects the time when the frame finished drawing. In the case where an animation is just starting, we note the fact that its initial start time has not yet been committed (the user hasn't actually seen anything on screen yet). Then, during the COMMIT phase, we adjust the animation start time to better reflect the time when the animation's first frame was drawn, effectively causing the animation actually start after the expensive traversal operations occurred such that no frames will be skipped. Bug: 17258911 Change-Id: I279603d01fd4ed1de8f51a77c62f4fec5e9b746a
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
c615c6fc9caca76cd96998f86e1f1e6393aeadbb |
|
02-Mar-2015 |
Tor Norbye <tnorbye@google.com> |
Annotate methods to be called from overrides with @CallSuper Change-Id: Ibc587c2aaee9f3e7f448079f72a75459fe4e15e7
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
08c7116ab9cd04ad6dd3c04aa1017237e7f409ac |
|
28-Feb-2015 |
John Spurlock <jspurlock@google.com> |
Remove unused imports in frameworks/base. Change-Id: I031443de83f93eb57a98863001826671b18f3b17
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
34efbcedac4157b1e92fcd8fd746ba2754b44858 |
|
23-Jan-2015 |
Chet Haase <chet@google.com> |
am af8c621d: Merge "Allow infinite-repeat zero-duration animators to continue repeating" into lmp-mr1-dev automerge: 458cc6a automerge: f647cde * commit 'f647cde899c4462b465721cd705f234da7e82730': Allow infinite-repeat zero-duration animators to continue repeating
|
d15e94f0309a91d5a75d03a9ae165121e7f24907 |
|
23-Jan-2015 |
Chet Haase <chet@google.com> |
Allow infinite-repeat zero-duration animators to continue repeating A recent change to ValueAnimator caused infinitely repeating animators with duration 0 to be ended immediately. BatterySaver mode can cause animators to have 0 duration, which means that apps depending on animator update events no longer receive those events due to this behavior change. The fix is to restore the previous behavior of allowing repeating animators to continue, regardless of duration. Issue #19113776 Fix infinite-repeating, zero-duration animator behavior Change-Id: I4d1c7afb6d06ca45ef41db73c160f6a6d5754e24
/frameworks/base/core/java/android/animation/ValueAnimator.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/ValueAnimator.java
|
5a5afe010d2f8fb7e8f00858b8a305b4745c0469 |
|
05-Dec-2014 |
Eino-Ville Talvala <etalvala@google.com> |
Fix docs build Change-Id: I9947d53aeb155d98f5194c9789f19aba1f01e4be
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
f4e3bab9253bba2c0086c35f4e5a1f7e41324876 |
|
03-Dec-2014 |
Chet Haase <chet@google.com> |
Fix seeking behavior A recent fix to seeking behavior injected a couple of issues that need to be addressed: - the start time should be updated when seeking so that future calculations that depend on it (such as the next animation frame) will use the updated start time based on this seek request. This allows, for example, seeking into a running animator so that that animator will update its current fraction to the new seeked value. - calling reverse() on an unstarted animation would incorrectly set the initial frame of the animation to the end value for one frame before the reverse animation actually began. Issue #18567716 No icons in folders in battery saving mode Issue #18511989 Search bar flashes when icon is picked up and dropped Change-Id: Ie30b7e797468c6ccb3d17d4fb3aba6b9849436b0
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
5a25e5bae223bbee56dab75e36d1d947c8c3cb11 |
|
01-Dec-2014 |
Chet Haase <chet@google.com> |
Zero duration animations snap to end value when started A recent change to seeking behavior altered the logic of setCurrentPlayTime() (which is called when animations are first started) to set the current animated fraction to 0 for 0-duration animations. This fix ensures that 0-duration animations snap to their end value (fraction == 1) instead, matching the behavior prior to the seeking fix. Issue #18542543 Animations with 0 duration stay in initial state when calling setCurrentPlayTime(0) Change-Id: I9916d962cf46453a9e3e1207f58baf16f4a5830a
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
0d1c27a713cb49de8f6f4fd0a129baa883153921 |
|
03-Nov-2014 |
Chet Haase <chet@google.com> |
Fix seeking and scaled duration behavior The animation scaled was not being factored in early enough in the activity lifecycle. Also, setCurrentPlaytTime() was not accounting for the scaled duration correctly. Finally, added setCurrentFraction() as a more general-purpose seeking facility. Issue #18222006 Animator duration scale ignored in some situations Issue #17951668 add ability to seek fraction, not just time Change-Id: Idad401f5ff5026d7046c36eee09d78a4793215dc
/frameworks/base/core/java/android/animation/ValueAnimator.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/ValueAnimator.java
|
7a08fe0e09c9bd5b66049738617cc9972651bf5b |
|
08-Oct-2014 |
Jeff Brown <jeffbrown@google.com> |
Reapply animation duration scale each time it is started. When Battery Saver mode is enabled, we set the animation duration scale factor to 0 to effectively disable all animations. Later when it is disabled, we reset the animation duration scale factor to 1. This change ensures that we reapply the duration scale factor whenever the animation is started instead of only applying it once when the duration is set (usually when the animation is created). This ensures that the correct scale factor is applied even when it changes after the animation has been initialized. Previously, certain animations would continue to be suppressed even after Battery Saver mode was disengaged. This wasn't much of an issue when the duration scale was initially implemented as a developer setting but now that it is exposed via Battery Saver the artifacts caused by this bug have become visible to users. Bug: 17887431 Change-Id: I91ba5ca0505d02ac389a31d067e38886112fa0c8
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
c01bd1167a1b08d59557f214ddc48cf24d3b8d0a |
|
19-Jul-2014 |
John Reck <jreck@google.com> |
Return Animator instead of ValueAnimator Change-Id: I29a7cfdc7ffbb3a4d33f9e64f9d7ca791f5c947c
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
d3de42cae84fadfa1befd082a2cf1bf72f9ad82a |
|
15-Jul-2014 |
John Reck <jreck@google.com> |
Add RT-enabled reveal animator Bug: 16161431 Also re-writes RevealAnimator to avoid using any listeners internally, removing the logic around shadowing the update listeners. Change-Id: I6ed8126398eed971a87f20bccb7584c9acafbb6c
/frameworks/base/core/java/android/animation/ValueAnimator.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/ValueAnimator.java
|
2ed16ac6238227dab2687519268f3683f045e2ac |
|
22-Mar-2014 |
George Mount <mount@google.com> |
Fix problem on Animator with a start delay. Bug 13589060 Change-Id: I05b9421fa141466bdbfe19f1bd5d993fa23982cb
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
1ffb280a7d2c70cc16d709c685f5d31fdb86b5e4 |
|
10-Oct-2013 |
George Mount <mount@google.com> |
Add ofArgb to ObjectAnimator and ValueAnimator. Bug 10396985 Change-Id: Ib1fcea04b5a915800fc415b3d548a8853b05389c
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
f43fb2a57f152b5760d8792fec26f36d46b23817 |
|
06-Sep-2013 |
Chet Haase <chet@google.com> |
Reversing immediately after starting animator ends it Previously, an animator that had started but not yet played its first frame would be reversed from its end state, which was not the desired behavior. Now, we detect that condition (started, but not yet actually running) and simply end() the animator immediately. Issue #10136266 ValueAnimator.reverse right after calling start() does the full animation Change-Id: I2a48d267336241ce74079c75758026c6f07ebc3a
/frameworks/base/core/java/android/animation/ValueAnimator.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/ValueAnimator.java
|
9b80ca81a8cc33067d858c52c7acbef9d8bdaf6a |
|
04-Jun-2013 |
Chet Haase <chet@google.com> |
Optimize calls to Trace for animators Previously, ValueAnimator would always call into the Trace class to log start/end events. When the animator is an ObjectAnimator, this call necessitated building a new String to capture the animated property name. This fix puts the calls to Trace inside a check for isTagEnabled(), to ensure that we only bother building the trace name when tracing is actually enabled. Change-Id: I56ef093f3b67b31a19c861f9d1e44a84341edf53
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
fdd3ad7018ebb054c0288b8cd92739703a973181 |
|
25-Apr-2013 |
Chet Haase <chet@google.com> |
Give animators more useful names in systrace Also, fix ObjectAnimator.getPropertyName() to return useful info for ObjectAnimators not created with string-based property names. Change-Id: If7ab6dbcc3be13f5978840b02f4a91ef7eee1c50
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
0a41431d697a34e7fe4ed2c481484d7a63949037 |
|
13-Apr-2013 |
Chet Haase <chet@google.com> |
Merge "API and doc cleanup, plus small animation/UI features" into jb-mr2-dev
|
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/ValueAnimator.java
|
18772ea228f3d292629c4f0b5f6392d047e0530d |
|
11-Apr-2013 |
Romain Guy <romainguy@google.com> |
Trace ValueAnimator based animations in systrace Change-Id: I1a81e157dea46743a737ed864f4aa0781651ccfd
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
be19e030a14c8e398e8af97fa898ea80187704df |
|
16-Mar-2013 |
Chet Haase <chet@google.com> |
Add auto-cancel ability to ObjectAnimator Add a method that enables a new auto-cancel option to ObjectAnimator. When set, any ObjectAnimator (when started) will cause any running ObjectAnimator instance (with that flag set) that has the same target and properties to cancel() itself prior to starting the new one. Issue #7426129 Add auto-cancel to animators Change-Id: I586659c365289cdb9afb6c416bdbaf5630477149
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
caf46486f54cdc899e383dfc776ec33a81b089a1 |
|
15-Mar-2013 |
Chet Haase <chet@google.com> |
Reset reverse state when an animator ends Seeking an animation after the animator has reverse()'d to the beginning will result in seeking in reverse. Starting the animation will make it proceed normally, and calling reverse() will also give expected behavior. But seeking causes this unexpected behavior because the state of reversing is not reset until the next time the animation is played (either by start() or reverse()). Fix is to reset the internal flag when the animator ends. Issue #8234676 Reversing an Animator Leaves it in A Reversed State Until Explicitly Started Change-Id: I9d212ae1879aa277d1add7eb4c7ec61432af059e
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
58ed5d748c0b9b64845975ef5844ad313de7c3f6 |
|
07-Nov-2012 |
Kenny Root <kroot@google.com> |
am 768d9e1a: Merge "Correct executable bit for source files" * commit '768d9e1a72ceee7d4a5f608776b87b62d6ce4a04': Correct executable bit for source files
|
3a084af2e90849aaa8beb3a610189e3399c63ea0 |
|
07-Nov-2012 |
Kenny Root <kroot@google.com> |
Correct executable bit for source files Many media files and source code files were marked as executable in Git. Remove those. Also a shell script and python script were not marked as executable. Change-Id: Ieb51bafb46c895a21d2e83696f5a901ba752b2c5
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
4dd176864310e1d9519bf6b88918913e9927984f |
|
13-Sep-2012 |
Chet Haase <chet@google.com> |
end() a reverse()'d animation correctly Previously, an animator that had been reverse()'d (and was thus playing backwards) would not end() at the right value. That is, a call to end() would cause the animation to snap to its original end value, not the reverse-playing end value (i.e., its start value). Logic to handle calculating the proper end value was not taking the reversing behavior into account. Issue #6583656 When you call end() after calling reverse() on an animation that has not started leads to forward animation finishing. Change-Id: Ifca60a32d4973c21b85aed9c459f802526c0207e
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
2936fc0244ab2010696b3b1d723d6bbbc693916e |
|
16-Aug-2012 |
Chet Haase <chet@google.com> |
Make animators more robust against ending mid-stream The logic in the frame processing code of ValueAnimator did not handle the situation of animators being ended while the current animation list was being processed. In particular, if a call to an animation update (which could result in a call out to user code) caused that animation, or other current animators, to end, then there was the risk of running off the end of the list of current animators. The fix is to work from a copy of the current animator list, processing frames on each one only if they also exist in the real animations list. Issue #6992223 Frequent System UI crash Change-Id: I742964558f8354f04c311b7b51c7686f26a4dacf
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
ff7e6ef4f18ff94a9836492ff3ccd1ba7f6804f3 |
|
15-Aug-2012 |
Jeff Brown <jeffbrown@google.com> |
Apply ValueAnimator scale factor immediately in WM. Normally the ValueAnimator scale factor is applied the first time a ViewRootImpl window session is created but that may be too late for animators created by system services that start early in the boot process. So set the scale factor immediately whenever the setting changes. Also make ValueAnimator.getDurationScale() accessible (but @hide) for custom animators that want to apply the same scale to their animations. Change-Id: I0f5a750ab5b014f63848445435d8dca86f2a7ada
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
59bbef0cd781f4933fd8a0a85b6067f36e529e02 |
|
08-May-2012 |
Jeff Brown <jeffbrown@google.com> |
Improve animation timing. Detect when a vsync message was significantly delayed which may indicate that a frame was skipped. When this happens, update the frame time to reflect the approximate start time of the current frame instead of the start time of the frame that was skipped a long time ago. Removed an unnecessary call to getCurrentPlayTime() in the animator framework. The result was always zero and the call just made the code confusing. Bug: 6443611 Change-Id: I92b24f7ffd74c59b75a727b6bfc0bb51fc92a73a
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
20c4f87b2916d05e860d11568d7db6b2d340e909 |
|
27-Apr-2012 |
Jeff Brown <jeffbrown@google.com> |
Use choreographer frame time to schedule animations. Instead of using the current uptime millis, which can exhibit substantial jitter depending on when the code runs, use the current frame's vsync time when performing animations. The frame time provides a more consistent pulse. Bug: 6375101 Change-Id: Icf307cd8524246607db7496c6fef9a5eeb7c0439
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
17cf42cb85c22b50ecfa8d21efc992f99d20fc45 |
|
17-Apr-2012 |
Chet Haase <chet@google.com> |
Fix logic of animator start/cancel/end callbacks The callbacks for animators in some corner cases were not being called correctly. For example, startDelayed animators that were started and then ended didn't send out the proper events. This CL fixes that logic. Specifically: - An animator that is end()'d will implicitly start() itself and then assign an end value. This was already the case, but listeners were not getting notified. Now this situation causes callbacks to listeners for both the start and end events. - startDelayed animators that are end()'d or cancel()'d prior to finishing the startDelay phase will send out events (start and cancel/end, as appropriate) to listeners. Change-Id: I40a0f2fdb19d9ec7c3726a91363686c6ecb7d915
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
ebb2d8d708c5c58c79ae88ac2bd10450a856f702 |
|
24-Mar-2012 |
Jeff Brown <jeffbrown@google.com> |
Enable vsync traversals by default. Improved how the various callbacks are managed and sequenced to reduce code duplication. Added a heuristic to avoid postponing traversals until the next vsync frame if we did not actually do any drawing during the previous frame. This helps in the very common case where drawing occurs in response to input. Change-Id: I277d9eeaf50408f8745a3cfd181db1d140770658
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
c6ffab32415a58bbb010dcd115684f9dbc249710 |
|
17-Mar-2012 |
Chet Haase <chet@google.com> |
Reduce redundant animation processing Starting several animations will place separate events onto the animation queue, which may cause the active animations to get processed more than once in any frame when one of those start messages is processed. This change moves the logic of starting pending animations into the animation frame processing itself. Now when a start event is processed, it only calls the animation frame logic if there are unstarted animations pending. Issue #6172602 Inconsistent animation callbacks Change-Id: I3a546f0c849f42b2dd998f099fcdfafd7d780ad9
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
f76a50ce8fdc6aea22cabc77b2977a1a15a79630 |
|
09-Mar-2012 |
Ken Wakasa <kwakasa@google.com> |
Fix obvious typos under frameworks/base/core Change-Id: Ia5fc3db1bb51824e7523885553be926bcc42d736
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
7ae9d5faad5816f7e567ec1ec77e78d746cf7e5c |
|
06-Mar-2012 |
Jeff Brown <jeffbrown@google.com> |
Use the Choreographer for Drawable animations. Change-Id: Ifcbf33434bf3c32d1900fd0b3f5bde004604ce8a
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
4a06c8008b2edd6677f9a411af79b0a4971b87fe |
|
16-Feb-2012 |
Jeff Brown <jeffbrown@google.com> |
Simplify Choreographer API. Removed the listeners and schedule animation / draw methods. Instead all requests are posted as one-shot callbacks, which is a better match for how clients actually use the Choreographer. Bug: 5721047 Change-Id: I113180b2713a300e4444d0d987f52b8157b7ac15
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
c38fa1f63674971f9ac6ced1a449fb81026b62f7 |
|
02-Feb-2012 |
Chet Haase <chet@google.com> |
Add Developer Option setting for Animator scaling. This new setting allows users to set a scale factor for the duration and startDelay of all Animator-based animations. This setting is very similar to the Transition animation scale and Window animation scale settings, except this one applies specifically to Animator animations. The property is only accessible by users through the Settings UI, not programmatically. The value applies system-wide and is picked up per-process at the time of the first ValueAnimator construction. This is an update to a previous CL; this approach uses the WindowManager to store the animator scale settings, instead of SystemProperties. Change-Id: I8295fab060aa6d597ae507ded8f9c9d6077be966
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
d21a9fe2d9a6cfe966fc7df3a8c37c172d7ac302 |
|
01-Feb-2012 |
Chet Haase <chet@google.com> |
Add Developer Option setting for Animator scaling. This new setting allows users to set a scale factor for the duration and startDelay of all Animator-based animations. This setting is very similar to the Transition animation scale and Window animation scale settings, except this one applies specifically to Animator animations. The property is only accessible by users through the Settings UI, not programmatically. The value applies system-wide and is picked up per-process at the time of the first ValueAnimator construction. Change-Id: I3d5fbc956695c88d01c30820259da3e107ffd8a3
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
2b072677538de979961b5bf527109fdab1713731 |
|
23-Dec-2011 |
Joe Fernandez <joefernandez@google.com> |
am 201469f5: am bb7f590a: Merge "docs: Add developer guide cross-references, Project ACRE, round 4" into ics-mr1 * commit '201469f54522436be79d4d6665721049bfc74320': docs: Add developer guide cross-references, Project ACRE, round 4
|
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/ValueAnimator.java
|
96e942dabeeaaa9ab6df3a870668c6fe53d930da |
|
01-Dec-2011 |
Jeff Brown <jeffbrown@google.com> |
Use a Choreographer to schedule animation and drawing. Both animations and drawing need to march to the beat of the same drum, but the animation system doesn't know abgout the view system and vice-versa so neither one can drive the other. We introduce the Choreographer as a drummer to keep everyone in time and ensure a magnificent performance. This patch enabled VSync based animations and drawing by default. Two system properties are provided for testing purposes to control the behavior. "debug.choreographer.vsync": Enables vsync based animation timing. Defaults to true. When false, animations are timed by posting delayed messages to a message queue in the same way they used to be before this patch. "debug.choreographer.animdraw": Enables the use of the animation timer to drive drawing such that drawing is synchronized with animations (in other words, with vsync or the timing loop). Defaults to true. When false, layout traversals and drawing are posted to the message queue for execution without any delay or synchronization in the same way they used to be before this patch. Stubbed out part of the layoutlib animation code because it depends on the old timing loop (opened bug 5712395) Change-Id: I186d9518648e89bc3e809e393e9a9148bbbecc4d
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
9c38dbeb1d183ecd48bbf5d18a39f5e0508a1223 |
|
03-Dec-2011 |
Jeff Brown <jeffbrown@google.com> |
Refactor ValueAnimator to reduce use of ThreadLocals. Change-Id: I494c9cc32e58b77d5f7ea092ee6a0ae4d2d805bb
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
7f9f99ea11051614a7727dfb9f9578b518e76e3c |
|
11-Aug-2011 |
Xavier Ducrohet <xav@android.com> |
Make some methods/fields package private so that layoutlib can access them. Change-Id: I4aeadfbaf8a4f6a459fa19937c21ac23d9e5fb64
/frameworks/base/core/java/android/animation/ValueAnimator.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/ValueAnimator.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/ValueAnimator.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/ValueAnimator.java
|
d4dd7025a1b356476e119de19a2e2cd5cf50d43c |
|
05-Apr-2011 |
Chet Haase <chet@google.com> |
Fix bug with values in cloned animators. When a ValueAnimator is cloned, we correctly clone the underlying PropertyValuesHolder objects and assign them to the new object. However, we then put values into the new property map using the old values instead of the new ones. This means that the per-property animated values cannot be retrieved with the property names from the cloned animator, because the map refers to the values of the original object, not the cloned object that is actually being animated. Fix is easy: just put the cloned values (which are already being created) into the map. Change-Id: I81282ca1dab6b1767ddc894d57a1110b344b4b0a
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
a00f3865f55c5c9cb74510ee2b239d101230133c |
|
22-Feb-2011 |
Chet Haase <chet@google.com> |
Add ViewPropertyAnimator for easy animation of View properties Change-Id: I2bc52ca16507d8d20004d2d6823e587791272aac
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
154f14508a11627d5a995b6fe2a14a83d794a6fe |
|
24-Feb-2011 |
Chet Haase <chet@google.com> |
Fix bug with bad state in animators Bug 3482310: The playing state was not being correctly set to RUNNING after an animator was start()'d. Instead, we were seeking to the start value (correct), setting the state to SEEKED (also correct), but not resetting the playing state to STOPPED. So when the animation actually started animating values, it didn't recognize that it was starting a STOPPED animation, so it never set its state to RUNNING, and never returned true from isRunning(). Change-Id: Iea92dce98f92f60052d8a9a451094b953f9f0c67
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
e9140a72b1059574046a624b471b2c3a35806496 |
|
17-Feb-2011 |
Chet Haase <chet@google.com> |
Fix invalidation bug with View bounds properties When setLeft/Right/Top/Bottom() functions were called on View, invalidation was only happening at the parent level. When an app is hardware accelerated, this means that the view's display list is not being recreated. So views that were changing size due to these calls were not getting redrawn properly, causing some artifacts in animations (especially LayoutTransition, which calls these setters). Fix is to invalidate the child instead of just the child's bounds in the parent. Change-Id: Ic8b2a5db519345dce617f914c2214738f22031b2
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
add6577a0196258e5a48c5deefcdb12e05c935b3 |
|
10-Feb-2011 |
Chet Haase <chet@google.com> |
Fix animation and layoutTransition issues. There were some subtle timing issues in animators with ending animations that were not completely initialized (possibly because a startDelay'd animator was ended before the delay elapsed). Also, LayoutTransition had bugs around running a transition on a container while a previously-started transition was still in progress. This could result in some minor artifacts or crash bugs, depending on the durations and delays set on the transition animations. Change-Id: Ic6a69601f1ce9a55db15fff6b8ed25950b354491
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
8901ffab294934fc4899143f31bd58f3d58df225 |
|
17-Jan-2011 |
Patrick Dubroy <dubroy@google.com> |
Add a method for clearing all animations on a thread.
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
b2ab04ffb6894f399d5c9ceb15f64eb17b654426 |
|
16-Jan-2011 |
Chet Haase <chet@google.com> |
Remove obsolete DoubleEvaluator Change-Id: I4407468599061ff35c68589988fb1e897de28c69
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
53ee3316bcb3590ff156b3fd7108903c0817c35d |
|
11-Jan-2011 |
Chet Haase <chet@google.com> |
Rename RGBEvaluator to ArgbEvaluator Change-Id: Iee74b475960d623fa757349e4053bd7c58cf5734
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
27c1d4debb3848f5accd5673fffeeacad3e61648 |
|
16-Dec-2010 |
Chet Haase <chet@google.com> |
Fix minor animation and doc issues Change-Id: I0ea077d9434ac3e22e8600f22ca4a24a6a46965c
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
051d35e41f7b21cd8a1608bdce10cf70952c6be4 |
|
14-Dec-2010 |
Chet Haase <chet@google.com> |
Adding TimeAnimator capability (hidden for now) This new class allows listeners to receive callbacks with elapsed time that are sent on the same animation updates as other animators in the system. It will allow simulations that go beyond the current animation system while handling the actual animation timing system and ensuring that those simulations sync up with other typical animations. Change-Id: Iac91c39634218793f6598a7dec5ed71dc9630258
/frameworks/base/core/java/android/animation/ValueAnimator.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/ValueAnimator.java
|
730666858692ea396f5ad779654b5d86ff90b6ca |
|
30-Nov-2010 |
Chet Haase <chet@google.com> |
animation bugfix plus xml resources for new View properties There was a bug around animation duration where it was possible, for small durations or large inter-frame times, to calculate fractions outside of the 0-1 range, causing bad value calculations. Unrelated: new View properties for translation, scale, and rotation were added in this release. This commit addes XML resources for those properties. Change-Id: Ieaf5dd729588adb2a40656aa82beecc3576f4af5
/frameworks/base/core/java/android/animation/ValueAnimator.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/ValueAnimator.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/ValueAnimator.java
|
70d4ba15b1f0c1133c5aabc86de828b41e482fff |
|
06-Oct-2010 |
Chet Haase <chet@google.com> |
Performance optimizations for animations and toolkit Change-Id: I316a48273a9cbb428a965e4b849b3e5e9e8202f1
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
e3bc4e6f102fbef760fe0a59dd807363571b0867 |
|
27-Oct-2010 |
Chet Haase <chet@google.com> |
Use ThreadLocal for static Animator variables. Certain fields in Animator are statics, like the list of current animations and the main handler. However, since there may be >1 UI thread per process, these should really be ThreadLocal variables, so that they are local to each UI thread. For example, most animators will cause an invalidation in the view hierarchy, which can only happen in the UI thread for that view. Change-Id: I42be61c781ffac97b527f78ce1ffc2e0cdc42999
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
599ca29986235e07f532c7b112507f6c39b5dba9 |
|
22-Oct-2010 |
Brad Fitzpatrick <bradfitz@android.com> |
Expose (internally only) the number of animations currently running. This will be used for StrictMode to annotate violations with whether or not they janked up an animation. Change-Id: I5bc691f49b74c45279cd2ae044d2a81dcf1204a9
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
5c13d89c1332fcc499379b9064b891187b75ca32 |
|
08-Oct-2010 |
Chet Haase <chet@google.com> |
Optimizing display lists by referencing pointers to resources instead of copying them Change-Id: I81ad3551d74aa1e5bb64d69e33d2eb29a6c1eb6a
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
51b3227c2e08143c2e3dde9d51ae5b6fff36693c |
|
14-Oct-2010 |
Chet Haase <chet@google.com> |
Remove errant minus sign Change-Id: I39a76484884615aa86f4a845eb4637467ec5abc7
/frameworks/base/core/java/android/animation/ValueAnimator.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/ValueAnimator.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/ValueAnimator.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/ValueAnimator.java
|
608fc3cbed6062f29cd512c08aacb8c1632a8851 |
|
11-Oct-2010 |
Chet Haase <chet@google.com> |
Double the performance of animations. There is a hard-coded limit to the frame rate of animations; this commit increases that rate by changing the inter-frame delay from 30 ms to 10 ms (although the actual delay will be determined by the maximum refresh rate of the system and the system load). For example, the effective maximum on current devices is 55 fps, or a delay of about 16 ms. Change-Id: Id96a41cef36851e2d9508a98934f4b25595251ea
/frameworks/base/core/java/android/animation/ValueAnimator.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/ValueAnimator.java
|
0e0590bf3cb32e73f423c0fe39a180d4b3c4343d |
|
26-Sep-2010 |
Chet Haase <chet@google.com> |
bug fixes in animation classes Change-Id: I5465bc95032c94851b8cf4e4db3477f546e8b0d1
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
3060421045d4d9e411797f91bb509824b03e33fb |
|
23-Sep-2010 |
Jim Miller <jaggies@google.com> |
Add new WaveView widget to framework and integrate into LockScreen. This adds a new "Energy Wave" widget to the internal widgets and integrates it into LockScreen. ValueAnimator needed a slight modification since it expects to be run inside of Activities with a Looper. Additionally, this adds an API, removeAllUpdateListeners(), which is needed to properly recycle ValueAnimator objects. Some minor code cleanup and UI tweaks after review. Changed delay timeout from 1.3s to 0.5s. Change-Id: Ibcf015e61fa8ba79d62f2019f1b29ace7caa00c8
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
b20db3ec34e846010f389880b2cfab4d7bf79820 |
|
10-Sep-2010 |
Chet Haase <chet@google.com> |
Make fragment animations work when fragments go away Change-Id: I136de6ef910cc02b8181fcfa065bdb0770841396
/frameworks/base/core/java/android/animation/ValueAnimator.java
|
a18a86b43e40e3c15dcca0ae0148d641be9b25fe |
|
07-Sep-2010 |
Chet Haase <chet@google.com> |
Rename several animation classes Change-Id: I6a4544875090db485163c8d56de8718f56d267c7
/frameworks/base/core/java/android/animation/ValueAnimator.java
|