Loading services/core/java/com/android/server/wm/ActivityRecord.java +2 −38 Original line number Diff line number Diff line Loading @@ -102,11 +102,8 @@ import static android.internal.perfetto.protos.Windowmanagerservice.ActivityReco import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.ENABLE_RECENTS_SCREENSHOT; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.FILLS_PARENT; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.FRONT_OF_TASK; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.IN_SIZE_COMPAT_MODE; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.IS_ANIMATING; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.IS_USER_FULLSCREEN_OVERRIDE_ENABLED; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.LAST_DROP_INPUT_MODE; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.MIN_ASPECT_RATIO; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.NAME; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.NUM_DRAWN_WINDOWS; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.NUM_INTERESTING_WINDOWS; Loading @@ -117,15 +114,6 @@ import static android.internal.perfetto.protos.Windowmanagerservice.ActivityReco import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.REPORTED_DRAWN; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.REPORTED_VISIBLE; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.REQUEST_OPEN_IN_BROWSER_EDUCATION_TIMESTAMP; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.SHOULD_ALLOW_SIMULATE_REQUESTED_ORIENTATION_FOR_CAMERA_COMPAT; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.SHOULD_ENABLE_USER_ASPECT_RATIO_SETTINGS; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.SHOULD_FORCE_ROTATE_FOR_CAMERA_COMPAT; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.SHOULD_IGNORE_ORIENTATION_REQUEST_LOOP; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.SHOULD_OVERRIDE_FORCE_RESIZE_APP; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.SHOULD_OVERRIDE_MIN_ASPECT_RATIO; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.SHOULD_REFRESH_ACTIVITY_FOR_CAMERA_COMPAT; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.SHOULD_REFRESH_ACTIVITY_VIA_PAUSE_FOR_CAMERA_COMPAT; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.SHOULD_SEND_COMPAT_FAKE_FOCUS; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.STARTING_DISPLAYED; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.STARTING_MOVED; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.STARTING_WINDOW; Loading Loading @@ -9213,40 +9201,16 @@ final class ActivityRecord extends WindowToken { proto.write(PROC_ID, app.getPid()); } proto.write(PIP_AUTO_ENTER_ENABLED, pictureInPictureArgs.isAutoEnterEnabled()); proto.write(IN_SIZE_COMPAT_MODE, inSizeCompatMode()); proto.write(MIN_ASPECT_RATIO, getMinAspectRatio()); // Only record if max bounds sandboxing is applied, if the caller has the necessary // permission to access the device configs. proto.write(PROVIDES_MAX_BOUNDS, providesMaxBounds()); proto.write(ENABLE_RECENTS_SCREENSHOT, mEnableRecentsScreenshot); proto.write(LAST_DROP_INPUT_MODE, mLastDropInputMode); proto.write(OVERRIDE_ORIENTATION, getOverrideOrientation()); proto.write(SHOULD_SEND_COMPAT_FAKE_FOCUS, shouldSendCompatFakeFocus()); final AppCompatCameraOverrides cameraOverrides = mAppCompatController.getCameraOverrides(); proto.write(SHOULD_FORCE_ROTATE_FOR_CAMERA_COMPAT, cameraOverrides.shouldForceRotateForCameraCompat()); proto.write(SHOULD_REFRESH_ACTIVITY_FOR_CAMERA_COMPAT, cameraOverrides.shouldRefreshActivityForCameraCompat()); proto.write(SHOULD_REFRESH_ACTIVITY_VIA_PAUSE_FOR_CAMERA_COMPAT, cameraOverrides.shouldRefreshActivityViaPauseForCameraCompat()); final AppCompatAspectRatioOverrides aspectRatioOverrides = mAppCompatController.getAspectRatioOverrides(); proto.write(SHOULD_OVERRIDE_MIN_ASPECT_RATIO, aspectRatioOverrides.shouldOverrideMinAspectRatio()); proto.write(SHOULD_IGNORE_ORIENTATION_REQUEST_LOOP, mAppCompatController.getOrientationOverrides() .shouldIgnoreOrientationRequestLoop()); proto.write(SHOULD_OVERRIDE_FORCE_RESIZE_APP, mAppCompatController.getResizeOverrides().shouldOverrideForceResizeApp()); proto.write(SHOULD_ENABLE_USER_ASPECT_RATIO_SETTINGS, aspectRatioOverrides.shouldEnableUserAspectRatioSettings()); proto.write(IS_USER_FULLSCREEN_OVERRIDE_ENABLED, aspectRatioOverrides.isUserFullscreenOverrideEnabled()); proto.write(REQUEST_OPEN_IN_BROWSER_EDUCATION_TIMESTAMP, mRequestOpenInBrowserEducationTimestamp); proto.write(SHOULD_ALLOW_SIMULATE_REQUESTED_ORIENTATION_FOR_CAMERA_COMPAT, cameraOverrides.shouldApplyFreeformTreatmentForCameraCompat()); mAppCompatController.dumpDebug(proto); } @Override Loading services/core/java/com/android/server/wm/AppCompatAspectRatioOverrides.java +11 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,9 @@ import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_DISPLAY_SI import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_FULLSCREEN; import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_SPLIT_SCREEN; import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_UNSET; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.IS_USER_FULLSCREEN_OVERRIDE_ENABLED; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.SHOULD_ENABLE_USER_ASPECT_RATIO_SETTINGS; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.SHOULD_OVERRIDE_MIN_ASPECT_RATIO; import static android.view.Display.DEFAULT_DISPLAY; import static android.view.WindowManager.PROPERTY_COMPAT_ALLOW_MIN_ASPECT_RATIO_OVERRIDE; import static android.view.WindowManager.PROPERTY_COMPAT_ALLOW_ORIENTATION_OVERRIDE; Loading @@ -50,6 +53,7 @@ import android.content.res.Resources; import android.graphics.Rect; import android.os.RemoteException; import android.util.Slog; import android.util.proto.ProtoOutputStream; import com.android.internal.R; import com.android.internal.annotations.VisibleForTesting; Loading Loading @@ -357,6 +361,13 @@ class AppCompatAspectRatioOverrides { return getDisplaySizeMinAspectRatio(); } public void dumpDebug(@NonNull ProtoOutputStream proto) { proto.write(SHOULD_OVERRIDE_MIN_ASPECT_RATIO, shouldOverrideMinAspectRatio()); proto.write(SHOULD_ENABLE_USER_ASPECT_RATIO_SETTINGS, shouldEnableUserAspectRatioSettings()); proto.write(IS_USER_FULLSCREEN_OVERRIDE_ENABLED, isUserFullscreenOverrideEnabled()); } private static class UserAspectRatioState { // The min aspect ratio override set by the user. @PackageManager.UserMinAspectRatio Loading services/core/java/com/android/server/wm/AppCompatAspectRatioPolicy.java +6 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ import static android.content.pm.ActivityInfo.OVERRIDE_MIN_ASPECT_RATIO_SMALL; import static android.content.pm.ActivityInfo.OVERRIDE_MIN_ASPECT_RATIO_TO_ALIGN_WITH_SPLIT_SCREEN; import static android.content.res.Configuration.ORIENTATION_LANDSCAPE; import static android.content.res.Configuration.ORIENTATION_PORTRAIT; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.MIN_ASPECT_RATIO; import static com.android.server.wm.AppCompatConfiguration.DEFAULT_LETTERBOX_ASPECT_RATIO_FOR_MULTI_WINDOW; import static com.android.server.wm.AppCompatConfiguration.MIN_FIXED_ORIENTATION_LETTERBOX_ASPECT_RATIO; Loading @@ -36,6 +37,7 @@ import android.app.WindowConfiguration; import android.content.pm.ActivityInfo; import android.content.res.Configuration; import android.graphics.Rect; import android.util.proto.ProtoOutputStream; import android.window.DesktopModeFlags; /** Loading Loading @@ -415,6 +417,10 @@ class AppCompatAspectRatioPolicy { return mActivityRecord.mAppCompatController.getAspectRatioOverrides(); } public void dumpDebug(@NonNull ProtoOutputStream proto) { proto.write(MIN_ASPECT_RATIO, getMinAspectRatio()); } private static class AppCompatAspectRatioState { // Whether the aspect ratio restrictions applied to the activity bounds // in applyAspectRatio(). Loading services/core/java/com/android/server/wm/AppCompatCameraOverrides.java +15 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,10 @@ import static android.content.pm.ActivityInfo.OVERRIDE_CAMERA_COMPAT_ENABLE_FREE import static android.content.pm.ActivityInfo.OVERRIDE_CAMERA_COMPAT_ENABLE_REFRESH_VIA_PAUSE; import static android.content.pm.ActivityInfo.OVERRIDE_MIN_ASPECT_RATIO_ONLY_FOR_CAMERA; import static android.content.pm.ActivityInfo.OVERRIDE_ORIENTATION_ONLY_FOR_CAMERA; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.SHOULD_ALLOW_SIMULATE_REQUESTED_ORIENTATION_FOR_CAMERA_COMPAT; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.SHOULD_FORCE_ROTATE_FOR_CAMERA_COMPAT; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.SHOULD_REFRESH_ACTIVITY_FOR_CAMERA_COMPAT; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.SHOULD_REFRESH_ACTIVITY_VIA_PAUSE_FOR_CAMERA_COMPAT; import static android.view.WindowManager.PROPERTY_CAMERA_COMPAT_ALLOW_FORCE_ROTATION; import static android.view.WindowManager.PROPERTY_CAMERA_COMPAT_ALLOW_SIMULATE_REQUESTED_ORIENTATION; import static android.view.WindowManager.PROPERTY_CAMERA_COMPAT_ALLOW_REFRESH; Loading @@ -35,6 +39,7 @@ import static com.android.server.wm.AppCompatUtils.isChangeEnabled; import android.annotation.NonNull; import android.annotation.Nullable; import android.util.proto.ProtoOutputStream; import android.window.DesktopModeFlags; import com.android.server.wm.utils.OptPropFactory; Loading Loading @@ -242,6 +247,16 @@ class AppCompatCameraOverrides { && !mActivityRecord.shouldCreateAppCompatDisplayInsets(); } public void dumpDebug(@NonNull ProtoOutputStream proto) { proto.write(SHOULD_FORCE_ROTATE_FOR_CAMERA_COMPAT, shouldForceRotateForCameraCompat()); proto.write(SHOULD_REFRESH_ACTIVITY_FOR_CAMERA_COMPAT, shouldRefreshActivityForCameraCompat()); proto.write(SHOULD_REFRESH_ACTIVITY_VIA_PAUSE_FOR_CAMERA_COMPAT, shouldRefreshActivityViaPauseForCameraCompat()); proto.write(SHOULD_ALLOW_SIMULATE_REQUESTED_ORIENTATION_FOR_CAMERA_COMPAT, shouldApplyFreeformTreatmentForCameraCompat()); } static class AppCompatCameraOverridesState { // Whether activity "refresh" was requested but not finished in // ActivityRecord#activityResumedLocked following the camera compat force rotation in Loading services/core/java/com/android/server/wm/AppCompatController.java +12 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.server.wm; import android.annotation.NonNull; import android.content.pm.PackageManager; import android.util.proto.ProtoOutputStream; import com.android.server.wm.utils.OptPropFactory; Loading Loading @@ -174,4 +175,15 @@ class AppCompatController { getDisplayCompatModePolicy().dump(pw, prefix); getSafeRegionPolicy().dump(pw, prefix); } void dumpDebug(@NonNull ProtoOutputStream proto) { getSizeCompatModePolicy().dumpDebug(proto); getAspectRatioPolicy().dumpDebug(proto); getAspectRatioOverrides().dumpDebug(proto); getSafeRegionPolicy().dumpDebug(proto); getFocusOverrides().dumpDebug(proto); getCameraOverrides().dumpDebug(proto); getOrientationOverrides().dumpDebug(proto); getResizeOverrides().dumpDebug(proto); } } Loading
services/core/java/com/android/server/wm/ActivityRecord.java +2 −38 Original line number Diff line number Diff line Loading @@ -102,11 +102,8 @@ import static android.internal.perfetto.protos.Windowmanagerservice.ActivityReco import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.ENABLE_RECENTS_SCREENSHOT; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.FILLS_PARENT; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.FRONT_OF_TASK; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.IN_SIZE_COMPAT_MODE; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.IS_ANIMATING; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.IS_USER_FULLSCREEN_OVERRIDE_ENABLED; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.LAST_DROP_INPUT_MODE; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.MIN_ASPECT_RATIO; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.NAME; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.NUM_DRAWN_WINDOWS; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.NUM_INTERESTING_WINDOWS; Loading @@ -117,15 +114,6 @@ import static android.internal.perfetto.protos.Windowmanagerservice.ActivityReco import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.REPORTED_DRAWN; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.REPORTED_VISIBLE; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.REQUEST_OPEN_IN_BROWSER_EDUCATION_TIMESTAMP; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.SHOULD_ALLOW_SIMULATE_REQUESTED_ORIENTATION_FOR_CAMERA_COMPAT; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.SHOULD_ENABLE_USER_ASPECT_RATIO_SETTINGS; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.SHOULD_FORCE_ROTATE_FOR_CAMERA_COMPAT; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.SHOULD_IGNORE_ORIENTATION_REQUEST_LOOP; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.SHOULD_OVERRIDE_FORCE_RESIZE_APP; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.SHOULD_OVERRIDE_MIN_ASPECT_RATIO; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.SHOULD_REFRESH_ACTIVITY_FOR_CAMERA_COMPAT; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.SHOULD_REFRESH_ACTIVITY_VIA_PAUSE_FOR_CAMERA_COMPAT; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.SHOULD_SEND_COMPAT_FAKE_FOCUS; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.STARTING_DISPLAYED; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.STARTING_MOVED; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.STARTING_WINDOW; Loading Loading @@ -9213,40 +9201,16 @@ final class ActivityRecord extends WindowToken { proto.write(PROC_ID, app.getPid()); } proto.write(PIP_AUTO_ENTER_ENABLED, pictureInPictureArgs.isAutoEnterEnabled()); proto.write(IN_SIZE_COMPAT_MODE, inSizeCompatMode()); proto.write(MIN_ASPECT_RATIO, getMinAspectRatio()); // Only record if max bounds sandboxing is applied, if the caller has the necessary // permission to access the device configs. proto.write(PROVIDES_MAX_BOUNDS, providesMaxBounds()); proto.write(ENABLE_RECENTS_SCREENSHOT, mEnableRecentsScreenshot); proto.write(LAST_DROP_INPUT_MODE, mLastDropInputMode); proto.write(OVERRIDE_ORIENTATION, getOverrideOrientation()); proto.write(SHOULD_SEND_COMPAT_FAKE_FOCUS, shouldSendCompatFakeFocus()); final AppCompatCameraOverrides cameraOverrides = mAppCompatController.getCameraOverrides(); proto.write(SHOULD_FORCE_ROTATE_FOR_CAMERA_COMPAT, cameraOverrides.shouldForceRotateForCameraCompat()); proto.write(SHOULD_REFRESH_ACTIVITY_FOR_CAMERA_COMPAT, cameraOverrides.shouldRefreshActivityForCameraCompat()); proto.write(SHOULD_REFRESH_ACTIVITY_VIA_PAUSE_FOR_CAMERA_COMPAT, cameraOverrides.shouldRefreshActivityViaPauseForCameraCompat()); final AppCompatAspectRatioOverrides aspectRatioOverrides = mAppCompatController.getAspectRatioOverrides(); proto.write(SHOULD_OVERRIDE_MIN_ASPECT_RATIO, aspectRatioOverrides.shouldOverrideMinAspectRatio()); proto.write(SHOULD_IGNORE_ORIENTATION_REQUEST_LOOP, mAppCompatController.getOrientationOverrides() .shouldIgnoreOrientationRequestLoop()); proto.write(SHOULD_OVERRIDE_FORCE_RESIZE_APP, mAppCompatController.getResizeOverrides().shouldOverrideForceResizeApp()); proto.write(SHOULD_ENABLE_USER_ASPECT_RATIO_SETTINGS, aspectRatioOverrides.shouldEnableUserAspectRatioSettings()); proto.write(IS_USER_FULLSCREEN_OVERRIDE_ENABLED, aspectRatioOverrides.isUserFullscreenOverrideEnabled()); proto.write(REQUEST_OPEN_IN_BROWSER_EDUCATION_TIMESTAMP, mRequestOpenInBrowserEducationTimestamp); proto.write(SHOULD_ALLOW_SIMULATE_REQUESTED_ORIENTATION_FOR_CAMERA_COMPAT, cameraOverrides.shouldApplyFreeformTreatmentForCameraCompat()); mAppCompatController.dumpDebug(proto); } @Override Loading
services/core/java/com/android/server/wm/AppCompatAspectRatioOverrides.java +11 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,9 @@ import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_DISPLAY_SI import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_FULLSCREEN; import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_SPLIT_SCREEN; import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_UNSET; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.IS_USER_FULLSCREEN_OVERRIDE_ENABLED; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.SHOULD_ENABLE_USER_ASPECT_RATIO_SETTINGS; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.SHOULD_OVERRIDE_MIN_ASPECT_RATIO; import static android.view.Display.DEFAULT_DISPLAY; import static android.view.WindowManager.PROPERTY_COMPAT_ALLOW_MIN_ASPECT_RATIO_OVERRIDE; import static android.view.WindowManager.PROPERTY_COMPAT_ALLOW_ORIENTATION_OVERRIDE; Loading @@ -50,6 +53,7 @@ import android.content.res.Resources; import android.graphics.Rect; import android.os.RemoteException; import android.util.Slog; import android.util.proto.ProtoOutputStream; import com.android.internal.R; import com.android.internal.annotations.VisibleForTesting; Loading Loading @@ -357,6 +361,13 @@ class AppCompatAspectRatioOverrides { return getDisplaySizeMinAspectRatio(); } public void dumpDebug(@NonNull ProtoOutputStream proto) { proto.write(SHOULD_OVERRIDE_MIN_ASPECT_RATIO, shouldOverrideMinAspectRatio()); proto.write(SHOULD_ENABLE_USER_ASPECT_RATIO_SETTINGS, shouldEnableUserAspectRatioSettings()); proto.write(IS_USER_FULLSCREEN_OVERRIDE_ENABLED, isUserFullscreenOverrideEnabled()); } private static class UserAspectRatioState { // The min aspect ratio override set by the user. @PackageManager.UserMinAspectRatio Loading
services/core/java/com/android/server/wm/AppCompatAspectRatioPolicy.java +6 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ import static android.content.pm.ActivityInfo.OVERRIDE_MIN_ASPECT_RATIO_SMALL; import static android.content.pm.ActivityInfo.OVERRIDE_MIN_ASPECT_RATIO_TO_ALIGN_WITH_SPLIT_SCREEN; import static android.content.res.Configuration.ORIENTATION_LANDSCAPE; import static android.content.res.Configuration.ORIENTATION_PORTRAIT; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.MIN_ASPECT_RATIO; import static com.android.server.wm.AppCompatConfiguration.DEFAULT_LETTERBOX_ASPECT_RATIO_FOR_MULTI_WINDOW; import static com.android.server.wm.AppCompatConfiguration.MIN_FIXED_ORIENTATION_LETTERBOX_ASPECT_RATIO; Loading @@ -36,6 +37,7 @@ import android.app.WindowConfiguration; import android.content.pm.ActivityInfo; import android.content.res.Configuration; import android.graphics.Rect; import android.util.proto.ProtoOutputStream; import android.window.DesktopModeFlags; /** Loading Loading @@ -415,6 +417,10 @@ class AppCompatAspectRatioPolicy { return mActivityRecord.mAppCompatController.getAspectRatioOverrides(); } public void dumpDebug(@NonNull ProtoOutputStream proto) { proto.write(MIN_ASPECT_RATIO, getMinAspectRatio()); } private static class AppCompatAspectRatioState { // Whether the aspect ratio restrictions applied to the activity bounds // in applyAspectRatio(). Loading
services/core/java/com/android/server/wm/AppCompatCameraOverrides.java +15 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,10 @@ import static android.content.pm.ActivityInfo.OVERRIDE_CAMERA_COMPAT_ENABLE_FREE import static android.content.pm.ActivityInfo.OVERRIDE_CAMERA_COMPAT_ENABLE_REFRESH_VIA_PAUSE; import static android.content.pm.ActivityInfo.OVERRIDE_MIN_ASPECT_RATIO_ONLY_FOR_CAMERA; import static android.content.pm.ActivityInfo.OVERRIDE_ORIENTATION_ONLY_FOR_CAMERA; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.SHOULD_ALLOW_SIMULATE_REQUESTED_ORIENTATION_FOR_CAMERA_COMPAT; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.SHOULD_FORCE_ROTATE_FOR_CAMERA_COMPAT; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.SHOULD_REFRESH_ACTIVITY_FOR_CAMERA_COMPAT; import static android.internal.perfetto.protos.Windowmanagerservice.ActivityRecordProto.SHOULD_REFRESH_ACTIVITY_VIA_PAUSE_FOR_CAMERA_COMPAT; import static android.view.WindowManager.PROPERTY_CAMERA_COMPAT_ALLOW_FORCE_ROTATION; import static android.view.WindowManager.PROPERTY_CAMERA_COMPAT_ALLOW_SIMULATE_REQUESTED_ORIENTATION; import static android.view.WindowManager.PROPERTY_CAMERA_COMPAT_ALLOW_REFRESH; Loading @@ -35,6 +39,7 @@ import static com.android.server.wm.AppCompatUtils.isChangeEnabled; import android.annotation.NonNull; import android.annotation.Nullable; import android.util.proto.ProtoOutputStream; import android.window.DesktopModeFlags; import com.android.server.wm.utils.OptPropFactory; Loading Loading @@ -242,6 +247,16 @@ class AppCompatCameraOverrides { && !mActivityRecord.shouldCreateAppCompatDisplayInsets(); } public void dumpDebug(@NonNull ProtoOutputStream proto) { proto.write(SHOULD_FORCE_ROTATE_FOR_CAMERA_COMPAT, shouldForceRotateForCameraCompat()); proto.write(SHOULD_REFRESH_ACTIVITY_FOR_CAMERA_COMPAT, shouldRefreshActivityForCameraCompat()); proto.write(SHOULD_REFRESH_ACTIVITY_VIA_PAUSE_FOR_CAMERA_COMPAT, shouldRefreshActivityViaPauseForCameraCompat()); proto.write(SHOULD_ALLOW_SIMULATE_REQUESTED_ORIENTATION_FOR_CAMERA_COMPAT, shouldApplyFreeformTreatmentForCameraCompat()); } static class AppCompatCameraOverridesState { // Whether activity "refresh" was requested but not finished in // ActivityRecord#activityResumedLocked following the camera compat force rotation in Loading
services/core/java/com/android/server/wm/AppCompatController.java +12 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.server.wm; import android.annotation.NonNull; import android.content.pm.PackageManager; import android.util.proto.ProtoOutputStream; import com.android.server.wm.utils.OptPropFactory; Loading Loading @@ -174,4 +175,15 @@ class AppCompatController { getDisplayCompatModePolicy().dump(pw, prefix); getSafeRegionPolicy().dump(pw, prefix); } void dumpDebug(@NonNull ProtoOutputStream proto) { getSizeCompatModePolicy().dumpDebug(proto); getAspectRatioPolicy().dumpDebug(proto); getAspectRatioOverrides().dumpDebug(proto); getSafeRegionPolicy().dumpDebug(proto); getFocusOverrides().dumpDebug(proto); getCameraOverrides().dumpDebug(proto); getOrientationOverrides().dumpDebug(proto); getResizeOverrides().dumpDebug(proto); } }