diff --git a/core/java/android/content/res/CompatibilityInfo.java b/core/java/android/content/res/CompatibilityInfo.java index d0ba590159f43..c33c4d688ccd5 100644 --- a/core/java/android/content/res/CompatibilityInfo.java +++ b/core/java/android/content/res/CompatibilityInfo.java @@ -140,10 +140,16 @@ public class CompatibilityInfo { appFlags = appInfo.flags; if ((appInfo.flags & ApplicationInfo.FLAG_SUPPORTS_LARGE_SCREENS) != 0) { - mCompatibilityFlags |= LARGE_SCREENS | CONFIGURED_LARGE_SCREENS; + // Saying you support large screens also implies you support xlarge + // screens; there is no compatibility mode for a large app on an + // xlarge screen. + mCompatibilityFlags |= LARGE_SCREENS | CONFIGURED_LARGE_SCREENS + | XLARGE_SCREENS | CONFIGURED_XLARGE_SCREENS + | EXPANDABLE | CONFIGURED_EXPANDABLE; } if ((appInfo.flags & ApplicationInfo.FLAG_SUPPORTS_XLARGE_SCREENS) != 0) { - mCompatibilityFlags |= XLARGE_SCREENS | CONFIGURED_XLARGE_SCREENS; + mCompatibilityFlags |= XLARGE_SCREENS | CONFIGURED_XLARGE_SCREENS + | EXPANDABLE | CONFIGURED_EXPANDABLE; } if ((appInfo.flags & ApplicationInfo.FLAG_RESIZEABLE_FOR_SCREENS) != 0) { mCompatibilityFlags |= EXPANDABLE | CONFIGURED_EXPANDABLE;