Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 42ba9da4 authored by Doris Liu's avatar Doris Liu Committed by android-build-merger
Browse files

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

am: 41fb3028

Change-Id: I1c2009a4491605a290dbc4596f9b39fbe19a08d0
parents 9faaa1ae 41fb3028
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -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);
    }