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

Commit 6a7bdd3d authored by Chavi Weingarten's avatar Chavi Weingarten Committed by Android (Google) Code Review
Browse files

Merge "Move setColorSpaceAgnostic to VRI" into main

parents d4c39aef 56cfd53b
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -116,6 +116,7 @@ import static android.view.inputmethod.InputMethodEditorTraceProto.InputMethodCl
import static com.android.input.flags.Flags.enablePointerChoreographer;
import static com.android.window.flags.Flags.activityWindowInfoFlag;
import static com.android.window.flags.Flags.enableBufferTransformHintFromDisplay;
import static com.android.window.flags.Flags.setScPropertiesInClient;
import android.Manifest;
import android.accessibilityservice.AccessibilityService;
@@ -3564,6 +3565,16 @@ public final class ViewRootImpl implements ViewParent,
                        mTransaction.setDefaultFrameRateCompatibility(mSurfaceControl,
                            Surface.FRAME_RATE_COMPATIBILITY_NO_VOTE).apply();
                    }
                    if (setScPropertiesInClient()) {
                        if (surfaceControlChanged || windowAttributesChanged) {
                            boolean colorSpaceAgnostic = (lp.privateFlags
                                    & WindowManager.LayoutParams.PRIVATE_FLAG_COLOR_SPACE_AGNOSTIC)
                                    != 0;
                            mTransaction.setColorSpaceAgnostic(mSurfaceControl, colorSpaceAgnostic)
                                    .apply();
                        }
                    }
                }
                if (DEBUG_LAYOUT) Log.v(mTag, "relayout: frame=" + frame.toShortString()
+8 −0
Original line number Diff line number Diff line
@@ -96,3 +96,11 @@ flag {
        purpose: PURPOSE_BUGFIX
    }
}

flag {
    namespace: "window_surfaces"
    name: "set_sc_properties_in_client"
    description: "Set VRI SC properties in the client instead of system server"
    is_fixed_read_only: true
    bug: "308662081"
}
+7 −3
Original line number Diff line number Diff line
@@ -154,6 +154,7 @@ import static com.android.server.wm.WindowManagerServiceDumpProto.POLICY;
import static com.android.server.wm.WindowManagerServiceDumpProto.ROOT_WINDOW_CONTAINER;
import static com.android.server.wm.WindowManagerServiceDumpProto.WINDOW_FRAMES_VALID;
import static com.android.window.flags.Flags.multiCrop;
import static com.android.window.flags.Flags.setScPropertiesInClient;

import android.Manifest;
import android.Manifest.permission;
@@ -2363,9 +2364,12 @@ public class WindowManagerService extends IWindowManager.Stub
                    updateNonSystemOverlayWindowsVisibilityIfNeeded(
                            win, win.mWinAnimator.getShown());
                }
                if (!setScPropertiesInClient()) {
                    if ((attrChanges & (WindowManager.LayoutParams.PRIVATE_FLAGS_CHANGED)) != 0) {
                        winAnimator.setColorSpaceAgnosticLocked((win.mAttrs.privateFlags
                            & WindowManager.LayoutParams.PRIVATE_FLAG_COLOR_SPACE_AGNOSTIC) != 0);
                                & WindowManager.LayoutParams.PRIVATE_FLAG_COLOR_SPACE_AGNOSTIC)
                                != 0);
                    }
                }
                // See if the DisplayWindowPolicyController wants to keep the activity on the window
                if (displayContent.mDwpcHelper.hasController()
+5 −2
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@ import static com.android.server.wm.WindowStateAnimatorProto.DRAW_STATE;
import static com.android.server.wm.WindowStateAnimatorProto.SURFACE;
import static com.android.server.wm.WindowStateAnimatorProto.SYSTEM_DECOR_RECT;
import static com.android.window.flags.Flags.secureWindowState;
import static com.android.window.flags.Flags.setScPropertiesInClient;

import android.content.Context;
import android.graphics.PixelFormat;
@@ -311,8 +312,10 @@ class WindowStateAnimator {

            mSurfaceController = new WindowSurfaceController(attrs.getTitle().toString(), format,
                    flags, this, attrs.type);
            if (!setScPropertiesInClient()) {
                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