From 34fd5caeaa3b110ff3b2d8420636a8c56944553c Mon Sep 17 00:00:00 2001 From: Mariia Sandrikova Date: Thu, 30 Mar 2023 00:25:21 +0100 Subject: [PATCH] Add camera compat state to activity proto for CTS. Fix: 270951602 Test: atest CtsWindowManagerDeviceTestCases:CompatChangeTests Change-Id: I5d787f48dc4429bd16c169d429cbaff6cd929ec6 --- core/proto/android/server/windowmanagerservice.proto | 3 +++ .../core/java/com/android/server/wm/ActivityRecord.java | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/core/proto/android/server/windowmanagerservice.proto b/core/proto/android/server/windowmanagerservice.proto index e6c8557a8c50e..bb3089bb397aa 100644 --- a/core/proto/android/server/windowmanagerservice.proto +++ b/core/proto/android/server/windowmanagerservice.proto @@ -391,6 +391,9 @@ message ActivityRecordProto { optional int32 last_drop_input_mode = 36; optional int32 override_orientation = 37 [(.android.typedef) = "android.content.pm.ActivityInfo.ScreenOrientation"]; optional bool should_send_compat_fake_focus = 38; + optional bool should_force_rotate_for_camera_compat = 39; + optional bool should_refresh_activity_for_camera_compat = 40; + optional bool should_refresh_activity_via_pause_for_camera_compat = 41; } /* represents WindowToken */ diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java index 81dabfd48bf33..619b62b7dd338 100644 --- a/services/core/java/com/android/server/wm/ActivityRecord.java +++ b/services/core/java/com/android/server/wm/ActivityRecord.java @@ -179,6 +179,9 @@ import static com.android.server.wm.ActivityRecordProto.PROC_ID; import static com.android.server.wm.ActivityRecordProto.PROVIDES_MAX_BOUNDS; import static com.android.server.wm.ActivityRecordProto.REPORTED_DRAWN; import static com.android.server.wm.ActivityRecordProto.REPORTED_VISIBLE; +import static com.android.server.wm.ActivityRecordProto.SHOULD_FORCE_ROTATE_FOR_CAMERA_COMPAT; +import static com.android.server.wm.ActivityRecordProto.SHOULD_REFRESH_ACTIVITY_FOR_CAMERA_COMPAT; +import static com.android.server.wm.ActivityRecordProto.SHOULD_REFRESH_ACTIVITY_VIA_PAUSE_FOR_CAMERA_COMPAT; import static com.android.server.wm.ActivityRecordProto.SHOULD_SEND_COMPAT_FAKE_FOCUS; import static com.android.server.wm.ActivityRecordProto.STARTING_DISPLAYED; import static com.android.server.wm.ActivityRecordProto.STARTING_MOVED; @@ -10226,6 +10229,12 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A proto.write(LAST_DROP_INPUT_MODE, mLastDropInputMode); proto.write(OVERRIDE_ORIENTATION, getOverrideOrientation()); proto.write(SHOULD_SEND_COMPAT_FAKE_FOCUS, shouldSendCompatFakeFocus()); + proto.write(SHOULD_FORCE_ROTATE_FOR_CAMERA_COMPAT, + mLetterboxUiController.shouldForceRotateForCameraCompat()); + proto.write(SHOULD_REFRESH_ACTIVITY_FOR_CAMERA_COMPAT, + mLetterboxUiController.shouldRefreshActivityForCameraCompat()); + proto.write(SHOULD_REFRESH_ACTIVITY_VIA_PAUSE_FOR_CAMERA_COMPAT, + mLetterboxUiController.shouldRefreshActivityViaPauseForCameraCompat()); } @Override