Loading core/java/android/view/ViewRootImpl.java +11 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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() Loading core/java/android/window/flags/window_surfaces.aconfig +8 −0 Original line number Diff line number Diff line Loading @@ -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" } services/core/java/com/android/server/wm/WindowManagerService.java +7 −3 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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() Loading services/core/java/com/android/server/wm/WindowStateAnimator.java +5 −2 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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 Loading Loading
core/java/android/view/ViewRootImpl.java +11 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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() Loading
core/java/android/window/flags/window_surfaces.aconfig +8 −0 Original line number Diff line number Diff line Loading @@ -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" }
services/core/java/com/android/server/wm/WindowManagerService.java +7 −3 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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() Loading
services/core/java/com/android/server/wm/WindowStateAnimator.java +5 −2 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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 Loading