summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@google.com>2011-01-31 12:34:56 -0800
committerDianne Hackborn <hackbod@google.com>2011-01-31 12:34:56 -0800
commit2bfa2ea1ecc538bef44ff2a7da1e2db149fd9970 (patch)
tree34dca056acda70e05e63dfaf8c0e446887914797 /core
parentcb9d4d28be41c72a8c6f254bf8fdaac5f41e0b6f (diff)
downloadframeworks_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.java10
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;