Loading api/current.xml +120 −33 Original line number Diff line number Diff line Loading @@ -3529,39 +3529,6 @@ visibility="public" > </field> <field name="donut_resource_pad26" type="int" transient="false" volatile="false" value="16843398" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="donut_resource_pad27" type="int" transient="false" volatile="false" value="16843397" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="donut_resource_pad28" type="int" transient="false" volatile="false" value="16843396" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="donut_resource_pad3" type="int" transient="false" Loading Loading @@ -5388,6 +5355,17 @@ visibility="public" > </field> <field name="largeScreens" type="int" transient="false" volatile="false" value="16843398" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="launchMode" type="int" transient="false" Loading Loading @@ -6268,6 +6246,17 @@ visibility="public" > </field> <field name="normalScreens" type="int" transient="false" volatile="false" value="16843397" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="numColumns" type="int" transient="false" Loading Loading @@ -7654,6 +7643,17 @@ visibility="public" > </field> <field name="smallScreens" type="int" transient="false" volatile="false" value="16843396" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="smoothScrollbar" type="int" transient="false" Loading Loading @@ -38434,6 +38434,17 @@ visibility="public" > </field> <field name="CONFIG_SCREEN_LAYOUT" type="int" transient="false" volatile="false" value="256" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="CONFIG_TOUCHSCREEN" type="int" transient="false" Loading Loading @@ -38899,6 +38910,28 @@ > </field> <field name="FLAG_SUPPORTS_LARGE_SCREENS" type="int" transient="false" volatile="false" value="2048" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="FLAG_SUPPORTS_NORMAL_SCREENS" type="int" transient="false" volatile="false" value="1024" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="FLAG_SUPPORTS_SMALL_SCREENS" type="int" transient="false" volatile="false" Loading Loading @@ -43114,6 +43147,50 @@ visibility="public" > </field> <field name="SCREENLAYOUT_LARGE" type="int" transient="false" volatile="false" value="3" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="SCREENLAYOUT_NORMAL" type="int" transient="false" volatile="false" value="2" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="SCREENLAYOUT_SMALL" type="int" transient="false" volatile="false" value="1" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="SCREENLAYOUT_UNDEFINED" type="int" transient="false" volatile="false" value="0" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="TOUCHSCREEN_FINGER" type="int" transient="false" Loading Loading @@ -43248,6 +43325,16 @@ visibility="public" > </field> <field name="screenLayout" type="int" transient="false" volatile="false" static="false" final="false" deprecated="not deprecated" visibility="public" > </field> <field name="touchscreen" type="int" transient="false" core/java/android/content/pm/ActivityInfo.java +8 −2 Original line number Diff line number Diff line Loading @@ -233,6 +233,12 @@ public class ActivityInfo extends ComponentInfo * {@link android.R.attr#configChanges} attribute. */ public static final int CONFIG_ORIENTATION = 0x0080; /** * Bit in {@link #configChanges} that indicates that the activity * can itself handle changes to the screen layout. Set from the * {@link android.R.attr#configChanges} attribute. */ public static final int CONFIG_SCREEN_LAYOUT = 0x0100; /** * Bit in {@link #configChanges} that indicates that the activity * can itself handle changes to the font scaling factor. Set from the Loading @@ -248,8 +254,8 @@ public class ActivityInfo extends ComponentInfo * Contains any combination of {@link #CONFIG_FONT_SCALE}, * {@link #CONFIG_MCC}, {@link #CONFIG_MNC}, * {@link #CONFIG_LOCALE}, {@link #CONFIG_TOUCHSCREEN}, * {@link #CONFIG_KEYBOARD}, {@link #CONFIG_NAVIGATION}, and * {@link #CONFIG_ORIENTATION}. Set from the * {@link #CONFIG_KEYBOARD}, {@link #CONFIG_NAVIGATION}, * {@link #CONFIG_ORIENTATION}, and {@link #CONFIG_SCREEN_LAYOUT}. Set from the * {@link android.R.attr#configChanges} attribute. */ public int configChanges; Loading core/java/android/content/pm/ApplicationInfo.java +24 −5 Original line number Diff line number Diff line Loading @@ -138,10 +138,27 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { /** * Value for {@link #flags}: true when the application's window can be * expanded over default window size in target density (320x480 for * 1.0 density, 480x720 for 1.5 density etc) * reduced in size for smaller screens. Corresponds to * {@link android.R.styleable#AndroidManifestSupportsScreens_smallScreens * android:smallScreens}. */ public static final int FLAG_SUPPORTS_LARGE_SCREENS = 1<<9; public static final int FLAG_SUPPORTS_SMALL_SCREENS = 1<<9; /** * Value for {@link #flags}: true when the application's window can be * displayed on normal screens. Corresponds to * {@link android.R.styleable#AndroidManifestSupportsScreens_normalScreens * android:normalScreens}. */ public static final int FLAG_SUPPORTS_NORMAL_SCREENS = 1<<10; /** * Value for {@link #flags}: true when the application's window can be * increased in size for larger screens. Corresponds to * {@link android.R.styleable#AndroidManifestSupportsScreens_largeScreens * android:smallScreens}. */ public static final int FLAG_SUPPORTS_LARGE_SCREENS = 1<<11; /** * Value for {@link #flags}: this is false if the application has set Loading @@ -149,7 +166,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { * * {@hide} */ public static final int FLAG_ALLOW_BACKUP = 1<<10; public static final int FLAG_ALLOW_BACKUP = 1<<12; /** * Indicates that the application supports any densities; Loading @@ -164,7 +181,9 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { * {@link #FLAG_PERSISTENT}, {@link #FLAG_FACTORY_TEST}, and * {@link #FLAG_ALLOW_TASK_REPARENTING} * {@link #FLAG_ALLOW_CLEAR_USER_DATA}, {@link #FLAG_UPDATED_SYSTEM_APP}, * {@link #FLAG_TEST_ONLY}. * {@link #FLAG_TEST_ONLY}, {@link #FLAG_SUPPORTS_SMALL_SCREENS}, * {@link #FLAG_SUPPORTS_NORMAL_SCREENS}, * {@link #FLAG_SUPPORTS_LARGE_SCREENS}. */ public int flags = 0; Loading core/java/android/content/pm/PackageParser.java +37 −3 Original line number Diff line number Diff line Loading @@ -668,6 +668,11 @@ public class PackageParser { } sa.recycle(); // Resource boolean are -1, so 1 means we don't know the value. int supportsSmallScreens = 1; int supportsNormalScreens = 1; int supportsLargeScreens = 1; int outerDepth = parser.getDepth(); while ((type=parser.next()) != parser.END_DOCUMENT && (type != parser.END_TAG || parser.getDepth() > outerDepth)) { Loading Loading @@ -876,8 +881,24 @@ public class PackageParser { XmlUtils.skipCurrentTag(parser); } else if (tagName.equals("expandable")) { pkg.applicationInfo.flags |= ApplicationInfo.FLAG_SUPPORTS_LARGE_SCREENS; } else if (tagName.equals("supports-screens")) { sa = res.obtainAttributes(attrs, com.android.internal.R.styleable.AndroidManifestSupportsScreens); // This is a trick to get a boolean and still able to detect // if a value was actually set. supportsSmallScreens = sa.getInteger( com.android.internal.R.styleable.AndroidManifestSupportsScreens_smallScreens, supportsSmallScreens); supportsNormalScreens = sa.getInteger( com.android.internal.R.styleable.AndroidManifestSupportsScreens_normalScreens, supportsNormalScreens); supportsLargeScreens = sa.getInteger( com.android.internal.R.styleable.AndroidManifestSupportsScreens_largeScreens, supportsLargeScreens); sa.recycle(); XmlUtils.skipCurrentTag(parser); } else { Log.w(TAG, "Bad element under <manifest>: " Loading Loading @@ -910,7 +931,20 @@ public class PackageParser { pkg.usesLibraryFiles = new String[pkg.usesLibraries.size()]; pkg.usesLibraries.toArray(pkg.usesLibraryFiles); } // TODO: enable all density & expandable if target sdk is higher than donut if (supportsSmallScreens < 0 || (supportsSmallScreens > 0 && pkg.applicationInfo.targetSdkVersion >= android.os.Build.VERSION_CODES.CUR_DEVELOPMENT)) { pkg.applicationInfo.flags |= ApplicationInfo.FLAG_SUPPORTS_SMALL_SCREENS; } if (supportsNormalScreens != 0) { pkg.applicationInfo.flags |= ApplicationInfo.FLAG_SUPPORTS_NORMAL_SCREENS; } if (supportsLargeScreens < 0 || (supportsLargeScreens > 0 && pkg.applicationInfo.targetSdkVersion >= android.os.Build.VERSION_CODES.CUR_DEVELOPMENT)) { pkg.applicationInfo.flags |= ApplicationInfo.FLAG_SUPPORTS_LARGE_SCREENS; } int size = pkg.supportsDensityList.size(); if (size > 0) { Loading core/java/android/content/res/AssetManager.java +1 −1 Original line number Diff line number Diff line Loading @@ -601,7 +601,7 @@ public final class AssetManager { public native final void setConfiguration(int mcc, int mnc, String locale, int orientation, int touchscreen, int density, int keyboard, int keyboardHidden, int navigation, int screenWidth, int screenHeight, int majorVersion); int screenLayout, int majorVersion); /** * Retrieve the resource identifier for the given resource name. Loading Loading
api/current.xml +120 −33 Original line number Diff line number Diff line Loading @@ -3529,39 +3529,6 @@ visibility="public" > </field> <field name="donut_resource_pad26" type="int" transient="false" volatile="false" value="16843398" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="donut_resource_pad27" type="int" transient="false" volatile="false" value="16843397" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="donut_resource_pad28" type="int" transient="false" volatile="false" value="16843396" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="donut_resource_pad3" type="int" transient="false" Loading Loading @@ -5388,6 +5355,17 @@ visibility="public" > </field> <field name="largeScreens" type="int" transient="false" volatile="false" value="16843398" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="launchMode" type="int" transient="false" Loading Loading @@ -6268,6 +6246,17 @@ visibility="public" > </field> <field name="normalScreens" type="int" transient="false" volatile="false" value="16843397" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="numColumns" type="int" transient="false" Loading Loading @@ -7654,6 +7643,17 @@ visibility="public" > </field> <field name="smallScreens" type="int" transient="false" volatile="false" value="16843396" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="smoothScrollbar" type="int" transient="false" Loading Loading @@ -38434,6 +38434,17 @@ visibility="public" > </field> <field name="CONFIG_SCREEN_LAYOUT" type="int" transient="false" volatile="false" value="256" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="CONFIG_TOUCHSCREEN" type="int" transient="false" Loading Loading @@ -38899,6 +38910,28 @@ > </field> <field name="FLAG_SUPPORTS_LARGE_SCREENS" type="int" transient="false" volatile="false" value="2048" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="FLAG_SUPPORTS_NORMAL_SCREENS" type="int" transient="false" volatile="false" value="1024" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="FLAG_SUPPORTS_SMALL_SCREENS" type="int" transient="false" volatile="false" Loading Loading @@ -43114,6 +43147,50 @@ visibility="public" > </field> <field name="SCREENLAYOUT_LARGE" type="int" transient="false" volatile="false" value="3" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="SCREENLAYOUT_NORMAL" type="int" transient="false" volatile="false" value="2" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="SCREENLAYOUT_SMALL" type="int" transient="false" volatile="false" value="1" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="SCREENLAYOUT_UNDEFINED" type="int" transient="false" volatile="false" value="0" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="TOUCHSCREEN_FINGER" type="int" transient="false" Loading Loading @@ -43248,6 +43325,16 @@ visibility="public" > </field> <field name="screenLayout" type="int" transient="false" volatile="false" static="false" final="false" deprecated="not deprecated" visibility="public" > </field> <field name="touchscreen" type="int" transient="false"
core/java/android/content/pm/ActivityInfo.java +8 −2 Original line number Diff line number Diff line Loading @@ -233,6 +233,12 @@ public class ActivityInfo extends ComponentInfo * {@link android.R.attr#configChanges} attribute. */ public static final int CONFIG_ORIENTATION = 0x0080; /** * Bit in {@link #configChanges} that indicates that the activity * can itself handle changes to the screen layout. Set from the * {@link android.R.attr#configChanges} attribute. */ public static final int CONFIG_SCREEN_LAYOUT = 0x0100; /** * Bit in {@link #configChanges} that indicates that the activity * can itself handle changes to the font scaling factor. Set from the Loading @@ -248,8 +254,8 @@ public class ActivityInfo extends ComponentInfo * Contains any combination of {@link #CONFIG_FONT_SCALE}, * {@link #CONFIG_MCC}, {@link #CONFIG_MNC}, * {@link #CONFIG_LOCALE}, {@link #CONFIG_TOUCHSCREEN}, * {@link #CONFIG_KEYBOARD}, {@link #CONFIG_NAVIGATION}, and * {@link #CONFIG_ORIENTATION}. Set from the * {@link #CONFIG_KEYBOARD}, {@link #CONFIG_NAVIGATION}, * {@link #CONFIG_ORIENTATION}, and {@link #CONFIG_SCREEN_LAYOUT}. Set from the * {@link android.R.attr#configChanges} attribute. */ public int configChanges; Loading
core/java/android/content/pm/ApplicationInfo.java +24 −5 Original line number Diff line number Diff line Loading @@ -138,10 +138,27 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { /** * Value for {@link #flags}: true when the application's window can be * expanded over default window size in target density (320x480 for * 1.0 density, 480x720 for 1.5 density etc) * reduced in size for smaller screens. Corresponds to * {@link android.R.styleable#AndroidManifestSupportsScreens_smallScreens * android:smallScreens}. */ public static final int FLAG_SUPPORTS_LARGE_SCREENS = 1<<9; public static final int FLAG_SUPPORTS_SMALL_SCREENS = 1<<9; /** * Value for {@link #flags}: true when the application's window can be * displayed on normal screens. Corresponds to * {@link android.R.styleable#AndroidManifestSupportsScreens_normalScreens * android:normalScreens}. */ public static final int FLAG_SUPPORTS_NORMAL_SCREENS = 1<<10; /** * Value for {@link #flags}: true when the application's window can be * increased in size for larger screens. Corresponds to * {@link android.R.styleable#AndroidManifestSupportsScreens_largeScreens * android:smallScreens}. */ public static final int FLAG_SUPPORTS_LARGE_SCREENS = 1<<11; /** * Value for {@link #flags}: this is false if the application has set Loading @@ -149,7 +166,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { * * {@hide} */ public static final int FLAG_ALLOW_BACKUP = 1<<10; public static final int FLAG_ALLOW_BACKUP = 1<<12; /** * Indicates that the application supports any densities; Loading @@ -164,7 +181,9 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { * {@link #FLAG_PERSISTENT}, {@link #FLAG_FACTORY_TEST}, and * {@link #FLAG_ALLOW_TASK_REPARENTING} * {@link #FLAG_ALLOW_CLEAR_USER_DATA}, {@link #FLAG_UPDATED_SYSTEM_APP}, * {@link #FLAG_TEST_ONLY}. * {@link #FLAG_TEST_ONLY}, {@link #FLAG_SUPPORTS_SMALL_SCREENS}, * {@link #FLAG_SUPPORTS_NORMAL_SCREENS}, * {@link #FLAG_SUPPORTS_LARGE_SCREENS}. */ public int flags = 0; Loading
core/java/android/content/pm/PackageParser.java +37 −3 Original line number Diff line number Diff line Loading @@ -668,6 +668,11 @@ public class PackageParser { } sa.recycle(); // Resource boolean are -1, so 1 means we don't know the value. int supportsSmallScreens = 1; int supportsNormalScreens = 1; int supportsLargeScreens = 1; int outerDepth = parser.getDepth(); while ((type=parser.next()) != parser.END_DOCUMENT && (type != parser.END_TAG || parser.getDepth() > outerDepth)) { Loading Loading @@ -876,8 +881,24 @@ public class PackageParser { XmlUtils.skipCurrentTag(parser); } else if (tagName.equals("expandable")) { pkg.applicationInfo.flags |= ApplicationInfo.FLAG_SUPPORTS_LARGE_SCREENS; } else if (tagName.equals("supports-screens")) { sa = res.obtainAttributes(attrs, com.android.internal.R.styleable.AndroidManifestSupportsScreens); // This is a trick to get a boolean and still able to detect // if a value was actually set. supportsSmallScreens = sa.getInteger( com.android.internal.R.styleable.AndroidManifestSupportsScreens_smallScreens, supportsSmallScreens); supportsNormalScreens = sa.getInteger( com.android.internal.R.styleable.AndroidManifestSupportsScreens_normalScreens, supportsNormalScreens); supportsLargeScreens = sa.getInteger( com.android.internal.R.styleable.AndroidManifestSupportsScreens_largeScreens, supportsLargeScreens); sa.recycle(); XmlUtils.skipCurrentTag(parser); } else { Log.w(TAG, "Bad element under <manifest>: " Loading Loading @@ -910,7 +931,20 @@ public class PackageParser { pkg.usesLibraryFiles = new String[pkg.usesLibraries.size()]; pkg.usesLibraries.toArray(pkg.usesLibraryFiles); } // TODO: enable all density & expandable if target sdk is higher than donut if (supportsSmallScreens < 0 || (supportsSmallScreens > 0 && pkg.applicationInfo.targetSdkVersion >= android.os.Build.VERSION_CODES.CUR_DEVELOPMENT)) { pkg.applicationInfo.flags |= ApplicationInfo.FLAG_SUPPORTS_SMALL_SCREENS; } if (supportsNormalScreens != 0) { pkg.applicationInfo.flags |= ApplicationInfo.FLAG_SUPPORTS_NORMAL_SCREENS; } if (supportsLargeScreens < 0 || (supportsLargeScreens > 0 && pkg.applicationInfo.targetSdkVersion >= android.os.Build.VERSION_CODES.CUR_DEVELOPMENT)) { pkg.applicationInfo.flags |= ApplicationInfo.FLAG_SUPPORTS_LARGE_SCREENS; } int size = pkg.supportsDensityList.size(); if (size > 0) { Loading
core/java/android/content/res/AssetManager.java +1 −1 Original line number Diff line number Diff line Loading @@ -601,7 +601,7 @@ public final class AssetManager { public native final void setConfiguration(int mcc, int mnc, String locale, int orientation, int touchscreen, int density, int keyboard, int keyboardHidden, int navigation, int screenWidth, int screenHeight, int majorVersion); int screenLayout, int majorVersion); /** * Retrieve the resource identifier for the given resource name. Loading