diff options
author | John Reck <jreck@google.com> | 2014-08-21 11:23:05 -0700 |
---|---|---|
committer | John Reck <jreck@google.com> | 2014-08-21 11:23:05 -0700 |
commit | 9eb9f6f8cbbbd87d45da8071aa54cb066a797723 (patch) | |
tree | aa193a48886ab29dd158028a48475cc63e43383d /libs/hwui/RenderNode.cpp | |
parent | 94f6878bbd98753aa60fd80f5a73b5f198579b04 (diff) | |
download | frameworks_base-9eb9f6f8cbbbd87d45da8071aa54cb066a797723.zip frameworks_base-9eb9f6f8cbbbd87d45da8071aa54cb066a797723.tar.gz frameworks_base-9eb9f6f8cbbbd87d45da8071aa54cb066a797723.tar.bz2 |
Don't run animators in buildLayer
Bug: 17172689
Change-Id: Ib47d589c002543327fa336718440f9f8c95524e0
Diffstat (limited to 'libs/hwui/RenderNode.cpp')
-rw-r--r-- | libs/hwui/RenderNode.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/libs/hwui/RenderNode.cpp b/libs/hwui/RenderNode.cpp index 0db6198..898b66d 100644 --- a/libs/hwui/RenderNode.cpp +++ b/libs/hwui/RenderNode.cpp @@ -216,7 +216,10 @@ void RenderNode::prepareTreeImpl(TreeInfo& info) { if (info.mode == TreeInfo::MODE_FULL) { pushStagingPropertiesChanges(info); } - uint32_t animatorDirtyMask = mAnimatorManager.animate(info); + uint32_t animatorDirtyMask = 0; + if (CC_LIKELY(info.runAnimations)) { + animatorDirtyMask = mAnimatorManager.animate(info); + } prepareLayer(info, animatorDirtyMask); if (info.mode == TreeInfo::MODE_FULL) { pushStagingDisplayListChanges(info); @@ -231,7 +234,9 @@ void RenderNode::pushStagingPropertiesChanges(TreeInfo& info) { // Push the animators first so that setupStartValueIfNecessary() is called // before properties() is trampled by stagingProperties(), as they are // required by some animators. - mAnimatorManager.pushStaging(info); + if (CC_LIKELY(info.runAnimations)) { + mAnimatorManager.pushStaging(info); + } if (mDirtyPropertyFields) { mDirtyPropertyFields = 0; damageSelf(info); |