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
This commit is contained in:
Dianne Hackborn
2011-01-31 12:34:56 -08:00
parent cb9d4d28be
commit 2bfa2ea1ec

View File

@@ -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;