diff --git a/core/proto/android/server/windowmanagerservice.proto b/core/proto/android/server/windowmanagerservice.proto index c882431c9366a..a1be865c0c160 100644 --- a/core/proto/android/server/windowmanagerservice.proto +++ b/core/proto/android/server/windowmanagerservice.proto @@ -406,6 +406,8 @@ message WindowStateProto { optional int64 finished_seamless_rotation_frame = 40; optional WindowFramesProto window_frames = 41; optional bool force_seamless_rotation = 42; + optional bool in_size_compat_mode = 43; + optional float global_scale = 44; } message IdentifierProto { @@ -516,6 +518,7 @@ message WindowFramesProto { optional .android.graphics.RectProto visible_insets = 13 [deprecated=true]; optional .android.graphics.RectProto stable_insets = 14 [deprecated=true]; optional .android.graphics.RectProto outsets = 15; + optional .android.graphics.RectProto compat_frame = 16; } message InsetsSourceProviderProto { diff --git a/services/core/java/com/android/server/wm/WindowFrames.java b/services/core/java/com/android/server/wm/WindowFrames.java index 361694b325f9b..9245f8c3efe5e 100644 --- a/services/core/java/com/android/server/wm/WindowFrames.java +++ b/services/core/java/com/android/server/wm/WindowFrames.java @@ -16,6 +16,7 @@ package com.android.server.wm; +import static com.android.server.wm.WindowFramesProto.COMPAT_FRAME; import static com.android.server.wm.WindowFramesProto.CONTAINING_FRAME; import static com.android.server.wm.WindowFramesProto.DISPLAY_FRAME; import static com.android.server.wm.WindowFramesProto.FRAME; @@ -177,7 +178,7 @@ public class WindowFrames { mDisplayFrame.dumpDebug(proto, DISPLAY_FRAME); mContainingFrame.dumpDebug(proto, CONTAINING_FRAME); mFrame.dumpDebug(proto, FRAME); - + mCompatFrame.dumpDebug(proto, COMPAT_FRAME); proto.end(token); } diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index 3dfdedfec0d10..60e95e5cfd6e6 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -169,7 +169,9 @@ import static com.android.server.wm.WindowStateProto.DISPLAY_ID; import static com.android.server.wm.WindowStateProto.FINISHED_SEAMLESS_ROTATION_FRAME; import static com.android.server.wm.WindowStateProto.FORCE_SEAMLESS_ROTATION; import static com.android.server.wm.WindowStateProto.GIVEN_CONTENT_INSETS; +import static com.android.server.wm.WindowStateProto.GLOBAL_SCALE; import static com.android.server.wm.WindowStateProto.HAS_SURFACE; +import static com.android.server.wm.WindowStateProto.IN_SIZE_COMPAT_MODE; import static com.android.server.wm.WindowStateProto.IS_ON_SCREEN; import static com.android.server.wm.WindowStateProto.IS_READY_FOR_DISPLAY; import static com.android.server.wm.WindowStateProto.IS_VISIBLE; @@ -4002,6 +4004,8 @@ class WindowState extends WindowContainer implements WindowManagerP proto.write(PENDING_SEAMLESS_ROTATION, mPendingSeamlessRotate != null); proto.write(FINISHED_SEAMLESS_ROTATION_FRAME, mFinishSeamlessRotateFrameNumber); proto.write(FORCE_SEAMLESS_ROTATION, mForceSeamlesslyRotate); + proto.write(IN_SIZE_COMPAT_MODE, inSizeCompatMode()); + proto.write(GLOBAL_SCALE, mGlobalScale); proto.end(token); }