diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index e643240932f1e..f27535c65fe49 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -5702,6 +5702,9 @@
TODO(b/255532890) Enable when ignoreOrientationRequest is set -->
false
+
+ false
+
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index 11f50dfdf84b8..2e5da33537526 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -4430,9 +4430,6 @@
-
-
-
@@ -4528,6 +4525,12 @@
+
+
+
+
+
+
diff --git a/services/core/java/com/android/server/wm/LetterboxConfiguration.java b/services/core/java/com/android/server/wm/LetterboxConfiguration.java
index 09cd6a5aa688d..fd4d0405e2985 100644
--- a/services/core/java/com/android/server/wm/LetterboxConfiguration.java
+++ b/services/core/java/com/android/server/wm/LetterboxConfiguration.java
@@ -78,6 +78,13 @@ final class LetterboxConfiguration {
private static final boolean DEFAULT_VALUE_ENABLE_LETTERBOX_TRANSLUCENT_ACTIVITY = true;
+ // Whether per-app user aspect ratio override settings is enabled
+ private static final String KEY_ENABLE_USER_ASPECT_RATIO_SETTINGS =
+ "enable_app_compat_user_aspect_ratio_settings";
+
+ // TODO(b/288142656): Enable user aspect ratio settings by default.
+ private static final boolean DEFAULT_VALUE_ENABLE_USER_ASPECT_RATIO_SETTINGS = false;
+
/**
* Override of aspect ratio for fixed orientation letterboxing that is set via ADB with
* set-fixed-orientation-letterbox-aspect-ratio or via {@link
@@ -345,6 +352,10 @@ final class LetterboxConfiguration {
DEFAULT_VALUE_ENABLE_LETTERBOX_TRANSLUCENT_ACTIVITY,
mContext.getResources().getBoolean(
R.bool.config_letterboxIsEnabledForTranslucentActivities))
+ .addDeviceConfigEntry(KEY_ENABLE_USER_ASPECT_RATIO_SETTINGS,
+ DEFAULT_VALUE_ENABLE_USER_ASPECT_RATIO_SETTINGS,
+ mContext.getResources().getBoolean(
+ R.bool.config_appCompatUserAppAspectRatioSettingsIsEnabled))
.build();
}
@@ -1207,4 +1218,11 @@ final class LetterboxConfiguration {
boolean isDisplayRotationImmersiveAppCompatPolicyEnabled() {
return mDeviceConfig.getFlagValue(KEY_ENABLE_DISPLAY_ROTATION_IMMERSIVE_APP_COMPAT_POLICY);
}
+
+ /**
+ * Whether per-app user aspect ratio override settings is enabled
+ */
+ boolean isUserAppAspectRatioSettingsEnabled() {
+ return mDeviceConfig.getFlagValue(KEY_ENABLE_USER_ASPECT_RATIO_SETTINGS);
+ }
}