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

Commit 0c410817 authored by Riddle Hsu's avatar Riddle Hsu Committed by Android (Google) Code Review
Browse files

Merge "Use sync transaction for dim layer and scale" into tm-dev

parents 6d7db458 ba0c5571
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -144,7 +144,8 @@ class AsyncRotationController extends FadeAnimationController implements Consume
        // Legacy animation doesn't need to wait for the start transaction.
        if (mTransitionOp == OP_LEGACY) {
            mIsStartTransactionCommitted = true;
        } else if (displayContent.mTransitionController.useShellTransitionsRotation()) {
        } else if (displayContent.mTransitionController.useShellTransitionsRotation()
                || displayContent.mTransitionController.isCollecting(displayContent)) {
            keepAppearanceInPreviousRotation();
        }
    }
+1 −1
Original line number Diff line number Diff line
@@ -662,7 +662,7 @@ public class DisplayArea<T extends WindowContainer> extends WindowContainer<T> {
                mDimmer.resetDimStates();
            }

            if (mDimmer.updateDims(getPendingTransaction(), mTmpDimBoundsRect)) {
            if (mDimmer.updateDims(getSyncTransaction(), mTmpDimBoundsRect)) {
                scheduleAnimation();
            }
        }
+4 −3
Original line number Diff line number Diff line
@@ -3297,9 +3297,10 @@ class Task extends TaskFragment {
            mTmpDimBoundsRect.offsetTo(0, 0);
        }

        updateShadowsRadius(isFocused(), getSyncTransaction());
        final SurfaceControl.Transaction t = getSyncTransaction();
        updateShadowsRadius(isFocused(), t);

        if (mDimmer.updateDims(getPendingTransaction(), mTmpDimBoundsRect)) {
        if (mDimmer.updateDims(t, mTmpDimBoundsRect)) {
            scheduleAnimation();
        }

@@ -3309,7 +3310,7 @@ class Task extends TaskFragment {
        final boolean show = isVisible() || isAnimating(TRANSITION | PARENTS | CHILDREN);
        if (mSurfaceControl != null) {
            if (show != mLastSurfaceShowing) {
                getSyncTransaction().setVisibility(mSurfaceControl, show);
                t.setVisibility(mSurfaceControl, show);
            }
        }
        mLastSurfaceShowing = show;
+1 −1
Original line number Diff line number Diff line
@@ -2425,7 +2425,7 @@ class TaskFragment extends WindowContainer<WindowContainer> {
        // Bounds need to be relative, as the dim layer is a child.
        final Rect dimBounds = getBounds();
        dimBounds.offsetTo(0 /* newLeft */, 0 /* newTop */);
        if (mDimmer.updateDims(getPendingTransaction(), dimBounds)) {
        if (mDimmer.updateDims(getSyncTransaction(), dimBounds)) {
            scheduleAnimation();
        }
    }
+8 −4
Original line number Diff line number Diff line
@@ -5272,6 +5272,12 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
        if (mControllableInsetProvider != null) {
            return;
        }
        if (mDisplayContent.inTransition()) {
            // Skip because the animation is usually unnoticeable (e.g. covered by rotation
            // animation) and the animation bounds could be inconsistent, such as depending
            // on when the window applies its draw transaction with new rotation.
            return;
        }

        final DisplayInfo displayInfo = getDisplayInfo();
        anim.initialize(mWindowFrames.mFrame.width(), mWindowFrames.mFrame.height(),
@@ -5516,10 +5522,8 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
        }
        float newHScale = mHScale * mGlobalScale * mWallpaperScale;
        float newVScale = mVScale * mGlobalScale * mWallpaperScale;
        if (mLastHScale != newHScale ||
            mLastVScale != newVScale ) {
            getPendingTransaction().setMatrix(getSurfaceControl(),
                newHScale, 0, 0, newVScale);
        if (mLastHScale != newHScale || mLastVScale != newVScale) {
            getSyncTransaction().setMatrix(mSurfaceControl, newHScale, 0, 0, newVScale);
            mLastHScale = newHScale;
            mLastVScale = newVScale;
        }