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

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

Merge "Reduce transaction to sf when creating surface"

parents 98c05366 c9c3b697
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -329,8 +329,8 @@ class WindowStateAnimator {

            mSurfaceController = new WindowSurfaceController(attrs.getTitle().toString(), format,
                    flags, this, attrs.type);
            mSurfaceController.setColorSpaceAgnostic((attrs.privateFlags
                    & WindowManager.LayoutParams.PRIVATE_FLAG_COLOR_SPACE_AGNOSTIC) != 0);
            mSurfaceController.setColorSpaceAgnostic(w.getPendingTransaction(),
                    (attrs.privateFlags & LayoutParams.PRIVATE_FLAG_COLOR_SPACE_AGNOSTIC) != 0);

            w.setHasSurface(true);
            // The surface instance is changed. Make sure the input info can be applied to the
@@ -527,7 +527,7 @@ class WindowStateAnimator {
        if (mSurfaceController == null) {
            return;
        }
        mSurfaceController.setColorSpaceAgnostic(agnostic);
        mSurfaceController.setColorSpaceAgnostic(mWin.getPendingTransaction(), agnostic);
    }

    /**
+2 −13
Original line number Diff line number Diff line
@@ -236,24 +236,13 @@ class WindowSurfaceController {
        }
    }

    void setColorSpaceAgnostic(boolean agnostic) {
    void setColorSpaceAgnostic(SurfaceControl.Transaction t, boolean agnostic) {
        ProtoLog.i(WM_SHOW_TRANSACTIONS, "SURFACE isColorSpaceAgnostic=%b: %s", agnostic, title);

        if (mSurfaceControl == null) {
            return;
        }
        if (SHOW_LIGHT_TRANSACTIONS) {
            Slog.i(TAG, ">>> OPEN TRANSACTION setColorSpaceAgnosticLocked");
        }
        mService.openSurfaceTransaction();
        try {
            getGlobalTransaction().setColorSpaceAgnostic(mSurfaceControl, agnostic);
        } finally {
            mService.closeSurfaceTransaction("setColorSpaceAgnostic");
            if (SHOW_LIGHT_TRANSACTIONS) {
                Slog.i(TAG, "<<< CLOSE TRANSACTION setColorSpaceAgnosticLocked");
            }
        }
        t.setColorSpaceAgnostic(mSurfaceControl, agnostic);
    }

    boolean showRobustly(SurfaceControl.Transaction t) {