c2333b7ef64370c545d0a6ca6ece07ce8e1ce894 |
13-Nov-2017 |
Jorim Jaggi <jjaggi@google.com> |
Add ability to override global duration scale on ValueAnimator This is needed as window animations are being ported over to use ValueAnimator, and thus ValueAnimator need to ability to support custom duration scales per object. Test: ValueAnimatorTests Bug: 64674361 Change-Id: Iea8d673b66e52866929174bbf6ca4a7ae882807b
alueAnimator.java
|
290271695d66cb6be38b1ebe80dc3473e6163738 |
27-Sep-2017 |
Doris Liu <tianliu@google.com> |
Fix end() for infinite AnimatorSet BUG: 66880433 Test: repo steps in the bug above Change-Id: If34b7386b7ff5cd28144e99c37957abddb068e9c
nimatorSet.java
|
a5e833e8463f817956a397557c96c5ee18359be8 |
13-Jun-2017 |
Wale Ogunwale <ogunwale@google.com> |
Merge "Ensure that we use SF Vsync Choreographer for the PiP transition." into oc-dev am: e1e0db8ca9 am: 90159a2492 Change-Id: I0092411f5b8bef853b55e6ffe7bdf700876f7715
|
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
alueAnimator.java
|
ba087b09fce6c50af846c483891052a49217ab59 |
07-Jun-2017 |
Doris Liu <tianliu@google.com> |
Merge "Merge "Better handle non-recommended use and warn against it in JavaDoc" into oc-dev am: 8d06d8cbf1" into oc-dev-plus-aosp am: 721ecfd21a Change-Id: Iec199dd0cfe7beace7549d3e16e888458fd0306c
|
8d06d8cbf1fd18c3a8119fba5fe060bc0c7f8c4b |
07-Jun-2017 |
Doris Liu <tianliu@google.com> |
Merge "Better handle non-recommended use and warn against it in JavaDoc" into oc-dev
|
88bb31b95467f3591f4911be673b57c6fb316134 |
06-Jun-2017 |
Doris Liu <tianliu@google.com> |
Better handle non-recommended use and warn against it in JavaDoc BUG: 62386748 Test: Follow repro steps in b/62358678. The issue is no longer reproducible Change-Id: Ic3cec7c4947296224edb5365d81988d4da7ee5e1
nimatorSet.java
|
7d0b3bbf15073852c576ba48fd8926fd63ffd17b |
01-Jun-2017 |
Doris Liu <tianliu@google.com> |
Merge "Ensure start delay is properly scaled with duration scale" into oc-dev am: 9057f846ac am: 4b5d12d25a Change-Id: I80a1dc2c898a9456b651f6b1375055e6fcb59540
|
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
alueAnimator.java
|
367804f1e43cb35c8f0a05070438147c506dc02a |
31-May-2017 |
Chet Haase <chet@google.com> |
Merge "Fix infinite loop problem in AnimationHandler" into oc-dev am: 163ec051d1 am: 3fb0e7555f Change-Id: I91064e4baf1333c25d55d06e4373c83243c3e0da
|
da9374211f84b899e8c09c0600ec3fe6ed35b22f |
27-May-2017 |
Chet Haase <chet@google.com> |
Fix infinite loop problem in AnimationHandler AnimationHandler.doAnimationFrame() iterates on a list that may be changed during the course of the lopp, especially when Battery Saver is enabled, or animators have zero duration, coupled with user code launching new animators when old ones end. The fix is to iterate through the old size of the list, and avoid processing new animators in the current frame. Bug: 37376806 Keyboard doesn't come up when battery saver is turned on on Android O Test: manual Change-Id: I40ca1d849e6f337779c23edbab22d80760c22f9b
nimationHandler.java
|
01e1b8550d6559076ec5bdedd48632c9e4d01930 |
16-May-2017 |
Aurimas Liutikas <aurimas@google.com> |
Merge "Remove internal listener when cloning" into oc-dev am: a7dde34a81 am: c59f75af1d Change-Id: Ia44c46f0784c412d71956c9e7f1e17533c991b9c
|
7fb80f7d277bcde8a685088b97f52a39be567c7c |
15-May-2017 |
Philip Quinn <pquinn@google.com> |
Update the mTotalDuration for each animation in an AnimatorSet. A cache was introduced in I677bc289f2ba430466f2d90ebc14368cb7b75118 to optimise calls to createDependencyGraph(), but the update was removed in If1dc6e8dbc93a4bf5ade8c5b0dcf43d3ee6ba7b5. This patch reintroduces the update when calculating child animation start/end times to re-enable the optimisation. Test: cts-tradefed run cts-dev --module CtsAnimationTestCases Change-Id: Ie9dad4049c07a151889b57809bf844ab854ff482
nimatorSet.java
|
c457547cbd26e754d126f4f3651b4a7b2a262799 |
13-May-2017 |
Doris Liu <tianliu@google.com> |
Remove internal listener when cloning BUG: 38270215 Test: adb shell am instrument -w com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner Change-Id: Ia80d5f8958e320ad7d51ef7a08168763c8988146
nimatorSet.java
|
56b2df05f56b2c7b82a50b46341d055f6d70a913 |
12-May-2017 |
Doris Liu <tianliu@google.com> |
Fix racy clone BUG: 38184803 Test: cts AnimatorSet tests Change-Id: I308ae9cc014f13a6aa928d8d82e339f476f4b3de
nimatorSet.java
|
02eabdff6b8d4a8c6152a4ef69c2839e66595512 |
26-Apr-2017 |
Doris Liu <tianliu@google.com> |
Refine JavaDocs for AnimatorSet#getCurrentPlayTime() This is to address API concil's feedback. BUG: 37673139 Test: make -j20 docs Change-Id: I2e360c7996f8368c77c30c55271e006f94736f90
nimatorSet.java
|
5fb129c2abcf62ba09bff7322cad62adf9449887 |
21-Apr-2017 |
Doris Liu <tianliu@google.com> |
Behavior compat for child being manipulated outside Animatorset When a child animator is being manipulated outside of the AnimatorSet, such as when the child animator is running before the AnimatorSet gets started, we need to make sure we maintain the behavoir on N: The child animator will be re-started at its scheduled start time in the AnimatorSet. BUG: 37507882 Test: Repro steps in comment #1 & ag/2144081/ Change-Id: Ib97e85706f01d18a2e72fb4d1d678e22cf959894
nimatorSet.java
|
ae570c04c0e43e0d66e2c563fe6d8cacb438961b |
03-Apr-2017 |
Doris Liu <tianliu@google.com> |
Remove workaround for end() not supported in some app BUG: 36241584 Test: Follow repro steps of comment #1 in the bug above Change-Id: I1bf27a7cc9cc2bd398c372623d7978e838f1d8b2
nimatorSet.java
|
d7968dc174f60e3b8f5aaddd05703cf6ce9114ad |
16-Mar-2017 |
Doris Liu <tianliu@google.com> |
Fix 0 duration scale for pre-O apps This CL fixed an issue where pre-O apps receive animation end callbacks before all animations have ended. BUG: 36157561 Change-Id: Id0ea05e76c91a21a678ec05b1ed0c898ee36ee43 Workaround: 36241584 Test: repro steps in comment #1
nimatorSet.java
|
21ba77f6b6c037e9507e210e22c18614fa9d2e9b |
07-Mar-2017 |
Doris Liu <tianliu@google.com> |
Ensure behavior consistency for 0 duration scale BUG: 35590176 Test: cts in the same topic branch Change-Id: Ia0a2518a1376d3f82ee6c5a7b27e3cb24ed54cbf
nimatorSet.java
|
e8a5d8d211983522661cd2a059b66e71b09a5e07 |
14-Feb-2017 |
Doris Liu <tianliu@google.com> |
Fix start time modification outside of updatePlayTime() BUG: 35340235 Test: manually start the chrome photos app, no crash and CTS at: ag/1908702 Change-Id: I3c0a6f140ee497020b562f25cade241dcd993c2a
nimatorSet.java
|
c9b5034178809a0c51f368735fded79bd73527bd |
11-Feb-2017 |
Doris Liu <tianliu@google.com> |
Correctly handle infinite start time BUG: 34837854 Test: ag/1901799 Change-Id: If60dc9432df189642e67ff544e14a4cda7d5e0ec
nimatorSet.java
|
dd65ab04071fd80007155e8cb4b205370acf759b |
08-Feb-2017 |
Doris Liu <tianliu@google.com> |
Add getter for current play time BUG: 30993532 Test: cts tests in the same topic branch Change-Id: I45ee9c61f53051fcac3399eebc378aa2c0ce056d
nimatorSet.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
nimatorSet.java
alueAnimator.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
alueAnimator.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
nimator.java
nimatorSet.java
alueAnimator.java
|
6ba5ed322c04f260c51d58f2e49c6189b672f2d3 |
27-Jan-2017 |
Doris Liu <tianliu@google.com> |
Use listener to determine whether an Animator has ended BUG: 34736819 Test: ran cts test for ValueAnimator and AnimatorSet Change-Id: Ia1070f83833940cb09d26243f5873751d9ca2a38
nimator.java
nimatorSet.java
|
1f6c3fb286d3672f25707ddd224be211eb24c98e |
26-Jan-2017 |
Doris Liu <tianliu@google.com> |
Merge "Work around a bug in an An app"
|
66c564e390ea71576db7d4c1803b169cc98e987b |
26-Jan-2017 |
Doris Liu <tianliu@google.com> |
Work around a bug in an An app An app has Animators (NoPauseAnimatorWrapper) that does not check their listeners against null before cloning. The previous implementation of AnimatorSet has masked this issue. But the underlying bug should be fixed in this app. For now, work around the bug by adding a listener to all the child animators. BUG: 34736819 Test: Manual Change-Id: I968450aab62cf5d308e3b64e76dcf018178af67e
nimatorSet.java
|
40e8469789c197e36b3d008039c7c2842ab2bfc5 |
26-Jan-2017 |
Doris Liu <tianliu@google.com> |
Refine the comparator for the animation event sorting BUG: 34719156 Test: manual Change-Id: Iad96967c8ee6a3b3b661fb9de4e750d7b935b3f7
nimatorSet.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
nimationHandler.java
nimator.java
nimatorSet.java
bjectAnimator.java
alueAnimator.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
bjectAnimator.java
alueAnimator.java
|
67e2ae86396c6d0f989285275cbf908dee5e71f7 |
12-Oct-2016 |
Aurimas Liutikas <aurimas@google.com> |
Fix import statement in view|transition|animation packages. This change also remove trailing whitespace. Test: code still compiles Change-Id: I7eff4546320d67d2bae58d31bad0625ea0791b8f
eyframeSet.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
alueAnimator.java
|
2d7cb10ea4526616c5c00a0ecce7f6517ea502fe |
27-Sep-2016 |
Doris Liu <tianliu@google.com> |
Allow null target in ObjectAnimator if the target has never been set am: 4d04b1a446 am: fd2c4f186b am: 07c6140cda Change-Id: I230e79daa0e13dffeaa6137ea513272e0b9d45c5
|
930012063b9dfec09d6d111a50eac4c896306dee |
27-Sep-2016 |
Kevin Hufnagle <khufnagle@google.com> |
docs: Added note in LayoutTransition class reference that APPEARING and DISAPPEARING animation timelines cannot overlap am: 5232329b4e am: 1456a0a321 am: 4cb055832b Change-Id: I7c28aef0e439a22a74c86cb7cdb4a5c1061bfb50
|
fd2c4f186ba8e08ce483570beb89df13461a0a25 |
27-Sep-2016 |
Doris Liu <tianliu@google.com> |
Allow null target in ObjectAnimator if the target has never been set am: 4d04b1a446 Change-Id: I5438b8d79f6e245e8a87e1480023c0ac77243f10
|
8e9b8b6c74af1aec7daf477fe83924c44f611339 |
27-Sep-2016 |
Kevin Hufnagle <khufnagle@google.com> |
docs: Added note in LayoutTransition class reference that APPEARING and DISAPPEARING animation timelines cannot overlap am: 5232329b4e am: ad5cafd283 Change-Id: I8593de353f1186b2aa892cf541a4718d64474b15
|
4cb055832bf7d3e5eb6ac05c8bd80fe85027d3fe |
27-Sep-2016 |
Kevin Hufnagle <khufnagle@google.com> |
docs: Added note in LayoutTransition class reference that APPEARING and DISAPPEARING animation timelines cannot overlap am: 5232329b4e am: 1456a0a321 Change-Id: I1771afca56ff1cf1b4bcc7bf9573a71d9b566e54
|
ad5cafd283dc2c3785954505fb41d8be8aafaf2c |
27-Sep-2016 |
Kevin Hufnagle <khufnagle@google.com> |
docs: Added note in LayoutTransition class reference that APPEARING and DISAPPEARING animation timelines cannot overlap am: 5232329b4e Change-Id: Ib3f8ffa61495a237c6e69b8f9260b46027c26a2a
|
4d04b1a446cb8c3dc5b42ddd58f82a6127521622 |
27-Sep-2016 |
Doris Liu <tianliu@google.com> |
Allow null target in ObjectAnimator if the target has never been set BUG: 31684571 Test: http://ag/1484115 Change-Id: I867fc3f93ddf70c58ae4387317ac875c5bafbebe
bjectAnimator.java
|
5232329b4e5c00622e3f1d87deec8130aa3b917f |
19-Sep-2016 |
Kevin Hufnagle <khufnagle@google.com> |
docs: Added note in LayoutTransition class reference that APPEARING and DISAPPEARING animation timelines cannot overlap Bug: 16808571 Change-Id: I8cbac11da4f866f2d3bcde45996b039e9bdfb801
ayoutTransition.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
alueAnimator.java
|
f66d2f6f31d6a9bc51c8fa52915906c3594db82c |
22-Aug-2016 |
Doris Liu <tianliu@google.com> |
Fix out of order listener callback for animator set containing empty sets BUG: 31016584 CTS test for this fix is added at: https://googleplex-android-review.git.corp.google.com/#/c/1348858/ Change-Id: I9427a6791f4e0aafc33f5cc9fac16c3518d1cdbe
nimatorSet.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
bjectAnimator.java
alueAnimator.java
|
2c0a36a1ec3c734bbfd0999a353ed40e2ead260b |
27-Jun-2016 |
Doris Liu <tianliu@google.com> |
Merge "Rounding per-channel interpolation in ArgbEvaluator to closest integer"
|
d0ff41c40660288c3bae27e5c3bc328a464eab03 |
27-Jun-2016 |
Doris Liu <tianliu@google.com> |
Rounding per-channel interpolation in ArgbEvaluator to closest integer In case of interpolating between x+1 and x in a color channel, the previous implementation would jump to x in the *beginning* of the animation, as it rounds down the interpolated float that's [x, x+1]. This CL rounds the per-channel interpolated float to the closest integer. Change-Id: I8610fb14ab3dd0ee2b1816868977c5653c178660
rgbEvaluator.java
|
91fcf575f1a712ba04b58a260752df3a333fa57f |
24-Jun-2016 |
Doris Liu <tianliu@google.com> |
Merge \\"Fix NPE for checking for whether animators should play together\\" into nyc-mr1-dev am: 7f9c189f06 am: b53c9c1658 Change-Id: Ia8b14a4e79c60e3c83f12ab07160ff2d36247088
|
c470466d7c89b55d8c5a13d79076fa2f8d624da1 |
23-Jun-2016 |
Doris Liu <tianliu@google.com> |
Fix NPE for checking for whether animators should play together BUG: 29586505 Change-Id: Ic2a67d51d2ac8d5bfb11ed7773c7c7e413cc28c7
nimatorSet.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
nimatorSet.java
alueAnimator.java
|
c88ded5a50b35436b1e217699a0b1b224f63df02 |
14-Jun-2016 |
Doris Liu <tianliu@google.com> |
Merge \"Merge \\\"Fix setCurrentPlayTime for started but not yet pulsed animations\\\" into nyc-dev am: 42d39300cf am: a28f0003eb\" into nyc-mr1-dev-plus-aosp am: 18b9573517 Change-Id: I6b9360bdbb145d4d0b6947ae11dd9dce7bdcbd5e
|
a28f0003eb27edbe298ce36c0e6b70dde42a4f09 |
13-Jun-2016 |
Doris Liu <tianliu@google.com> |
Merge \"Fix setCurrentPlayTime for started but not yet pulsed animations\" into nyc-dev am: 42d39300cf Change-Id: I7c1f2adb31ece266b082ffb9ea85b17c083b518c
|
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
alueAnimator.java
|
51cfa78b250202a997626f3e2df985c3f9defa9b |
10-Jun-2016 |
George Mount <mount@google.com> |
Merge "Ensure Animators and AnimatorSets run together are sync'd"
|
b04a0e57a751bfef6d4e320f9c9cf0a5715b4d3d |
10-Jun-2016 |
George Mount <mount@google.com> |
Ensure Animators and AnimatorSets run together are sync'd Bug 18122022 Previously, each animator would wait a frame after it was started the animation was actually started. This is fine for the first frame of an animation, but when it is within an AnimatorSet, each animator will add a frame of delay. This skews the animations so that they can no longer be synchronized. This CL refrains from waiting for an animation frame when it is started during the animator callback and just start the animation immediately on that frame. Change-Id: I007dad9aef7596f0e954377a36a17afd4801b7fe
nimationHandler.java
|
c9493879d7b38b9d0b5b09aa3760966a3ca33eac |
03-Jun-2016 |
Doris Liu <tianliu@google.com> |
Support Keyframe definition for AVD on RT BUG: 27441613 Change-Id: Iece386f65f3704d1b7caa2b3690a8d3048ccf6e2
ropertyValuesHolder.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)
ropertyValuesHolder.java
|
a282745fb8904645d54562d3857626f69f2e95e8 |
09-Jun-2016 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Simplify KeyframeSet to avoid caching."
|
7e1d49326719076401b43b28649a827478ea6487 |
09-Jun-2016 |
Doris Liu <tianliu@google.com> |
Merge "Support Keyframe definition for AVD on RT"
|
a6b967cfc54408f6ee78ae0e4695eca6efd62e89 |
03-Jun-2016 |
Doris Liu <tianliu@google.com> |
Support Keyframe definition for AVD on RT BUG: 27441613 Change-Id: Iece386f65f3704d1b7caa2b3690a8d3048ccf6e2
ropertyValuesHolder.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)
ropertyValuesHolder.java
|
2c0f9885e59f0520bf17fb90867fd6f620d89fa5 |
27-Apr-2016 |
George Mount <mount@google.com> |
Simplify KeyframeSet to avoid caching. Bug 27367940 Change-Id: I76426def5d4b46c0a0ba534fd952f6c41725c74a
loatKeyframeSet.java
ntKeyframeSet.java
eyframeSet.java
eyframes.java
athKeyframes.java
ropertyValuesHolder.java
|
204550983ac0fbbcde9875df4a934a83542e200a |
03-Jun-2016 |
Doris Liu <tianliu@google.com> |
Merge "Add additional type check for animating along a path"
|
02f03120a974c6ed17b0c7fa5e8e50d42f9b7768 |
02-Jun-2016 |
Doris Liu <tianliu@google.com> |
Add additional type check for animating along a path BUG: 29009391 Change-Id: I58c98e64f89d0e4e5e2d800a16e71ef853ecd5f6
nimatorInflater.java
|
94db09917a17976135e2c63d8e4171c54730c079 |
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
ropertyValuesHolder.java
|
b37b27ff19e6d4b43b436445866591a67dcfc6d4 |
28-May-2016 |
Doris Liu <tianliu@google.com> |
Merge "Merge "Add more doc for Object animators defined with a single value" into nyc-dev am: f97a0f5c9c" into nyc-mr1-dev am: d01f474773 am: d38541009b * commit 'd38541009b847cba108a71a49d64d809b0bb5f42': Add more doc for Object animators defined with a single value Change-Id: Icbc5a547c8a586335d4a826059765103cb59f26f
|
3c8598399638c90da69e14fde824385fdb582e1d |
28-May-2016 |
Doris Liu <tianliu@google.com> |
Add more doc for Object animators defined with a single value Bug: 28104516 Change-Id: I181b2817ceda5dfaf87e12c81b21e7d0d2f002fc
bjectAnimator.java
|
3cea02f3ceadfc1612ee0ae27679fe8a10e3c22f |
25-May-2016 |
Doris Liu <tianliu@google.com> |
Merge "Clamp start delay to non-negative range" into nyc-dev am: 54d89e078d am: 0890a4708e am: a38cbfbd1f * commit 'a38cbfbd1f51da95eb15063a2e7cf412fc1a0e93': Clamp start delay to non-negative range Change-Id: I56a05ae6ba65508f20b91699f319de71641a7fd1
|
61045c518b18a7cee30954fe45f9db8c14e705e1 |
25-May-2016 |
Doris Liu <tianliu@google.com> |
Clamp start delay to non-negative range Bug: 28936388 Change-Id: I2a225e07cad53c6ffc3637219f8c741aca5c008c
nimatorSet.java
alueAnimator.java
|
9f3b31b9530a2121b4557fc312972c4faa133d5e |
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
ropertyValuesHolder.java
|
ed45ab9004e9f70649f2f122d0d827ce70427130 |
30-Apr-2016 |
Romain Guy <romainguy@google.com> |
Evaluate ARGB values in linear space instead of sRGB A comparison between the old behavior and the behavior proposed in this change can be found in the following document: https://docs.google.com/a/google.com/document/d/1x8g5VcEZbuZd-RhSITc1VPpZ_dc0FlF1WbDscBYPQzM Change-Id: I29d3fdfdd45cb64f32ad6a6f3f25fa3dafe1a6d0
rgbEvaluator.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
bjectAnimator.java
ropertyValuesHolder.java
alueAnimator.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
nimatorSet.java
|
c5801fb9333823f08889f82eb4679638d18d6863 |
14-Apr-2016 |
Doris Liu <tianliu@google.com> |
Merge "Add api check to guard AnimatorSet behavior change" into nyc-dev
|
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
alueAnimator.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
nimatorSet.java
|
c69bd2246f4ec5000591fdc381f84cd90be85b7f |
15-Mar-2016 |
Jorim Jaggi <jjaggi@google.com> |
Implement transition for docking task in recents #6 - Use a future to provide the app thumbnail so the app can restart in parallel when recents draws the bitmap (extremely expensive). - Don't call startRecents from AM when recents is already running - this messes up the transition information. - Make sure to put the task into resizing mode if it needs to be restored from the disk. - Some minor fixes for the transition animation spec. - Add NO_MOVE_ANIMATION to recents flags to prevent wallpaper flickering. Bug: 27607141 Change-Id: I7d0c75b88775ab467927b8cf94303ddb60222e7f
eyframes.java
|
787e9dd6c81a2db27cd002ca6672be4279cabe88 |
15-Mar-2016 |
Jorim Jaggi <jjaggi@google.com> |
Implement transition for docking task in recents #5 - Move task along a curved path. Bug: 27607141 Change-Id: I945071de55efed0d327b68045e48fea6989adf63
eyframeSet.java
athKeyframes.java
|
907c177b04d07d5d84005ac92df9bde6af7c394d |
25-Mar-2016 |
George Mount <mount@google.com> |
Start seeked animators without waiting for start delay. Bug 24872727 Change-Id: I954efd7113565f9b8f9a569f57960b8d91620758
alueAnimator.java
|
e60a693d847a160b7a0d70046eb1d0e6d2cb4f10 |
17-Mar-2016 |
Chet Haase <chet@google.com> |
Clarify docs around weak references to animator targets Issue #26069047 Weak reference to the target in animators can cause interrupted animations Change-Id: I719f619006e93a94af907c4de7840c691a5aed37
nimator.java
bjectAnimator.java
|
7f1bdd9f9180574c8b6b98cefe3c542b92477295 |
18-Mar-2016 |
George Mount <mount@google.com> |
Merge "Add @SafeVarargs for methods using typevar varargs." into nyc-dev
|
d98f4ba86c02714d94ec3b6f35345cb0b04f7778 |
14-Mar-2016 |
George Mount <mount@google.com> |
Add @SafeVarargs for methods using typevar varargs. Bug 27142336 Using a type variable in a varargs leads to a javac warning because type variables are treated as Object after compilation. Because these uses do not require a specific typed array, we can use @SafeVarargs to suppress the warning. Change-Id: I860bcc79667a9c85c381c7994fd1d798209d7c66
bjectAnimator.java
ropertyValuesHolder.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
|
5a705d0bbbd1f5eb117170c9c68399cc7b484b7a |
11-Mar-2016 |
Doris Liu <tianliu@google.com> |
Merge "Set end value immediately when start a 0-duration animation" 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
nimator.java
nimatorInflater.java
tateListAnimator.java
|
c4dd2e7d525fc41081ab9138535cd1cf153c4bc6 |
04-Mar-2016 |
Adam Lesinski <adamlesinski@google.com> |
Merge "Move the guts of Resources to ResourcesImpl" 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
alueAnimator.java
|
fb302ccd8e0610a09691ea5503ff8111dc7a2e41 |
01-Mar-2016 |
Adam Lesinski <adamlesinski@google.com> |
Move the guts of Resources to ResourcesImpl In order to satisfy the requirement that clients can cache a Resources object when a configuration change happens, we move the caches and all other method bodies to ResourcesImpl. These can then be swapped out for the correct version when needed, while allowing clients to keep holding the existing Resources references. This is part 1 of 2 CLs. The next one will do the actual switching of implementations based on configuration changes for multiwindow. Bug:26854894 Change-Id: I41156194a3541e59053b4048c3a15981c7d8a506
nimatorInflater.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
alueAnimator.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
nimatorSet.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
nimatorSet.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
nimatorSet.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
nimatorSet.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
nimatorSet.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
nimatorSet.java
athKeyframes.java
ropertyValuesHolder.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
nimatorSet.java
athKeyframes.java
ropertyValuesHolder.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
nimatorSet.java
athKeyframes.java
ropertyValuesHolder.java
|
0f5fd2d8709dc8724e45d500d72119662bf28694 |
14-Jan-2016 |
George Mount <mount@google.com> |
Merge "Add IntDefs for Animator and Transition classes."
|
7764b920f21e0b9250122ff26533d5dac98df6b3 |
13-Jan-2016 |
George Mount <mount@google.com> |
Add IntDefs for Animator and Transition classes. Bug 23593341 Change-Id: Ifcb30322cb90efb32262c80f5d11c2d39efc5080
alueAnimator.java
|
406a02b59d3a8f9890509200f048c23c3b3200b7 |
12-Jan-2016 |
Chet Haase <chet@google.com> |
Don't double-set keyframe values when Property exists There is logic in PVH.setupValue() that sets the value of the appropriate keyframe from a Property, if that Property object exists for the animator. But after that is done, it goes ahead and sets the same keyframe value based on the getter for the target object. This is not only redundant; it is wrong (in the odd situation in which a getter would return something different than Property.get()). The solution is to return early once we've set the value with the Property object. Issue #26471646 PropertyValuesHolder uses reflection in setupValue when a Property is being used Change-Id: I12634a25661400f13f44872ba17625b32e93ca19
ropertyValuesHolder.java
|
804618d0863a5d8ad1b08a846bd5319be864a1cb |
17-Nov-2015 |
Doris Liu <tianliu@google.com> |
VectorDrawable native rendering - Step 2 of MANY Introduced PathData in Java, which is effectively a thin layer around the native instance. PathData holds the verbs and points which is being used in path morphing/interpolation. The verbs and points can be interpreted into skia path commands, which is now done in native and therefore saves a handful of JNI calls during path creation. Removed the old PathDataNode mechanism and changed the PathEvaluator to use PathData instead. Also added tests and a microbench. Also ran CTS tests for VectorDrawable and AnimatedVectorDrawable, and passed all of the existing tests. Change-Id: Ia166f5172ff031fe18b154327967f911a62caec1
nimatorInflater.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
alueAnimator.java
|
f2aeca34ba55d56de0c0db7c126f98a8f623f002 |
16-Oct-2015 |
George Mount <mount@google.com> |
Change wrong doc about using linear interpolator. Bug 24986885 Change-Id: I79f2cd0c6439749bf1fc412d28471e865501aa5a
bjectAnimator.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
nimator.java
nimatorSet.java
alueAnimator.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
alueAnimator.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
alueAnimator.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
nimatorSet.java
alueAnimator.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
alueAnimator.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
nimatorSet.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
alueAnimator.java
|
f310e889392be5198004c6c6611b2b50ae3344b8 |
27-Aug-2015 |
Doris Liu <tianliu@google.com> |
Fix build Change-Id: Ib454858f0fe3eb9171297c2c1ccece33729c487b
nimationHandler.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
nimationHandler.java
bjectAnimator.java
imeAnimator.java
alueAnimator.java
|
458f20ed5a3be51ab1166256dfeece37fa7e3c66 |
11-Aug-2015 |
Doris Liu <tianliu@google.com> |
Exclude DelayAnim in child animation value setup Change-Id: I5f3274d3c1a6fee7b22bb59cdb80f9bce8c4420e
nimatorSet.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
nimatorSet.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
nimatorSet.java
|
dbf69e4652d439892080dff3353b1cfd5b4bf6bc |
06-Aug-2015 |
Doris Liu <tianliu@google.com> |
Exclude delay animation from getChildAnimations() list Bug: 22975427 Change-Id: I8bd9a51f0a886873346d77e9452662301a7c0363
nimatorSet.java
|
5e66616c04e4a54df7e8783bc7ffe6c22bcb3040 |
04-Aug-2015 |
Doris Liu <tianliu@google.com> |
Fix clone in AnimatorSet Change-Id: I277d801897b08889c53522affdfc5581953c4f01
nimatorSet.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
nimator.java
nimatorSet.java
alueAnimator.java
|
81728b862e8448bc460fd6589de6c1b954f8227e |
10-Jun-2015 |
Chet Haase <chet@google.com> |
Merge "Clarify docs for Animator.isStarted()" into mnc-dev
|
4ddd9257d60c378ddcf5b537ea2a03b80629f097 |
10-Jun-2015 |
Chet Haase <chet@google.com> |
Clarify docs for Animator.isStarted() Behavior is different than spec'd for one-shot animators, clarified docs to reflect that. Issue #21087798 better docs for isStarted() Change-Id: I499a5d52cf02ef715acb6ae0635ede4328c93de8
nimator.java
|
2787cebfdc78b662e8742b7eb8dacf9b4a6e80c1 |
06-Jun-2015 |
Doris Liu <tianliu@google.com> |
Infer value type for ObjectAnimator, too Previously, changes have been made to infer value types for PropertyValuesHolder when no value type is defined. This CL applies the same inferring logic to ObjectAnimator too. Bug: 21645431 Change-Id: Ifdf163a7d32da990dc2281080f87f94c0df0e9ce
nimatorInflater.java
|
a2f043822b870f09839d025e146e37f7e7646fc4 |
11-May-2015 |
Doris Liu <tianliu@google.com> |
Merge "Use ArrayMap instead of HashMap for storing relavant nodes" into mnc-dev
|
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
nimatorSet.java
|
6a8c79bb2b4b0c749e76dc3628ec5200efec4f40 |
07-May-2015 |
Alan Viverette <alanv@google.com> |
Merge "Improve keying for theme caches, rebase system theme on config change" into mnc-dev
|
e54d245b993e1347cb32c23a6bdc907a45fab324 |
06-May-2015 |
Alan Viverette <alanv@google.com> |
Improve keying for theme caches, rebase system theme on config change Themes now use an array of applied styles rather than a String to store their history. They are keyed based on a hash code computed from the history of applied styles. The themed drawable cache has been abstracted out into its own class. Also updates system context to use DayNight as the default and ensures that GlobalActions uses the correct context, which exercises the change. CTS tests have been added in another CL. Bug: 20421157 Change-Id: I9eb4b7dffd198ad24d02f656eaf0839570b59caa
nimatorInflater.java
|
0698594d478926ab4694ac0f8429847bad2ceedb |
06-May-2015 |
Chet Haase <chet@google.com> |
Fix leak in LayoutTransition Previously, an OnPreDrawListener was added to clean things up, including removing the listener, after animations are started. But if the view is detached before that listener is called, the listener will remain on that ViewTreeObserver. This change adds an OnAttachStateChangeListener to perform that cleanup step when the view is detached, just in case. Issue #20824645 Leak in LayoutTransition Change-Id: I264812f8e02dda673789712ba83d208e87cdc5a4
ayoutTransition.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
nimator.java
nimatorInflater.java
nimatorSet.java
alueAnimator.java
|
7b380329ece8ce0bc93f6b16459dd4a8e594e0e6 |
23-Apr-2015 |
Doris Liu <tianliu@google.com> |
Merge "Infer value type for keyframes when it is undefined"
|
a01fbf35de21cd595d4cda2e83b67c1238e12550 |
22-Apr-2015 |
Doris Liu <tianliu@google.com> |
Infer value type for keyframes when it is undefined Bug: 20140483 Change-Id: Idf6caea2a8eae803e33dd34b9c8f563ad12e1848
nimatorInflater.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
alueAnimator.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
nimatorSet.java
|
7513aab4dfa33130fd846bf033f4878ae1c75914 |
18-Apr-2015 |
Doris Liu <tianliu@google.com> |
Revert "Use real screen size to scale duration" This reverts commit 5ed54c743c04e2bc349e12c31adb67cbc3094651. Reverting to avoid build breakage. Change-Id: Ib73056bb5a11e718cbc82db5917946bdf8db06dc
nimator.java
nimatorInflater.java
|
5ed54c743c04e2bc349e12c31adb67cbc3094651 |
17-Apr-2015 |
Doris Liu <tianliu@google.com> |
Use real screen size to scale duration Duration scale based on screen size was using the area of the screen excluding system bars to compare with our reference device's screen size. This caused the following issues: 1) On baseline device (i.e N5) a scaling factor that is not 1 will be applied to the duration. 2) Scaling on the same device will be different in landscape vs. portrait, as the system bars take different amounts of space in different orienations. This CL fixes both of the above issues. Bug: 20309042 Change-Id: I9d1d0a471d968bee1330b80f0f69a0066d6a1860
nimator.java
nimatorInflater.java
|
a7e8cfe97892a984e49292f9221b2db568b6364d |
13-Apr-2015 |
Doris Liu <tianliu@google.com> |
Fix duration scale attribute for AnimatorSet Bug: 20160979 Change-Id: I876771a037d2c254fc53ad0bfa4880e69e427090
nimatorInflater.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
nimator.java
nimatorInflater.java
nimatorSet.java
alueAnimator.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
alueAnimator.java
|
fe928dac694674caa6073e81bcb0de6754f4dd1e |
10-Apr-2015 |
Doris Liu <tianliu@google.com> |
Merge "Add a check for color type in property values holder"
|
9032fa5808d7808f54d31d646049d0b1f4a9491b |
10-Apr-2015 |
Doris Liu <tianliu@google.com> |
Add a check for color type in property values holder Bug: 20140483 Change-Id: Ic6cc72388811a450e29a346625c785456834452b
nimatorInflater.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
imeAnimator.java
alueAnimator.java
|
6aac06ab940566020d050fdaa0d5e8d2e6c128ae |
01-Apr-2015 |
Doris Liu <tianliu@google.com> |
Add per-interval interpolation support for keyframe in xml resources Bug: 19913234 Change-Id: Ie46af02b2db3dad6ace667480aa556e0f645d278
nimatorInflater.java
bjectAnimator.java
|
6df99053ebd6d32ed1c0e83516b480a6843770c3 |
31-Mar-2015 |
Doris Liu <tianliu@google.com> |
Fix per-keyframe interpolators Support different interpolators on every keyframe by running interpolators on proportional duration instead of raw fraction. Bug: 19928396 Change-Id: Ifb8c3a3b56785582cd6b0121d7bfb44534866300
loatKeyframeSet.java
ntKeyframeSet.java
eyframeSet.java
|
c615c6fc9caca76cd96998f86e1f1e6393aeadbb |
02-Mar-2015 |
Tor Norbye <tnorbye@google.com> |
Annotate methods to be called from overrides with @CallSuper Change-Id: Ibc587c2aaee9f3e7f448079f72a75459fe4e15e7
bjectAnimator.java
alueAnimator.java
|
08c7116ab9cd04ad6dd3c04aa1017237e7f409ac |
28-Feb-2015 |
John Spurlock <jspurlock@google.com> |
Remove unused imports in frameworks/base. Change-Id: I031443de83f93eb57a98863001826671b18f3b17
nimatorInflater.java
loatKeyframeSet.java
ntKeyframeSet.java
eyframeSet.java
eyframes.java
bjectAnimator.java
ropertyValuesHolder.java
alueAnimator.java
|
7b9c912f536925ac6ec43935d6e97506851b33d6 |
31-May-2013 |
Tor Norbye <tnorbye@google.com> |
Add @ResourceInt annotations on APIs Change-Id: I119cc059c2f8bd98fd585fc84ac2b1b7d5892a08
nimatorInflater.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
alueAnimator.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
nimatorInflater.java
nimatorSet.java
bjectAnimator.java
alueAnimator.java
|
5a5afe010d2f8fb7e8f00858b8a305b4745c0469 |
05-Dec-2014 |
Eino-Ville Talvala <etalvala@google.com> |
Fix docs build Change-Id: I9947d53aeb155d98f5194c9789f19aba1f01e4be
alueAnimator.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
alueAnimator.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
alueAnimator.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
imeAnimator.java
alueAnimator.java
|
691487d2c370dc2c7dbf360a25244b99651c18af |
11-Nov-2014 |
George Mount <mount@google.com> |
Remove unnecessary reflection lookup in Animators. Bug 17978210 When Properties are used with PropertyValuesHolders or ObjectAnimators, the reflection lookup for getters and setters is unnecessary. Fixed problem in which static maps were being protected by instance locks. Fixed problem where we were repeatedly doing a reflection lookup on methods that don't exist. Change-Id: Ic0a1b62357f3aaaa4c900fef6087583ad0e964b6
ropertyValuesHolder.java
|
e48ef2a3efedebdcc351b60d2f3c35c987811938 |
31-Oct-2014 |
George Mount <mount@google.com> |
Cancel animation when target changes. Bug 18201083 Change-Id: I2ea15063b18881c4b31ae6cdc287649dbc4a61f7
bjectAnimator.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
nimator.java
nimatorInflater.java
nimatorSet.java
loatKeyframeSet.java
ntKeyframeSet.java
eyframeSet.java
eyframes.java
ropertyValuesHolder.java
tateListAnimator.java
alueAnimator.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
alueAnimator.java
|
bc68f5adc222e6438588537fba222ea6a13f46e0 |
12-Sep-2014 |
George Mount <mount@google.com> |
Allow Path Animations to support overshooting. Bug 17458698 Change-Id: I7a29fc8932a28121d7db8b3bf695d91a55ef059b
athKeyframes.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
nimatorSet.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
nimatorInflater.java
eyframeSet.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
nimatorSet.java
|
984011f6850fd4b6ad4db6d6022bd475d7a2c712 |
21-Aug-2014 |
George Mount <mount@google.com> |
Use optimized Keyframes for Path animations. Bug 17005728 Change-Id: I2e109ed1a3e768e1e0286fc3950516f16509e591
nimatorInflater.java
loatKeyframeSet.java
ntKeyframeSet.java
eyframeSet.java
eyframes.java
ayoutTransition.java
bjectAnimator.java
athKeyframes.java
ropertyValuesHolder.java
|
291161ac3815fb853fd6af21055d60f57a869608 |
22-Jul-2014 |
John Reck <jreck@google.com> |
Run RevealAnimator on RT Bug: 16894195 Change-Id: I9acffa7aecc04c68b60c67f8f8a20aa225075a42
nimator.java
evealAnimator.java
|
7f9988f0f51e181f20fa22e17635d61893e5b74a |
08-Aug-2014 |
Craig Stout <cstout@google.com> |
Fix NPEs when inflating a ValueAnimator. Change-Id: I4489b9e80635053792668a2f8032635893fb4afd
nimatorInflater.java
|
af4d04cab6d48ae0d6a5e79bd30f679af87abaad |
29-Jul-2014 |
Chris Craik <ccraik@google.com> |
Use RoundRect clipping for circle reveal animation bug:16630975 Also, remove inverse clipping feature from reveal animator. Change-Id: I770a4eb48cd123b0ca0f39d16a0f3eefd1be3653
evealAnimator.java
|
c01bd1167a1b08d59557f214ddc48cf24d3b8d0a |
19-Jul-2014 |
John Reck <jreck@google.com> |
Return Animator instead of ValueAnimator Change-Id: I29a7cfdc7ffbb3a4d33f9e64f9d7ca791f5c947c
nimator.java
evealAnimator.java
alueAnimator.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
evealAnimator.java
alueAnimator.java
|
dd223e612cdd9cd5a2ee8be5f78c218f01353e55 |
17-Jul-2014 |
Yigit Boyar <yboyar@google.com> |
Merge "Change Animators to reset values when restarted if their target changes" into lmp-dev
|
8619f48fb353740f7fd3f6eaa86fe493377e6cad |
16-Jul-2014 |
Yigit Boyar <yboyar@google.com> |
Change Animators to reset values when restarted if their target changes Bug: 15710503 Change-Id: Ib39bf0e13199978ffb389111c225beb30312c965
loatKeyframeSet.java
ntKeyframeSet.java
eyframe.java
eyframeSet.java
bjectAnimator.java
ropertyValuesHolder.java
tateListAnimator.java
|
7bc6a3f023ca3e1dde91fc97b6036dee3ba538a2 |
16-Jul-2014 |
ztenghui <ztenghui@google.com> |
Add more reverse support to AnimatedVD bug:16162242 Change-Id: Ie0b7618beeb65ebeb65db41600165837524bcee4
nimator.java
nimatorSet.java
alueAnimator.java
|
4ae3e6af08919e31174e049d2509e73a9bebb2b3 |
15-Jul-2014 |
Chet Haase <chet@google.com> |
Set existing TypeEvaluator on new KeyframeSet when changing object values This avoids NullPointerException crash when changing values without first canceling a running animator. Issue #16245303 KeyframeSet crash on null keyframe or evaluator Change-Id: I50ce5223310fe87e3382c446e2d36d93ae38a8fe
ropertyValuesHolder.java
|
e8c8617c287d57bfeca89c6d3b9ca40d784a797b |
25-Jun-2014 |
Yigit Boyar <yboyar@google.com> |
Merge "Clone animators before running in StateListAnimator"
|
f505b1f08d606688881d56591d018c0d9162d739 |
23-Jun-2014 |
George Mount <mount@google.com> |
Use Property for ofFloat with Path. Bug 15827972 Change-Id: I8917f7ab0df9709c11ae38e89af6b603ec76d430
bjectAnimator.java
|
eb034fbca40006c55db143047eb628c4b657730a |
09-Jun-2014 |
ztenghui <ztenghui@google.com> |
AVD now support path morphing. Basically extended the ValueAnimator to support a new type: pathType. Add the PathDataEvaluator internally to interpolate path data. Update test to show the path morphing. Change-Id: I89db0199cbc12e3041790a6115f3f50b80213cdb
nimatorInflater.java
|
de5a75ea91cdc9d56f2051aa6ef8e7c1b45febbb |
17-Jun-2014 |
Yigit Boyar <yboyar@google.com> |
Clone animators before running in StateListAnimator Bug: 15678925 Change-Id: I81d88c08d515b90b3105936c2d665b417483dfe1
tateListAnimator.java
|
cf4832f69c8786b098ce18c24319021f8cd6733a |
17-Jun-2014 |
ztenghui <ztenghui@google.com> |
Add path support into xml files for PathInterpolator and ObjectAnimator. The test case is showing that AnimatedVectorDrawable is able to use path to define time interpolator and object movement now. Change-Id: If3c0418265d0fd762c8f5f0bb8c39cce3ad34ef3
nimatorInflater.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
nimatorInflater.java
|
87ac5f60e20fba335497aa9dc03b7c29c4b966a2 |
05-Jun-2014 |
Alan Viverette <alanv@google.com> |
Use a weak reference to the ObjectAnimator target Also adds Nullable and NonNull annotations where it was obvious. Change-Id: I4be7a94b0510e87b260f902cc1efd3c5e4bdc228
bjectAnimator.java
|
42516d19db936b10874c27e16eeacda041af01f9 |
20-May-2014 |
George Mount <mount@google.com> |
API Review: split out BidirectionalTypeConverter. Bug 14997858 Change-Id: I1f2ccf7c4e60320c8df759702a8f2fa24fd3acd2
idirectionalTypeConverter.java
bjectAnimator.java
ropertyValuesHolder.java
ypeConverter.java
|
f4c5bf30b445874cf353e1b96cab94185a39ce6d |
07-May-2014 |
Yigit Boyar <yboyar@google.com> |
State based animators for Views Set quantum theme buttons to elevate 2dp on press Change-Id: Ibf4f5ef166b901382c304d392eba075836a96a35
nimatorInflater.java
tateListAnimator.java
|
5f9ea81c99306b2741db3109fb68b52c652f39f2 |
07-May-2014 |
Chet Haase <chet@google.com> |
Doc fix in TypeEvaluator method docs Change-Id: Ie20ba820b0a3a6b8f0f6120dfcfc8bba6adf29b3
ypeEvaluator.java
|
4dc16b370ca633d6937c8e0ebf9f5aca46baa9a4 |
25-Mar-2014 |
ztenghui <ztenghui@google.com> |
Add RevealAnimator Expose this as a ValueAnimator throught a new API as View.createRevealAnimator(). Change-Id: Ia6aac452988f001023478ee1ca0f268960e23f25
evealAnimator.java
|
2ed16ac6238227dab2687519268f3683f045e2ac |
22-Mar-2014 |
George Mount <mount@google.com> |
Fix problem on Animator with a start delay. Bug 13589060 Change-Id: I05b9421fa141466bdbfe19f1bd5d993fa23982cb
alueAnimator.java
|
fbb35fb39eb74c6fa7ba6804faeaccb80483be14 |
17-Jan-2014 |
Ashok Bhat <ashok.bhat@arm.com> |
AArch64: Use of long for pointers in PropertyValuesHolder Long is used in PropertyValuesHolder class to store native pointers as they can be 64-bit. Note that jmethodID, a pointer to structures, is also carried in long rather than int to support 64-bit system. Signed-off-by: Marcus Oakland <marcus.oakland@arm.com> Signed-off-by: Ashok Bhat <ashok.bhat@arm.com> (cherry picked from commit 0141e884344a5c267239079d615e1c9d9898a222) Change-Id: I80408a7227427732db0d8b4c960bcb849b7c8060
ropertyValuesHolder.java
|
c96c7b2e54965e30c8fb82295f1ca9f891ebd5e7 |
23-Aug-2013 |
George Mount <mount@google.com> |
Add animations along a Path. Change-Id: If03bd10a3961ff874e33489e1253146b8dadca33
bjectAnimator.java
ointFEvaluator.java
ropertyValuesHolder.java
|
e6702cb0f6eab83442b097081c3888a1fde87e6a |
21-Oct-2013 |
George Mount <mount@google.com> |
Merge "Add ofArgb to ObjectAnimator and ValueAnimator."
|
1ffb280a7d2c70cc16d709c685f5d31fdb86b5e4 |
10-Oct-2013 |
George Mount <mount@google.com> |
Add ofArgb to ObjectAnimator and ValueAnimator. Bug 10396985 Change-Id: Ib1fcea04b5a915800fc415b3d548a8853b05389c
nimatorInflater.java
rgbEvaluator.java
bjectAnimator.java
alueAnimator.java
|
eddb9dc0a4011d48ace2b9f0e4f57295bf16ee1b |
10-Oct-2013 |
Chet Haase <chet@google.com> |
am a8382f70: am 1928bcbc: am 1d7b3dc1: Merge "Make LayoutTransition.setInterpolator() actually do something" into klp-dev * commit 'a8382f7064225ac1f44d27545376607d10ee00f3': Make LayoutTransition.setInterpolator() actually do something
|
33d08762d8e8d32422903929ad2b72774d9f8c87 |
10-Oct-2013 |
Chet Haase <chet@google.com> |
Make LayoutTransition.setInterpolator() actually do something Previously, you could set a new interpolator on a LayoutTransition object, but it wouldn't have any effect, since the value was only used at construction time. This change makes the intended behavior work, byt assigning that new interpolator to the appropriate animations when they are run. Issue #11163487 LayoutTransition.setInterpolator() has no effect Change-Id: I1b390a30c008ac2bf26491dc352e28f276357388
ayoutTransition.java
|
7d8589c1562519f2fe644647b83a525b321e44be |
09-Oct-2013 |
George Mount <mount@google.com> |
Merge "Support for multiple value animations."
|
d5df8a366553a3a6bcb83c9810fbe775a96dfb9a |
09-Oct-2013 |
George Mount <mount@google.com> |
Merge "Setter values can now have different type than animated values."
|
c75b478cedcbee4a5b67707322672b89a2837e05 |
09-Oct-2013 |
George Mount <mount@google.com> |
Merge "Adds reuse Rect constructor for RectEvaluator."
|
0f3f2983db5c5f7aa2395408165b326c420000dd |
12-Sep-2013 |
George Mount <mount@google.com> |
Adds reuse Rect constructor for RectEvaluator. Adds constructor to RectEvaluator that allows reuse of the evaluated Rect Object. Change-Id: I09ca4fd7dadb20d1501248c83dc008c00d901fd6
ectEvaluator.java
|
4eed52944c0fcb3afa7369aba60fb5c655580286 |
30-Aug-2013 |
George Mount <mount@google.com> |
Support for multiple value animations. Bug 2805977 Support for multi-value setters in ObjectAnimator. Change-Id: I7854dfcb82372afc6d9afb4c50a289ff9d41574e
loatArrayEvaluator.java
ntArrayEvaluator.java
bjectAnimator.java
ropertyValuesHolder.java
|
16d2c9cc6bd67131d9921fbc14a69d88f48f48ca |
17-Sep-2013 |
George Mount <mount@google.com> |
Setter values can now have different type than animated values. Add TypeConverter to convert animated values type to target setter type. Change-Id: I7f0581b18a5321b4aafd7e47f147a81573c45061
bjectAnimator.java
ropertyValuesHolder.java
ypeConverter.java
|
f8c40cfc72f8f443b167f9452aba859fa83af39f |
26-Sep-2013 |
George Mount <mount@google.com> |
Set evaluator after setting values so that it can take effect. Bug 10638385 setEvaluator only takes effect after values are set in an Animator. Change-Id: I609a8615732182add3dd5bfc8940a4913e031cfa
nimatorInflater.java
|
a8e176534cb086cdf925b0ab0fbd7c2859a1de44 |
11-Sep-2013 |
Chet Haase <chet@google.com> |
Merge "Reversing immediately after starting animator ends it" into klp-dev
|
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
alueAnimator.java
|
d82c8ac4db7091d2e976af4c89a1734465d20cd2 |
26-Aug-2013 |
Chet Haase <chet@google.com> |
Transition API changes from API council recommendations Issue #10460684 KLP API Review: android.view.transition and android.animation Issue #10570740 Transitions: inflate transition targets from xml Change-Id: I7a3f6d3aece2fcafc5efd555d033f79e86635c98
nimator.java
ropertyValuesHolder.java
|
bac752632c7f2cea9ae5bb1e21408b4095e71afa |
16-Aug-2013 |
Sascha Haeberling <haeberling@google.com> |
Fix typo in JavaDoc for TypeEvaluator. Change-Id: Ice2b2db117e1f91ad70ed55d4cc0b14b86804c1c
ypeEvaluator.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
nimator.java
nimatorListenerAdapter.java
nimatorSet.java
alueAnimator.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
alueAnimator.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
bjectAnimator.java
alueAnimator.java
|
e8cee38c6a8dd54cc222cbbd8655ae32a66a8e73 |
17-Apr-2013 |
Chet Haase <chet@google.com> |
Remove Animatable interface Push the interface methods from the new Animatable interface back down into Animator, from whence they came. Issue #8634310 Remove Animatable interface Change-Id: I79e26001709d791d54fcb02561640fe2e008b1fd
nimatable.java
nimator.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
nimatable.java
nimator.java
nimatorSet.java
alueAnimator.java
|
18772ea228f3d292629c4f0b5f6392d047e0530d |
11-Apr-2013 |
Romain Guy <romainguy@google.com> |
Trace ValueAnimator based animations in systrace Change-Id: I1a81e157dea46743a737ed864f4aa0781651ccfd
alueAnimator.java
|
edf6f4b49f6e77c349f5055372ce381b74f12efb |
26-Mar-2013 |
Chet Haase <chet@google.com> |
Make adding views specific to a ViewGroup's overlay Adding views to views (possible with the new Overlay API) is weird. This change moves the view-management facilities of Overlay to a subclass that is specific to the overlay returned from ViewGroup.getOverlay(). So now you can add drawables to all view overlays, but only add/remove views to/from the overlay returned from ViewGroup.getOverlay(). Also, the previous approach of using an interface for Overlay was changed to classes for both ViewOverlay and ViewGroupOverlay. Finally, this change makes not handling touch correctly the proper, and documented, behavior of overlay views. There are various tricky issues to sort out with input in overlays (including click handling as well as focus) and we don't want developers starting to use overlays as some kind of general container hierarchy, so we're purposely constraining overlays to have visual-only behavior. Issue #8459085 Overlay needs to handle touch correctly Change-Id: I207b8dbf528f87c92369d270d8b0a6556826d207
ectEvaluator.java
|
b989502e5cf44d65c6dddc0179b6d9b6e61ef7fd |
03-Apr-2013 |
Chet Haase <chet@google.com> |
Adding small animation features RectEvaluator is useful when animating object bounds. The other change is a hidden API that allows temporary suspension of layout, useful for animations which need to animate view bounds without conflicting with layout passes that might happen in the middle of the animation. Change-Id: I3dc08cb6ec455dfa3409e825506b218d3ea63d7a
ectEvaluator.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
bjectAnimator.java
alueAnimator.java
|
30527267d12d4338820d4ec2526c6bf81c7f7785 |
15-Mar-2013 |
Chet Haase <chet@google.com> |
Merge "Reset reverse state when an animator ends" into jb-mr2-dev
|
2de8dac82dfa23f2382a6f6b1f9a2a995ef366eb |
15-Mar-2013 |
Chet Haase <chet@google.com> |
Merge "Log warning when animator detects NaN value" into jb-mr2-dev
|
d9e4a5c2e55883d4eab766d4ab6aee408cb260a0 |
15-Mar-2013 |
Chet Haase <chet@google.com> |
Use same default duration (300) for animator resources as for other animators Issue #7492926 Animator resources should use same default duration as code-created Animators Change-Id: I337a2c37ff26ebb6cb8b2fb2b58523c464af518b
nimatorInflater.java
|
2076316ce118f3685f3a28ed0e895b2c3697b191 |
15-Mar-2013 |
Chet Haase <chet@google.com> |
Log warning when animator detects NaN value Issue #8350458 Add exception to Animators when NaN detected Change-Id: I926c3f35b661b0bb1d9e3c7c0df55e7513734589
eyframeSet.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
alueAnimator.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
alueAnimator.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
alueAnimator.java
|
00177e483dd5b703545e742e6e2f8346dd4f624f |
10-Sep-2012 |
Chet Haase <chet@google.com> |
Fix clone() for Animators with just a 'to' value Previously, clone() on an Animator with only one value would mistakenly think that the clone had a real starting value (which would end up being 0 in the int and float cases). Fix is to set the 'mHasFirstValue' flag appropriately for the clone, based on the state of the cloned animator. Issue #7106442 ObjectAnimator.clone() does not work properly for single parameter Change-Id: I08bf03b7687a65eb613c1671a58e4cbfae66a30e
eyframe.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
alueAnimator.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
alueAnimator.java
|
08d05e3d1d6ade6924266296033981a96b47d5fb |
08-Aug-2012 |
Daniel Sandler <dsandler@android.com> |
New status bar capable of multiple sliding panels. There are some visual glitches but almost everything should be put back pretty much where it was. Change-Id: I2f9b0591d44599b07bd83f03c4e09e6dd98e1448
imeAnimator.java
|
9b5599894b80b2707909e8e6872eeec7c58af73a |
09-Aug-2012 |
Chet Haase <chet@google.com> |
Fix shift/mask error in ArtbEvaluator Shifting from the left copies the MSB along with it. This causes a problem in ArgbEvaluator, which shifts the top byte down by 24 for the start/end colors, and then uses those values to interpolate alpha values. The correct appraoch (used with the other color components) is to mask by 0xff after the shift. Issue #6960514 External bug: ArgbEvaluator can't evaluate alpha value properly Change-Id: I750d38ddfecc5f30d8dab7c6d27d1a7ac06361c3
rgbEvaluator.java
|
9be0105fbc56eb1b1813bb7c5fe258a144867a43 |
22-Jun-2012 |
Scott Main <smain@google.com> |
docs: fix several links Change-Id: I89d9fd64dc22c90680bb05415cc966c255165af9
ackage.html
|
c20fc8daf56eb348fa4a9355a9e33b0ebc468699 |
19-Jun-2012 |
Luca Zanolin <zano@google.com> |
Clone the list of listeners before notifing any event. This is required, otherwise the listener cannot remove it-self from the list of listeners during the notification. Bug: 6692355 Change-Id: I07762feb4f9b97ec4b6148d2f604d53e266b84d7
ayoutTransition.java
|
66ef1a201ea9df71a8ec9b2d1aaab1eb1180ae40 |
02-Jun-2012 |
Chet Haase <chet@google.com> |
Skip LayoutTransition animations on objects of size (0,0) LayoutTransition runs changing animations on all objects that change between now and the next layout. This works in most normal situations, but when a container is becoming visible, or being added to its container, or other first-time situations, then some of the views and parent hierarchy may be of size (0,0). The user really shouldn't need to see an animation up from these nonsense values, so we just skip running the animation on these objects and simply place the objects where they need to go. Issue #6597648 view should not animate up from size (0,0) Change-Id: I2c355a68bf1ce3b41fbec01ad95c78d83562ba32
ayoutTransition.java
|
ab3a776827365b6bb413052a5e093bbc87265728 |
23-May-2012 |
Chet Haase <chet@google.com> |
Avoid running layout transitions on unattached views and windows LayoutTransition causes artifacts in some situations where a window is just becoming visible or a container is just being added to the view tree when animations are kicked off in LayoutTransition due to the normal automatic mechanism of running animations when views are added/removed/etc. The problem is that containers in these situations may have children with positions and sizes of (0, 0), causing the animation to animate from this default/nonsense value to whatever is appropriate for the views when they are first laid out and drawn. The end result is correct, but the animation is superfluous and silly. The fix is to avoid running any kind of transition animation on windows that are not currently visible or containers that are not currently atached to the view hierarchy. This should avoid the situation by only allowing the animations to run after the containers and windows are visible and set up correctly. Issue #6544410 issue with layout transition when first showing the activity Change-Id: I737b2598887ef806dec3b02a483a8e8ff2c3d4e2
ayoutTransition.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
alueAnimator.java
|
db4101c7d5a2af174bdc61dc706329faabaeb5c6 |
03-May-2012 |
Chet Haase <chet@google.com> |
Better error logs for faulty ObjectAnimators Previously, if you set up an ObjectAnimator with the name of a property which could not be resolved to an existing method (e.g., "foo" becomes "getFoo()" or "setFoo()"), the errors in the log could be a bit obscure and the animation might just crash sometime later with an unexplained NPE. This change provides a more detailed log message detailing the actual method/class involved. Issue #5990756 NullPointerException on no such property Change-Id: Ic5bf7069c4879623e00ab8a794b799773cce487c
ropertyValuesHolder.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
imeAnimator.java
alueAnimator.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
ayoutTransition.java
alueAnimator.java
|
7dd4a536a125d5e9573e82c39581bf9ee3922424 |
16-Apr-2012 |
Chet Haase <chet@google.com> |
Adding new CHANGING transition to LayoutTransition. LayoutTransition used to depend on child views being added/removed or shown/hidden in the transition container. These evens would trigger animations to fade the child view as well as those to animate the side-affected changes to sibling views. This CL enables a new feature in LayoutTransition that enables animating any changes to the layout of the children in the container whenever a layout occurs. For example, you can change the LayoutParams of a child view and call requestLayout() to automatically animate those changes. This capability is not enabled by default. To enable, call the new LayoutTransition.enableTransitionType(LayoutTransition.CHANGING) method. Change-Id: I4d07a3b36245353b2151f0dca4f75080ab6a4592
ayoutTransition.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
nimatorSet.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
alueAnimator.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
alueAnimator.java
|
f76a50ce8fdc6aea22cabc77b2977a1a15a79630 |
09-Mar-2012 |
Ken Wakasa <kwakasa@google.com> |
Fix obvious typos under frameworks/base/core Change-Id: Ia5fc3db1bb51824e7523885553be926bcc42d736
nimator.java
alueAnimator.java
|
7ae9d5faad5816f7e567ec1ec77e78d746cf7e5c |
06-Mar-2012 |
Jeff Brown <jeffbrown@google.com> |
Use the Choreographer for Drawable animations. Change-Id: Ifcbf33434bf3c32d1900fd0b3f5bde004604ce8a
alueAnimator.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
alueAnimator.java
|
a33de55404eb2133d1bae2add3f6e8708459f56d |
04-Feb-2012 |
Chet Haase <chet@google.com> |
Make the TimeAnimator class public. This class has existed since ICS, but was hidden. This change just makes it public API. Also, cleaned up some internal javadocs. Change-Id: Id69408446ced183e01d2b065a67397eb305d9665
imeAnimator.java
|
a553113a1f88e112b0999c12c7c2e8d724ed7fa8 |
02-Feb-2012 |
Chet Haase <chet@google.com> |
Fix bug in LayoutTransition that caused views to stay invisible LayoutTransition side-effects the alpha property on View to fade views in and out. This works fine if the layout transition is always used on those views' container. But if you fade out a disappearing view and then set the transition to null on the container and set that view to VISIBLE, there is no transition logic to restore the alpha value to 1 (opaque). The fix is to always restore alpha to its pre-animation value when fading the view out. Also, added extra info to alpha and the various View transform properties to help hierarchyviewer debugging. Issue #5958434: LayoutTransition temporary disablement may leave some views invisible Change-Id: I3c21b0e7334dc29c10c5e372b589f0e2b59c2883
ayoutTransition.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
alueAnimator.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
alueAnimator.java
|
0d29936ec3b5545a415e8d032150ea987aab36e3 |
26-Jan-2012 |
Chet Haase <chet@google.com> |
Fix bug in LayoutTransition for INVISIBLE views When a view is becoming VISIBLE or INVISIBLE in a container with a LayoutTransition, animations run to fade the view in and out and also to run 'changing' animations on the view's other siblings. This logic also cancels any running 'changin' animations to account for new ones running. However, in the specific case of INVISIBLE changes, there will be no layout changes in the container - layout has already accounted for that view (unlike in the case of GONE views); the visibility is just a matter of drawing the view (or not). Therefore, we're canceling 'changing' animations that should continue running and not replacing them with any other animations, since new animations would only be started on layout chnages which are not forthcoming. One artifact seen from this bug is that the navigation bar buttons sometimes disappear when changing orientation. This is because the menu button may toggle between VISIBLE and INVISIBLE, causing animations on the other buttons to get canceled, which leaves those views in a completely wrong state. The right thing to do is to avoid canceling in-process 'changing' animations and to skip the logic of setting up new 'changing' animations which won't fire anyway. There is some minor API work in here because we did not previously have the necessary information in LayoutTransition to know whether a view was being hidden or shown to/from the INVISIBLE state. Issue #5911213: LayoutTransitions ending in an odd state Change-Id: I5c60c8583c8ea08965727b4ef17b550c40a3882c
ayoutTransition.java
|
cf06d7390cf35aec4f54b705ba4dfdb96fb1c01a |
02-Jan-2012 |
Rajdeep Dua <rajdeep@google.com> |
Bug fix for android.animation.LayoutTransition getStartDelay (int transitionType) Bug Id : 5813366 Change-Id: Icc482ad820a91a1896c61db67bb6b95cc2ae4c5b
ayoutTransition.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
nimatorSet.java
bjectAnimator.java
alueAnimator.java
ackage.html
|
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
alueAnimator.java
|
9c38dbeb1d183ecd48bbf5d18a39f5e0508a1223 |
03-Dec-2011 |
Jeff Brown <jeffbrown@google.com> |
Refactor ValueAnimator to reduce use of ThreadLocals. Change-Id: I494c9cc32e58b77d5f7ea092ee6a0ae4d2d805bb
alueAnimator.java
|
8a22e59311ab797aeb10682b4c9e036ded95a429 |
11-Nov-2011 |
Chet Haase <chet@google.com> |
Fix leak in LayoutTransition LayoutTransition was making an incorrect assumption that there could only be one transition animation on a child of a transitioning container. But if multiple children are added/removed to/from that container, there would be multiple calls to set up changing animations for each existing child of that container. This meant that the child would have multiple, new OnLayoutChangeListeners added to it as part of the setup process. Meanwhile, we would cache only the latest listener in a hashmap that used the child as a key for the listener. Then when we cleaned up the hashmap later, we would remove only the latest listener from the child, leaving the rest there for eternity. The fix is to skip the setup entirely for children that already have listeners set on them; they must, if that's the case, already have been set up and are already listening for layout changes. Setting up the animation is redundant, and adding another listener is a leak. issue #5588509: memory leak in systemui Change-Id: I2c9f312cc2bcf4f2d08ac6b5d8f8e495aa4f3597
ayoutTransition.java
|
1a76dcd6d1e30f92668b5df309398d545cef9ace |
06-Oct-2011 |
Chet Haase <chet@google.com> |
Fix issue #5367164: memory leak in LayoutTransition When a transition occurs, layout change listeners are added to the container being transitioned as well as every container up the view hierarchy. The parent views were not having those listeners removed, so every time a transition ran, more listeners would be added. Adding to that, the use of an ArrayList as the collection to hold the listeners meant that adding duplicate items would just increase the size of the list. There's now a sanity-check on the add call to make sure that the listener does not exist already, but more importantly we remove all listeners added when the transition ends. Change-Id: I4ea05adf30765db091124065539b0ffd32729b3b
ayoutTransition.java
|
d56c6951755a902a354e13e5fa05fb0984132cc6 |
07-Sep-2011 |
Chet Haase <chet@google.com> |
Add end functionality to LayoutTransition This new hidden API is called by ViewRootImpl when there is a pending transition but the parent window is not visible. Change-Id: Idd6a0959b391fae542e675e8740b6a16f8963678
ayoutTransition.java
|
3c4ce72c4d66d9ee041924259f20381b658c1529 |
03-Sep-2011 |
Chet Haase <chet@google.com> |
Fix artifact with LayoutTransitions on disappearing window. Logic in performTraversals() starts a transition running at the proper time. But when a view's parent window goes away, this transition may not start at that time because drawing gets canceled. But the transition still hung off of the ViewRoot, waiting until some later drawing operation to kick it off. This resulted in some weird animations like the Recents panel appearing and having a single item animate off of it. The fix is to delete pending transitions when drawing is skipped. Change-Id: I3ab7702c16e069644a163424f977350743e2cecc
bjectAnimator.java
|
c88ba95921444946443794cbaca5911f1a924720 |
12-Aug-2011 |
Xavier Ducrohet <xav@android.com> |
Merge "Make some methods/fields package private so that layoutlib can access them."
|
7f9f99ea11051614a7727dfb9f9578b518e76e3c |
11-Aug-2011 |
Xavier Ducrohet <xav@android.com> |
Make some methods/fields package private so that layoutlib can access them. Change-Id: I4aeadfbaf8a4f6a459fa19937c21ac23d9e5fb64
alueAnimator.java
|
e115ffeb3a05f440c0062ad9b3954b7fefef4b00 |
11-Aug-2011 |
Chet Haase <chet@google.com> |
Fix behavior of custom animations for LayoutTransition. Previously, setting custom animations on a LayoutTransition would cause those animations to be run not only for changing views in the container, but for the parent hierarchy of those views as well. This can lead to unexpected behavior, as seen in the ApiDemos LayoutAnimations and LayoutAnimationsHideShow. This change changes the behavior so that the parent hierarchy is animated by the default animations (which change the bounds and scrollX/Y fields) instead of custom animations. Change-Id: I9a04d97fabbc34dc0d5809eb3fd8ac08e0801d7c
ayoutTransition.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
nimator.java
nimatorSet.java
alueAnimator.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
nimator.java
nimatorSet.java
alueAnimator.java
|
ecc2fd94fa05970082a1f2544f08df7c961c6d98 |
02-Aug-2011 |
Martijn Coenen <maco@google.com> |
Removed unused import from AnimatorSet. Change-Id: I7d5b3327290845d44cbe0abd48bf45c6f43bf677
nimatorSet.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
nimatorSet.java
|
abb7d66049c176459779a22810b3931d263f68e6 |
18-Jul-2011 |
Chet Haase <chet@google.com> |
Merge "Fixed animation ordering bug in LayoutTransition."
|
eb1d851e0e6c2dc1de0ec7990ccf7d29dda41a9a |
18-Jul-2011 |
Chet Haase <chet@google.com> |
Fixed animation ordering bug in LayoutTransition. This bug caused an artifact in Recent Apps where you might see things pop to their end location before popping back and then animating correctly into place. Change-Id: Ia7313ec76cc42162528c3c167b8bc562284b14bc
ayoutTransition.java
|
622e05c4d2f7c7542ab9cdd30c31813cb6cdb103 |
16-Jul-2011 |
Chet Haase <chet@google.com> |
Fix leak in LayoutTransition Static objects were referencing the first LayoutTransition object, which referenced its target container, which eventually referenced the Activity. That reference chain never went away. The fix is to create animators that do not reference any target object (they are just templates which are loaded with real target objects when they are started). Change-Id: Ie29f53bf3b886b8052b6ee3a56647a312d9adeaa
ayoutTransition.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
nimatorSet.java
alueAnimator.java
|
b39f051631250c49936a475d0e64584afb7f1b93 |
24-May-2011 |
Chet Haase <chet@google.com> |
Add 'Property' object This change adds a generic Property facility to the SDK, which allows an easy way to reference fields (private or otherwise) in a general way. For example, animations can use this facility to animate 'properties' on target objects in a way that is more code- and compiler-friendly than the existing String-based approach (for objects which have implemented Properties, of course). The animator classes have been updated to use this new approach (in addition to Strings, which are still more generally useful for objects which have get/set functions but not Property objects). The change also includes new Property objects on View (which can now be used in creating animations on Views). There is an unrelated change on GLES20RecordingCanvas to change the way we cache bitmaps, which avoids spurious garbage by using an ArrayList instead of a HashSet. Change-Id: I167b43a3fca20e7695b1a23ca81274367539acda
loatEvaluator.java
ntEvaluator.java
bjectAnimator.java
ropertyValuesHolder.java
ypeEvaluator.java
|
cca2c9807206f320bd41bf8656a227e4f249e4ba |
20-May-2011 |
Chet Haase <chet@google.com> |
Add ability to transition parent hierarchy in layout transitions This change compensates for changes in the parent hierarchy of transitioning views. It automatically animates parents with the same animations as those used for the CHANGING animations run on the container children. Change-Id: I86471d16a9070b024cc09c8f6e0f504a881fa99f
ayoutTransition.java
|
c54ed966f78b9ee8117931859d62faa6f11fe018 |
06-May-2011 |
Chet Haase <chet@google.com> |
Minor javadoc enhancements Change-Id: Ic24bb0e1e669989f0cae3a9b8fa064b38c8e7948
ayoutTransition.java
|
6cfdf4538049e4b96f50d8c0fe3119664420cc34 |
23-Apr-2011 |
Chet Haase <chet@google.com> |
Fix bitfield bug with vertex shader selection Change-Id: I8bd3005f363afb52e6624806efb3e04c4a56ee18
nimatorInflater.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
alueAnimator.java
|
e8e45d32fd1f67fed1b70d0fc19d2f91a76f128e |
03-Mar-2011 |
Chet Haase <chet@google.com> |
Cancel LayoutTransition animations selectively A recent change to LayoutTransition caused new layout transitions to cancel any previously-running animations. This was to handle situations where a transition adding an item needed transitions removing items to finish their job first (and vice versa). But canceling *all* running animations from transitions caused some artifacts, like making the status bar icons blink or fade in, depending on which one was started last. The new approach is to cancel just the ones we care about: adding animations cancel removing animations, and vice versa. Either one cancels 'changing' animations, which prevents objects from being animated to the old end locations, since the new transition will animate them to the correct new end locations. Change-Id: I68ac351b05365cace6639b6618422395c35c83fd
ayoutTransition.java
|
a00f3865f55c5c9cb74510ee2b239d101230133c |
22-Feb-2011 |
Chet Haase <chet@google.com> |
Add ViewPropertyAnimator for easy animation of View properties Change-Id: I2bc52ca16507d8d20004d2d6823e587791272aac
alueAnimator.java
|
a8bdc2a42e49a8262de2ceb351e7437655ff7c66 |
24-Feb-2011 |
Chet Haase <chet@google.com> |
Merge "Fix bug with bad state in animators"
|
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
alueAnimator.java
|
e86c12c9e489e7f04c49a7733fc4014668e012e2 |
23-Feb-2011 |
Scott Main <smain@google.com> |
am 02be2f1d: am 2788e4f9: docs: fix some typos * commit '02be2f1d874078f227af34fcac7863eca1f35653': docs: fix some typos
|
2788e4f96a3f210192145a340a1d072c70c7bc4f |
23-Feb-2011 |
Scott Main <smain@google.com> |
docs: fix some typos Change-Id: I2dc9855f8fe87234d4337351e8bac6c382fb74d2
ackage.html
|
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
eyframeSet.java
bjectAnimator.java
ropertyValuesHolder.java
alueAnimator.java
|
6b5e593725d1f323f64b6f13cd58aad4af822fe1 |
15-Feb-2011 |
Chet Haase <chet@google.com> |
Merge "Fix when >2 keyframes supplied"
|
750e12e18f7ce9654cadf11b9e933afb29b59311 |
12-Feb-2011 |
Chet Haase <chet@google.com> |
Fix when >2 keyframes supplied When there are more than two keyframes, we treat each keyframe interval as its own separate period during which to calculate animated values. To do this, we calculate an intervaleFraction from the overall elapsed fraction of the entire animation. This intervalFraction is then used to calculate the animated values in that interval. However, we failed to actually use the intervalFraction in some code paths, using the overall fraction instead. This caused a jumping behavior because we were incorrectly calculating the values during the intervals. Change-Id: Ia052e1e8b5130ff450ee20c0a3581e3de42399e1
loatKeyframeSet.java
ntKeyframeSet.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
ayoutTransition.java
alueAnimator.java
|
0dfc39842459daea98e2b551bbecd16d1baca439 |
28-Jan-2011 |
Chet Haase <chet@google.com> |
Fixed LayoutTransition bug moving multiple views The problem was that there can be >1 animation spawned for each view in a container, if there are multiple events that trigger a transition. These animations would potentially clobber object layout values, causing problems as successive animations tried to use those clobbered values to set up their own animation values. The fix is to track the created animations and cancel them as future animations on those same objects get created. This mechanism used to be in the code (the bug came about when that mechanism went away), but was removed because of memory leaks of never removing animations that were set up but never started. The new approach also caches pending animations, but runs a second aniamtor to delete the entries in that collection just in case. Change-Id: If60c7d188712334dea69d0794dc6b4ce29ca6c09
ayoutTransition.java
|
daf98e941e140e8739458126640183b9f296a2ab |
10-Jan-2011 |
Chet Haase <chet@google.com> |
Use optimized display lists for all hwaccelerated rendering Previously, display lists were used only if hardware acceleration was enabled for an application (hardwareAccelerated=true) *and* if setDrawingCacheEnabled(true) was called. This change makes the framework use display lists for all views in an application if hardware acceleration is enabled. In addition, display list renderering has been optimized so that any view's recreation of its own display list (which is necessary whenever the visuals of that view change) will not cause any other display list in its parent hierarchy to change. Instead, when there are any visual changes in the hierarchy, only those views which need to have new display list content will recreate their display lists. This optimization works by caching display list references in each parent display list (so the container of some child will refer to its child's display list by a reference to the child's display list). Then when a view needs to recreate its display list, it will do so inside the same display list object. This will cause the content to get refreshed, but not the reference to that content. Then when the view hierarchy is redrawn, it will automatically pick up the new content from the old reference. This optimization will not necessarily improve performance when applications need to update the entire view hierarchy or redraw the entire screen, but it does show significant improvements when redrawing only a portion of the screen, especially when the regions that are not refreshed are complex and time- consuming to redraw. Change-Id: I68d21cac6a224a05703070ec85253220cb001eb4
ayoutTransition.java
|
f99b782b9f3a78fd814d6fd9be9b202142760677 |
17-Jan-2011 |
Robert Ly <robertly@google.com> |
Doc change: animation devguide topic Change-Id: I52cdd29616f7f30784c0f8352c035493c8d413dc
ackage.html
|
8901ffab294934fc4899143f31bd58f3d58df225 |
17-Jan-2011 |
Patrick Dubroy <dubroy@google.com> |
Add a method for clearing all animations on a thread.
alueAnimator.java
|
7beecfaf3b65a1552a7a7cc78ca00bb04133b507 |
16-Jan-2011 |
Patrick Dubroy <dubroy@google.com> |
Fix latent bug with reinitializing an ObjectAnimator.
bjectAnimator.java
|
51ae5fc2d22a7bb616f432d7bac66bbbf8a1927f |
16-Jan-2011 |
Patrick Dubroy <dubroy@google.com> |
Fix animation bugs caused by weak reference Change-Id: I4c7bd9d4843c355efd9c89059462f19600c3be45
bjectAnimator.java
|
b2ab04ffb6894f399d5c9ceb15f64eb17b654426 |
16-Jan-2011 |
Chet Haase <chet@google.com> |
Remove obsolete DoubleEvaluator Change-Id: I4407468599061ff35c68589988fb1e897de28c69
oubleEvaluator.java
loatKeyframeSet.java
ntKeyframeSet.java
ropertyValuesHolder.java
alueAnimator.java
|
2b90a9a7144f1bb91f72da025ce444038f12c6aa |
15-Jan-2011 |
Scott Main <smain@google.com> |
fix sdk build breakage; remove invalid @note tag Change-Id: Iaaf5a38388ceccdd0d1f3766523788f54f1dc8d2
bjectAnimator.java
|
ec84c3a189e4aa70aa6ea8ba712e5a4f260a153b |
14-Jan-2011 |
Patrick Dubroy <dubroy@google.com> |
Allow old view hierarchy to be GC'ed more quickly during rotation.
bjectAnimator.java
|
9c0874408cfc6f6f4e4561973ca5ae52a5982db7 |
13-Jan-2011 |
Chet Haase <chet@google.com> |
Supress layout requests while a LayoutTransition is running. LayoutTransition works by animating layout-related properties (left, right, top, and bottom). This works great when that animation is the only thing affecting the layout of the UI. But if there are other things happening in the application that cause layout to run on that container or in its parent hierarchy, this can cause the layout properties on its children to get mis-set during the middle of the transition. This results in artifacts like animating objects jumping to locations where they would be were there no animation running. The fix is to supress layout requests on that container (and its children) until the transition is complete (then issue a layout request on the container to make sure that the container has the correct layout data) Change-Id: I15bf0423a11409f854076f86099233db7fe4edc0
ayoutTransition.java
|
53ee3316bcb3590ff156b3fd7108903c0817c35d |
11-Jan-2011 |
Chet Haase <chet@google.com> |
Rename RGBEvaluator to ArgbEvaluator Change-Id: Iee74b475960d623fa757349e4053bd7c58cf5734
nimatorInflater.java
rgbEvaluator.java
GBEvaluator.java
alueAnimator.java
|
2954cd91ab1fef14c8aed5173c160ce00558cd3a |
09-Jan-2011 |
Chet Haase <chet@google.com> |
Add start/endTransition events for CHANGE transitions There was already a mechanism for sending out events for LayoutTransition when animations started or ended, but the implementation only sent out events for the appearing/disappearing animations. This fix provides callbacks to listeners for the CHANGE_APPEARING and CHANGE_DISAPPEARING transitions, too. Change-Id: Icfb8cc1c20d2df3e4a817255e96c9d0e94c1d8c4
ayoutTransition.java
|
9e90a9953b65ae575ec8db3989857e0c145724b1 |
05-Jan-2011 |
Chet Haase <chet@google.com> |
Reuse display lists at the java level. Objects are invalidated and reset instead of being nulled out and recreated. This avoids creating small amounts of garbage for the display list and canvas objects. Change-Id: I464fac7ea8944c19ad6d03f13a95d9017e3f4262
ayoutTransition.java
|
cbda9104d029a8420786bd17725e8b1fb0c4c188 |
17-Dec-2010 |
Ben Komalo <benkomalo@google.com> |
Fix incorrect anonymous AnimatorListenerAdapter. Change-Id: I0384a437089d11dda03d0657235404ea96e8b19d
ayoutTransition.java
|
27c1d4debb3848f5accd5673fffeeacad3e61648 |
16-Dec-2010 |
Chet Haase <chet@google.com> |
Fix minor animation and doc issues Change-Id: I0ea077d9434ac3e22e8600f22ca4a24a6a46965c
alueAnimator.java
|
48ea8d836276c04528d8e7dfebd59d27a627ce66 |
14-Dec-2010 |
Chet Haase <chet@google.com> |
Merge "Adding TimeAnimator capability (hidden for now)"
|
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
imeAnimator.java
alueAnimator.java
|
e64ea87f966e995f5e1a77f991b9da0ed21ffab0 |
14-Dec-2010 |
Chet Haase <chet@google.com> |
Fix artifact with concurrent add/remove LayoutTransitions There was a bug with LayoutTransitions where if the animations were of different duration (such as in the current status bar clock), it was possible to end up in a bad situation because the previous animation might outlast the new animation, causing the opposite end result from what was expected. The fix was to keep track of the current add/remove animations and to cancel any running ones prior to starting new ones. Change-Id: I884ce33ce0671f6ba6153ee3951c8d14c5ed5714
ayoutTransition.java
|
37f74cad46c6f1799aec3c52e8f47598237f43d4 |
09-Dec-2010 |
Chet Haase <chet@google.com> |
Add ability to reuse bitmaps when loading new content Change-Id: Ic5f5f40ee39787403977fb372b335dc21cf07243
ropertyValuesHolder.java
|
a52a5e7c4cc8c6224108314e51c0f3079cc968c1 |
07-Dec-2010 |
Makoto Onuki <omakoto@google.com> |
Add space after property name in error message Change-Id: I15c1acc468ff17a1ebd1bc28288d0ac7113748b2
ropertyValuesHolder.java
|
1a8e404743a27da08d0f2df5480c51725c9b001a |
07-Dec-2010 |
Chet Haase <chet@google.com> |
Remove broken doc link to removed method Change-Id: Id1b1ab8e15d9af9fa38946cc5c673062a4b5a72d
ropertyValuesHolder.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
nimator.java
nimatorSet.java
bjectAnimator.java
ropertyValuesHolder.java
alueAnimator.java
|
2e1f5b0de3218e0f43fc8246760f854665da5856 |
01-Dec-2010 |
Chet Haase <chet@google.com> |
Merge "Add methods to AnimatorSet that take collections"
|
37a7bec599e8d877d8a7f12ab2c2c160d1c2cf8a |
01-Dec-2010 |
Chet Haase <chet@google.com> |
Add methods to AnimatorSet that take collections Change-Id: I5664bee6d27b32a70ca7d335e7fbe0af39a240bd
nimatorSet.java
|
5bed88e12d0b4e77483e287c068fbf551ecf8a10 |
30-Nov-2010 |
Chet Haase <chet@google.com> |
Animators can now have dimension and color values. You can now use floats, ints, dimensions, or colors as input values in XML for Animator objects. There is still a 'valueType' attribute that lets you specify the number values to create the animator with, though it defaults to floats (or in the case of color inputs, to ints). Change-Id: I65f1df802db602c33f2a0308a663b6f808148e25
nimatorInflater.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
alueAnimator.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
nimatorSet.java
alueAnimator.java
|
6e0ecb4eed5cd2e1f15766d7028467129974a12d |
04-Nov-2010 |
Chet Haase <chet@google.com> |
Adding JNI methods as a faster reflection mechanism This approach is only for the common cases of void-return, single-argument float/int methods. Change-Id: Ifb31535a6f717b85417eced93c579be6e461e039
bjectAnimator.java
ropertyValuesHolder.java
|
691ac26817d489d9770aa6ba7b098ff17e8be99a |
04-Nov-2010 |
Chet Haase <chet@google.com> |
Fixed problem with setting updated values on existing animators The previous version of PropertyValuesHolder handled construction fine, but setting new values did not result in things getting completely set up correctly for interpolation between those new values. Change-Id: Ibffb16e58b4fe76b8d1cad6f0224ffd4d5404c05
ropertyValuesHolder.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
nimatorInflater.java
nimatorSet.java
loatKeyframeSet.java
ntKeyframeSet.java
eyframe.java
eyframeSet.java
bjectAnimator.java
ropertyValuesHolder.java
alueAnimator.java
|
70d4ba15b1f0c1133c5aabc86de828b41e482fff |
06-Oct-2010 |
Chet Haase <chet@google.com> |
Performance optimizations for animations and toolkit Change-Id: I316a48273a9cbb428a965e4b849b3e5e9e8202f1
eyframeSet.java
bjectAnimator.java
alueAnimator.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
alueAnimator.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
alueAnimator.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
imeInterpolator.java
alueAnimator.java
|
3a64f241fe792cadbe0df7e592389f7d90f88fc1 |
15-Oct-2010 |
Chet Haase <chet@google.com> |
Merge "Remove errant minus sign"
|
51b3227c2e08143c2e3dde9d51ae5b6fff36693c |
14-Oct-2010 |
Chet Haase <chet@google.com> |
Remove errant minus sign Change-Id: I39a76484884615aa86f4a845eb4637467ec5abc7
alueAnimator.java
|
fec30790e8caeb02db0618ec06eba7408efe2307 |
14-Oct-2010 |
Chet Haase <chet@google.com> |
Removed obsolete trace statements Change-Id: I98041460da3109201b13b00ff553eb3e7290debb
ropertyValuesHolder.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
nimator.java
nimatorInflater.java
nimatorSet.java
eyframeSet.java
ayoutTransition.java
bjectAnimator.java
ropertyValuesHolder.java
alueAnimator.java
|
83d6e8213230fb0805aa019d266842253baeb114 |
14-Oct-2010 |
Romain Guy <romainguy@google.com> |
Revert "Remove generics from Animator APIs" This reverts commit 41f041d9986f8a5d45b6cb0b86e881c81a412168.
nimator.java
nimatorInflater.java
nimatorSet.java
eyframeSet.java
ayoutTransition.java
bjectAnimator.java
ropertyValuesHolder.java
alueAnimator.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
nimator.java
nimatorInflater.java
nimatorSet.java
eyframeSet.java
ayoutTransition.java
bjectAnimator.java
ropertyValuesHolder.java
alueAnimator.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
alueAnimator.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
nimator.java
nimatorSet.java
eyframe.java
eyframeSet.java
ayoutTransition.java
imeInterpolator.java
alueAnimator.java
|
5d6d7b9c3d76ba0bf72906d54c2ef366be149a23 |
05-Oct-2010 |
Chet Haase <chet@google.com> |
Changed LayoutTransition to disable animations when set to null Change-Id: Ic4d67135a273ea816c3d15bce05da611bd6bae53
ayoutTransition.java
|
5e25c2c14593caee5638603120553ae1ec530f85 |
16-Sep-2010 |
Chet Haase <chet@google.com> |
Add ability to automate animated transitions on View show/hide Change-Id: Id6ff92c8fd06c3f5fb30c41b020b4de4f567154f
ayoutTransition.java
|
0e0590bf3cb32e73f423c0fe39a180d4b3c4343d |
26-Sep-2010 |
Chet Haase <chet@google.com> |
bug fixes in animation classes Change-Id: I5465bc95032c94851b8cf4e4db3477f546e8b0d1
bjectAnimator.java
alueAnimator.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
alueAnimator.java
|
9316232130fe831c998c9d7be9cf67294eccdcae |
16-Sep-2010 |
Joe Onorato <joeo@google.com> |
Fix broken javadoc. Change-Id: I4729ebee36117f281af613e0b49f70d7dee5f334
nimatorListenerAdapter.java
|
b20db3ec34e846010f389880b2cfab4d7bf79820 |
10-Sep-2010 |
Chet Haase <chet@google.com> |
Make fragment animations work when fragments go away Change-Id: I136de6ef910cc02b8181fcfa065bdb0770841396
alueAnimator.java
|
634a20acf713ffe0d4a67c0b888cf1e9782890e7 |
09-Sep-2010 |
Chet Haase <chet@google.com> |
Fix bug with LayoutTransition when layouts are just coming on line Change-Id: Ia7061d8ec138f8f7aea822596f46b3549a996700
ayoutTransition.java
|
a18a86b43e40e3c15dcca0ae0148d641be9b25fe |
07-Sep-2010 |
Chet Haase <chet@google.com> |
Rename several animation classes Change-Id: I6a4544875090db485163c8d56de8718f56d267c7
nimatable.java
nimatableInflater.java
nimatableListenerAdapter.java
nimator.java
nimatorInflater.java
nimatorListenerAdapter.java
nimatorSet.java
eyframe.java
eyframeSet.java
ayoutTransition.java
bjectAnimator.java
ropertyAnimator.java
ropertyValuesHolder.java
equencer.java
ypeEvaluator.java
alueAnimator.java
|
21cd1389d2ef218b20994b617c57af120841a57f |
02-Sep-2010 |
Chet Haase <chet@google.com> |
Add transition effects for layout changes on ViewGroups Change-Id: Ibefcca5692450188fbcec608f3f7e36be1213b21
nimatable.java
nimatableListenerAdapter.java
nimator.java
eyframe.java
ayoutTransition.java
ropertyAnimator.java
ropertyValuesHolder.java
equencer.java
|
1e0ac5a1063d00670f4dc7ca5b120ef2836f9e8f |
27-Aug-2010 |
Chet Haase <chet@google.com> |
Fix Sequencer end events when terminated early Change-Id: I3e10d17000182419219dbd1243d42cd0ecda7aa0
nimator.java
equencer.java
|
f1b9b464216d2fac634be9c6aa8605d7c9ed5b68 |
26-Aug-2010 |
Chet Haase <chet@google.com> |
Fix problems with early ending of Sequencer Change-Id: Ib7548059ee3d3d713b78f86a2d290be4397c167d
nimator.java
equencer.java
|
673e42fafd4088970ec95e1f13c61dc83132c74e |
26-Aug-2010 |
Chet Haase <chet@google.com> |
Fix for end events from Sequencer objects Change-Id: I8947d8b016b880f9f54f2bf6ab22b4e188cdb29a
nimatable.java
nimator.java
equencer.java
|
d51d368f2d512ab657b8ae45780c82c0dbea94c3 |
12-Aug-2010 |
Chet Haase <chet@google.com> |
Change animator xml importing to use new inflater class Change-Id: I97225ee9868f4dcce5e4c1ba55e16414eb6c0464
nimatableInflater.java
nimator.java
ropertyAnimator.java
|
49afa5bc100e5d4c069fea980dd6b09501f56397 |
23-Aug-2010 |
Chet Haase <chet@google.com> |
Add facilities for layout transitions Change-Id: I5c73ce6c6ba3bc9e3b57fcfbbcab37d511db6132
nimatable.java
nimator.java
ropertyAnimator.java
equencer.java
|
602e4d3824bf8b9cb9f817375d195b969712176a |
16-Aug-2010 |
Chet Haase <chet@google.com> |
Adding animation facilities to simplify layout transitions Change-Id: I70992a0dff6a75727f51abcfdfc7d7f2c2a8c101
nimator.java
ropertyAnimator.java
ropertyValuesHolder.java
|
d953d08e9299072130d9f4411cbcf6678bbce822 |
17-Aug-2010 |
Chet Haase <chet@google.com> |
multiple-property animations Change-Id: Ida9440dad165f3450ff62862fc1627e138595e5f
nimator.java
oubleEvaluator.java
loatEvaluator.java
ntEvaluator.java
ropertyAnimator.java
ropertyValuesHolder.java
|
5c7649857246333572eb332b505ad617365ef5fa |
17-Aug-2010 |
Chet Haase <chet@google.com> |
Implement reversing functionality for Animator Change-Id: I5cf32363a363c17a1d5c5dd0c602b06dc9ebc785
nimator.java
|
811ed1065f39469cf2cf6adba22cab397ed88d5e |
06-Aug-2010 |
Chet Haase <chet@google.com> |
Make Fragments use the new animation APIs Change-Id: I3e3c271234c737491b6ae37821f16434f4563b1d
equencer.java
|
5d7b50b800b9898f5ca0b2b4d8b73ed6a4ee1749 |
05-Aug-2010 |
Chet Haase <chet@google.com> |
Add new API to Animator to allow seeking of animations Change-Id: I3960030f54814ed0ef6fb6853061c64ab3b4dd1c
nimator.java
|
40771bc433a790f9d8796a96cf7f48c279aef65f |
04-Aug-2010 |
Patrick Dubroy <dubroy@google.com> |
Fix NPE in onAnimationEnd when using Sequencer.after(long)
equencer.java
|
8fbf8d2b08a22a8f06abe8cff39d935865ec1c9d |
31-Jul-2010 |
Chet Haase <chet@google.com> |
Fix problems with moving Views around (invalidation, conflict with layout) Change-Id: I38f8f8a4e8082854a53a2975da258b5d946ed525
ropertyAnimator.java
|
3b69b6f0be85d1f97c1e6824cf986777ba4e5d00 |
29-Jul-2010 |
Chet Haase <chet@google.com> |
Make the new android.animation package public Change-Id: Iff31676f25fc989707a1e17fb172296014a22c27
eyframe.java
equencer.java
ackage.html
|
f54a8d7c479485174941c38f151ea7083c658da3 |
22-Jul-2010 |
Chet Haase <chet@google.com> |
Adding xml declarations for new animation framework Change-Id: Ic789e47790cf24d1c4b3bcbe9048b992ab93517b
nimator.java
ropertyAnimator.java
equencer.java
|
fe591563f8529305bd52e1f0640e83b9a93d562f |
27-Jul-2010 |
Chet Haase <chet@google.com> |
Add ability to instantiate PropertyAnimator objects with single "to" value. Change-Id: I44c57ee175e8a7bcc4532323ef9b4cfbbf58ae32
nimatableListenerAdapter.java
nimator.java
eyframe.java
eyframeSet.java
ropertyAnimator.java
equencer.java
|
a6e4a1757728efc91627ece602b0899d75303659 |
23-Jul-2010 |
Chet Haase <chet@google.com> |
Sequencer now sends out onAnimationEnd() event correctly. Previously, Sequencer did not detect child animation ending correctly, so it never sent an end event. This made it difficult to have nested sequencers. Change-Id: I6c67d0846176191cf77a49c21a5ab9a00acb5159
equencer.java
|
3dd207a6dbd5d9244dc7fe213d5caa3cddaff0db |
20-Jul-2010 |
Chet Haase <chet@google.com> |
Add keyframes to animation framework. Change-Id: I5c8c8037aeeedae1ce7a18200986caf57264772f
nimator.java
eyframe.java
eyframeSet.java
ropertyAnimator.java
|
010dbaa1236cf2dcdc62c29049468e90188acaae |
20-Jul-2010 |
Chet Haase <chet@google.com> |
Fix bugs in Sequencer Change-Id: I03aebe8d822bef0b9e163ba3280699ca02a6563c
nimator.java
equencer.java
|
17fb4b0d1cfbad1f026fec704c86640f070b4c2f |
29-Jun-2010 |
Chet Haase <chet@google.com> |
Initial checkin of new animation system. package, APIs, functionality all subject to change. package is hidden for now. Change-Id: Ieca54cd1f09c171abb5adc6419ff337083f586be
nimatable.java
nimator.java
oubleEvaluator.java
loatEvaluator.java
ntEvaluator.java
ropertyAnimator.java
GBEvaluator.java
equencer.java
ypeEvaluator.java
ackage.html
|