38 Commits

Author SHA1 Message Date
Doris Liu
6725d581eb Remove animation value change from push staging
This CL ensures that animation values are only updated during
animation pulses.

This CL also includes the revert of
https://googleplex-android-review.git.corp.google.com/#/c/1285913/

BUG: 30659748

Change-Id: Iadc84462dc61157efd3c18a23767bba9faf00f6e
2016-08-04 22:43:07 +00:00
Doris Liu
718cd3eb70 Handle hidden RT VectorDrawable animators
This CL changes the target of VD specific animators to VectorDrawable,
instead of RenderNode. The benefit of doing so is that animators can
now detect whether the animation is meaningful by checking whether
their VD target is in the display list. If not, that means the VD is
not drawing for the current frame, in which case we can be smarter
and more power efficient by removing the animator from the list and
posting a delayed onFinished listener callback.

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

Bug: 27441375
Change-Id: Iaad1ed09cfd526276b95db0dd695275c28e074e8
2016-06-09 10:27:59 -07:00
Doris Liu
952670d9cf rm log spam
Bug: 27385133
Change-Id: Ia97fbba61da691e2fde91ed1a857e0478046f8c0
2016-04-12 17:43:00 -07:00
Doris Liu
148f57fc26 Ensure animator's interpolator is set
Animator's play state can go from NotStarted to Finished directly
in the case of calling start() and end() within one frame. Previously
we only set animator's interpolator when the animator is transitioning
to Running state. So when Running state is skipped, the interpolator
is left unset.

Bug: 27224373
Change-Id: I5a53106fe1aae38ccaf1df8debd553be3bc56133
2016-02-19 17:19:24 -08:00
Doris Liu
8b083206ae Revert "Revert "Check RenderNode's owning view before attaching animators""
This reverts commit eb40178af3b7c8d925eaf6c1aa0bef739c8ea47e.

Change-Id: I6838ecb35b50847746ee66ac204f14eb5f579b91
2016-02-19 13:52:41 -08:00
Doris Liu
c4bb185d41 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
2016-02-19 13:51:31 -08:00
Doris Liu
df7fdb1e0b Revert "Revert "Revert "VectorDrawable native rendering - Step 5 of MANY"""
This reverts commit 0d20a275a5baf8579c8b9111cf2ce6615874a6b6.

Change-Id: I97c782f1164a5d39ab74dc098cca71d9e1b30cd8
2016-02-18 18:37:02 +00:00
Doris Liu
0d20a275a5 Revert "Revert "VectorDrawable native rendering - Step 5 of MANY""
This reverts commit e03ef25a3e44ef5d495e366c30b9b5b69fc58194.

Change-Id: I9c2e1c891667451a3ee668e414bf337ad67279ab
2016-02-12 19:49:29 -08:00
John Reck
e03ef25a3e Revert "VectorDrawable native rendering - Step 5 of MANY"
Bug: 27136799

This reverts commit 18bdf443e371e9f293439b4ff92cc79abaa422e5.

Change-Id: I825b061eec2a591f2d18119ba64494624b9ad4f2
2016-02-11 17:02:33 +00:00
Doris Liu
18bdf443e3 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
2016-02-11 01:08:47 +00:00
Doris Liu
766431aa57 Revert "Revert "VectorDrawable native rendering - Step 4 of MANY""
This reverts commit 5a11e8d0ba21624025b89ac63bbd18befa55be0e.

Change-Id: I7a48b59c4f930dad65ddc8590c25a12636244ea2
2016-02-04 16:29:51 -08:00
Doris Liu
5a11e8d0ba Revert "VectorDrawable native rendering - Step 4 of MANY"
b/26949340 and b/26975469, b/26975079 as well 

This reverts commit f276acd98457bcaabc9e79a17a736b3b484f005e.

Change-Id: I4b55177daf0d289bc03604c71fd4bf579f65073a
2016-02-04 20:59:00 +00:00
Doris Liu
f276acd984 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
2016-02-02 15:04:01 -08:00
Chris Craik
b9ce116dac Switch several enums to enum classes
Change-Id: I00ecd0b61657196b51704f70ca31a9d1c1ac254e
2015-08-21 23:05:44 +00:00
Chris Craik
d41c4d8c73 Add overrides and switch to nullptr keyword for all files
Adds remaining missing overrides and nullptr usages, missed due to
an extreme failure in tool usage.

Change-Id: I56abd72975a3999ad13330003c348db40f59aebf
2015-01-05 16:49:13 -08:00
Chris Craik
51d6a3db97 Cleanup various clang warnings, use unique_ptrs in several places
Change-Id: I347904b25e51fcc7de14b1e72f1acd0f6ba26f3f
2014-12-23 16:53:56 -08:00
Andreas Gampe
64bb413a66 Revert "resolved conflicts for merge of 220c3f4f to master"
Reverted as hwui doesn't agree.

This reverts commit 8a902d9f24e83c87b054adb5836b4a5b8a257be9.

Change-Id: I109e7b02bee2921e2155ded6df36f52e6f574b5a
2014-11-22 00:35:09 +00:00
Andreas Gampe
8a902d9f24 resolved conflicts for merge of 220c3f4f to master
Change-Id: I37ecce8fddecdff82b0eace16f1ee75152f7171e
2014-11-21 15:51:04 -08:00
Andreas Gampe
42ddc18d10 Frameworks/base: Unused parameters in hwui
Remove Clang cutout for unused parameters. Fix warnings.

Remove Clang cutout for deprecated Skia function usage. Has been
fixed in the L push.

Change-Id: I7ea073ff67127cc1e14e798b655e2c50615fe8e7
2014-11-21 10:39:21 -08:00
Tom Hudson
2dc236b2ba Clean up physical coupling
Narrow the use of #include directives in hwui, replacing with forward
declarations where straightforward. Speeds compiles; doesn't do any
restructuring of code.

Change-Id: Icac2baffb5896f55d8c6718e9bd9d4bfa02d3ca0
2014-10-15 15:51:39 -04:00
Chris Craik
572d9acd59 Correctly initialize animator asynchronousity
bug:17483792
Change-Id: Icb6b6e6318d4c79ee94228806cb60b275424b9c9
2014-09-12 17:40:20 -07:00
John Reck
e2478d45cc Fix some wrong-thread issues around animator management
Bug: 17372309

 Fixes a case where UI thread and RT thread both used the same method
 which wasn't safe for either of them.

 Adds additional assertions & logging in unusual circumstances to
 try and track down where the issue is occuring from.

Change-Id: I93d31a6fd0c5927259b67bdf96a475944226eee6
2014-09-03 17:37:59 -07:00
John Reck
4d2c47206a Listener callbacks ordering fixups
Bug: 17228458
Bug: 17317816

Ensure that onStart is called prior to onCancel/onFinished if those
happen prior to the UI-thread handled start delay.

Ensure that onFinished is called if cancel/end is called

Change-Id: I23c16ea1c4f925d59d41ec5281d62dfc0c38595b
2014-08-29 10:40:56 -07:00
John Reck
119907cd25 Animator stuff
Bug: 17228458

Change-Id: Id884a429a512f9cd2be0ed16dbd0f10e92b4440d
2014-08-27 17:44:25 -07:00
Chris Craik
69e5adffb1 Define shadow casting behavior within layers
bug:15860114

Savelayers and HW layers both now support shadow casting.

For save layers, the light source should always be correct, for HW
layers, the light source position is set when the layer is created,
and updated when it is resized.

Change-Id: Ie85567dd43c2bb0a0b08fd0bd4db41efa793ac2b
2014-08-15 00:59:44 +00:00
John Reck
a7c2ea20c4 Fix damage for layers for projection receivers
Bug: 16880228

Change-Id: I59ab760a21f49cc2cac0d8936b173cff292e6114
2014-08-08 20:24:34 +00:00
Chris Craik
af4d04cab6 Use RoundRect clipping for circle reveal animation
bug:16630975

Also, remove inverse clipping feature from reveal animator.

Change-Id: I770a4eb48cd123b0ca0f39d16a0f3eefd1be3653
2014-07-30 17:15:50 +00:00
John Reck
d3de42cae8 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
2014-07-18 22:10:22 +00:00
John Reck
32fb6307de Fix VPA.cancel()
Bug: 15978905

 Need to make sure we re-sync the UI properties on animator cancel, also
 don't animate for 1 frame after cancel() is called

Change-Id: Ib660c0fb195b9f02bd795d03d43ea67bffebb499
2014-07-07 18:04:44 +00:00
John Reck
8d8af3c1b7 Fixes to startDelay
Bug: 15991758

 Don't update the UI thread with final value until after
 startDelay

Change-Id: Ie8bffb5a3ace353ec1d82943a4efcbd01c42c28f
2014-07-01 15:32:12 -07:00
John Reck
68bfe0a37a Animator refactoring & fixes
Tweaks animators to have less unnecessary refcounting

 Pull animator management out into seperate class

 More control to tweak animator lifecycle, such as doing
 Java-side handling of start delay by attaching but not
 starting the animator

Change-Id: I4ff8207580ca11fb38f45ef0007b406e0097281c
2014-06-26 10:45:43 -07:00
John Reck
2218472d23 Re-enable ViewPropAnimRT
Change-Id: I2f30547c4e2212747c479760dff4f3f901d1eaf3
2014-06-20 14:05:51 -07:00
John Reck
c6b3264e16 Add setStartValue to RNA
Bug: 15198607
 Should be good-enough for Ripples to use for pseudo-chaining
 support.

Change-Id: Ia8666928ccb69ae401cb583751632a52bd928b63
2014-06-02 11:00:09 -07:00
Alan Viverette
ad2f8e334f Update ripple behavior, use render thread animation
Change-Id: Ib6bc1e08b05d29606f452961963d58b8fc866746
2014-05-16 13:28:33 -07:00
John Reck
ff941dcd81 Animator start value...
Change-Id: Ifd35ed95a28c625086d7fa97764fe63ab4a997f1
2014-05-15 08:53:39 -07:00
John Reck
531ee701dd Clamp to uint8 for alpha
Change-Id: Id3e51671297bfb879969ad2fe7a5741dd4cf4c29
2014-05-13 10:06:08 -07:00
John Reck
52244fff29 Add CanvasProperty for drawCircle
Change-Id: Icbcc030f5033d2094e567d7c519b9d672f2aac1c
2014-05-02 13:43:46 -07:00
John Reck
e45b1fd03b RenderThread animator support
Change-Id: Icf29098edfdaf7ed550bbe9d49e9eaefb4167084
2014-04-29 10:42:11 -07:00