diff options
| author | 2016-02-11 20:08:10 -0800 | |
|---|---|---|
| committer | 2016-02-16 14:25:48 -0800 | |
| commit | 12abdeb3c7bffbc7c07b913595f6ea2cb66154d1 (patch) | |
| tree | 8770a4c0412b95902d5c49328f357e39eb3fba8e /libs/hwui/RenderNode.h | |
| parent | 0d20a275a5baf8579c8b9111cf2ce6615874a6b6 (diff) | |
Check RenderNode's owning view before attaching animators
-Only add animators to a RenderNode when its owning view is attached
-When changing animator's target RenderNode, remove the animator from
the old target RenderNode that it's currently running on, if any.
Bug: 27141983
Bug: 27145149
Change-Id: I9c9592382d64ecc0390f7ec743a59ce1ad7d9798
Diffstat (limited to 'libs/hwui/RenderNode.h')
| -rw-r--r-- | libs/hwui/RenderNode.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libs/hwui/RenderNode.h b/libs/hwui/RenderNode.h index f248de54acba..e0376450178f 100644 --- a/libs/hwui/RenderNode.h +++ b/libs/hwui/RenderNode.h @@ -187,6 +187,12 @@ public: // UI thread only! ANDROID_API void addAnimator(const sp<BaseRenderNodeAnimator>& animator); + void removeAnimator(const sp<BaseRenderNodeAnimator>& animator); + + // This can only happen during pushStaging() + void onAnimatorTargetChanged(BaseRenderNodeAnimator* animator) { + mAnimatorManager.onAnimatorTargetChanged(animator); + } AnimatorManager& animators() { return mAnimatorManager; } |