summaryrefslogtreecommitdiffstats
path: root/libs/hwui/RenderNode.cpp
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2014-08-21 11:23:05 -0700
committerJohn Reck <jreck@google.com>2014-08-21 11:23:05 -0700
commit9eb9f6f8cbbbd87d45da8071aa54cb066a797723 (patch)
treeaa193a48886ab29dd158028a48475cc63e43383d /libs/hwui/RenderNode.cpp
parent94f6878bbd98753aa60fd80f5a73b5f198579b04 (diff)
downloadframeworks_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.cpp9
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);