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

Commit fbba753f authored by Chet Haase's avatar Chet Haase Committed by Android (Google) Code Review
Browse files

Merge "Handle offscreen animations correctly" into jb-mr1-dev

parents b75ade9c 3561d062
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -859,7 +859,7 @@ public final class ViewRootImpl implements ViewParent,
        if (dirty == null) {
            invalidate();
            return null;
        } else if (dirty.isEmpty()) {
        } else if (dirty.isEmpty() && !mIsAnimating) {
            return null;
        }

@@ -888,14 +888,14 @@ public final class ViewRootImpl implements ViewParent,
        // Intersect with the bounds of the window to skip
        // updates that lie outside of the visible region
        final float appScale = mAttachInfo.mApplicationScale;
        if (localDirty.intersect(0, 0,
                (int) (mWidth * appScale + 0.5f), (int) (mHeight * appScale + 0.5f))) {
            if (!mWillDrawSoon) {
                scheduleTraversals();
            }
        } else {
        final boolean intersected = localDirty.intersect(0, 0,
                (int) (mWidth * appScale + 0.5f), (int) (mHeight * appScale + 0.5f));
        if (!intersected) {
            localDirty.setEmpty();
        }
        if (!mWillDrawSoon && (intersected || mIsAnimating)) {
            scheduleTraversals();
        }

        return null;
    }
+10 −9
Original line number Diff line number Diff line
@@ -763,9 +763,9 @@ void DisplayList::outputViewProperties(OpenGLRenderer& renderer, char* indent) {
        }
    }
    if (mAlpha < 1 && !mCaching) {
        // TODO: should be able to store the size of a DL at record time and not
        // have to pass it into this call. In fact, this information might be in the
        // location/size info that we store with the new native transform data.
        if (!mHasOverlappingRendering) {
            ALOGD("%s%s %.2f", indent, "SetAlpha", mAlpha);
        } else {
            int flags = SkCanvas::kHasAlphaLayer_SaveFlag;
            if (mClipChildren) {
                flags |= SkCanvas::kClipToLayer_SaveFlag;
@@ -774,6 +774,7 @@ void DisplayList::outputViewProperties(OpenGLRenderer& renderer, char* indent) {
                    (float) 0, (float) 0, (float) mRight - mLeft, (float) mBottom - mTop,
                    mMultipliedAlpha, flags);
        }
    }
    if (mClipChildren) {
        ALOGD("%s%s %.2f, %.2f, %.2f, %.2f", indent, "ClipRect", 0.0f, 0.0f,
                (float) mRight - mLeft, (float) mBottom - mTop);