Merge \"Make sure VD animation push staging happens only in MODE_FULL\" into nyc-mr1-dev

am: 41fb30282e

Change-Id: I1c2009a4491605a290dbc4596f9b39fbe19a08d0
This commit is contained in:
Doris Liu
2016-06-22 00:56:39 +00:00
committed by android-build-merger

View File

@@ -255,7 +255,6 @@ public:
void runVectorDrawableAnimators(AnimationContext* context) {
for (auto it = mVectorDrawableAnimators.begin(); it != mVectorDrawableAnimators.end();) {
(*it)->pushStaging(*context);
if ((*it)->animate(*context)) {
it = mVectorDrawableAnimators.erase(it);
} else {
@@ -264,6 +263,12 @@ public:
}
}
void pushStagingVectorDrawableAnimators(AnimationContext* context) {
for (auto& anim : mVectorDrawableAnimators) {
anim->pushStaging(*context);
}
}
void destroy() {
for (auto& renderNode : mPendingAnimatingRenderNodes) {
renderNode->animators().endAllStagingAnimators();
@@ -328,6 +333,9 @@ public:
// already ran in each RenderNode. Note that these animators don't damage the RenderNodes.
// The damaging is done in prepareTree as needed after checking whether a VD has been
// modified.
if (mode == TreeInfo::MODE_FULL) {
mRootNode->pushStagingVectorDrawableAnimators(this);
}
mRootNode->runVectorDrawableAnimators(this);
}