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.cpp | |
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.cpp')
-rw-r--r-- | libs/hwui/RenderNode.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libs/hwui/RenderNode.cpp b/libs/hwui/RenderNode.cpp index bade216b3b21..9ac76a4339e1 100644 --- a/libs/hwui/RenderNode.cpp +++ b/libs/hwui/RenderNode.cpp @@ -218,6 +218,10 @@ void RenderNode::addAnimator(const sp<BaseRenderNodeAnimator>& animator) { mAnimatorManager.addAnimator(animator); } +void RenderNode::removeAnimator(const sp<BaseRenderNodeAnimator>& animator) { + mAnimatorManager.removeAnimator(animator); +} + void RenderNode::damageSelf(TreeInfo& info) { if (isRenderable()) { if (properties().getClipDamageToBounds()) { |