diff options
author | Dianne Hackborn <hackbod@google.com> | 2011-01-31 12:34:56 -0800 |
---|---|---|
committer | Dianne Hackborn <hackbod@google.com> | 2011-01-31 12:34:56 -0800 |
commit | 2bfa2ea1ecc538bef44ff2a7da1e2db149fd9970 (patch) | |
tree | 34dca056acda70e05e63dfaf8c0e446887914797 /core | |
parent | cb9d4d28be41c72a8c6f254bf8fdaac5f41e0b6f (diff) | |
download | frameworks_base-2bfa2ea1ecc538bef44ff2a7da1e2db149fd9970.zip frameworks_base-2bfa2ea1ecc538bef44ff2a7da1e2db149fd9970.tar.gz frameworks_base-2bfa2ea1ecc538bef44ff2a7da1e2db149fd9970.tar.bz2 |
Fix issue #3408542: "resizeable" attribute required to get out of compat mode
The "resizeable" attribute of supports-screens was never well documented,
so many apps don't set it. Assuming that if they are explicitly saying
they support large or xlarge screens then they are also implying that they
are resizeable.
Change-Id: Iaa1ad431c9868254af7581499477bff98ed109e5
Diffstat (limited to 'core')
-rw-r--r-- | core/java/android/content/res/CompatibilityInfo.java | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/core/java/android/content/res/CompatibilityInfo.java b/core/java/android/content/res/CompatibilityInfo.java index 6baf1c2..e403ac2 100644 --- a/core/java/android/content/res/CompatibilityInfo.java +++ b/core/java/android/content/res/CompatibilityInfo.java @@ -141,10 +141,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; |