Loading core/java/android/content/pm/ApplicationInfo.java +16 −6 Original line number Diff line number Diff line Loading @@ -523,12 +523,21 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { public static final int PRIVATE_FLAG_REQUIRED_FOR_SYSTEM_USER = 1 << 9; /** * When set, the application explicitly requested that its activities by resizeable by default. * When set, the application explicitly requested that its activities be resizeable by default. * @see android.R.styleable#AndroidManifestActivity_resizeableActivity * * @hide */ public static final int PRIVATE_FLAG_RESIZEABLE_ACTIVITIES_EXPLICITLY_SET = 1 << 10; public static final int PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE = 1 << 10; /** * When set, the application explicitly requested that its activities *not* be resizeable by * default. * @see android.R.styleable#AndroidManifestActivity_resizeableActivity * * @hide */ public static final int PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_UNRESIZEABLE = 1 << 11; /** * The application isn't requesting explicitly requesting for its activities to be resizeable or Loading @@ -542,7 +551,8 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { * * @hide */ public static final int PRIVATE_FLAG_RESIZEABLE_ACTIVITIES_VIA_SDK_VERSION = 1 << 11; public static final int PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION = 1 << 12; /** * Value for {@link #privateFlags}: {@code true} means the OS should go ahead and Loading @@ -550,14 +560,14 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { * foreground-equivalent run state. Defaults to {@code false} if unspecified. * @hide */ public static final int PRIVATE_FLAG_BACKUP_IN_FOREGROUND = 1 << 12; public static final int PRIVATE_FLAG_BACKUP_IN_FOREGROUND = 1 << 13; /** * Value for {@link #privateFlags}: {@code true} means this application * contains a static shared library. Defaults to {@code false} if unspecified. * @hide */ public static final int PRIVATE_FLAG_STATIC_SHARED_LIBRARY = 1 << 13; public static final int PRIVATE_FLAG_STATIC_SHARED_LIBRARY = 1 << 14; /** * Value for {@linl #privateFlags}: When set, the application will only have its splits loaded Loading @@ -565,7 +575,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { * {@link Context#createContextForSplit(String)} API. * @hide */ public static final int PRIVATE_FLAG_ISOLATED_SPLIT_LOADING = 1 << 14; public static final int PRIVATE_FLAG_ISOLATED_SPLIT_LOADING = 1 << 15; /** * Private/hidden flags. See {@code PRIVATE_FLAG_...} constants. Loading core/java/android/content/pm/PackageParser.java +13 −7 Original line number Diff line number Diff line Loading @@ -27,8 +27,9 @@ import static android.content.pm.ActivityInfo.RESIZE_MODE_RESIZEABLE_VIA_SDK_VER import static android.content.pm.ActivityInfo.RESIZE_MODE_UNRESIZEABLE; import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED; import static android.content.pm.ApplicationInfo.FLAG_SUSPENDED; import static android.content.pm.ApplicationInfo.PRIVATE_FLAG_RESIZEABLE_ACTIVITIES_EXPLICITLY_SET; import static android.content.pm.ApplicationInfo.PRIVATE_FLAG_RESIZEABLE_ACTIVITIES_VIA_SDK_VERSION; import static android.content.pm.ApplicationInfo.PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_UNRESIZEABLE; import static android.content.pm.ApplicationInfo.PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE; import static android.content.pm.ApplicationInfo.PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION; import static android.content.pm.PackageManager.INSTALL_PARSE_FAILED_BAD_MANIFEST; import static android.content.pm.PackageManager.INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME; import static android.content.pm.PackageManager.INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING; Loading Loading @@ -3462,10 +3463,12 @@ public class PackageParser { if (sa.hasValueOrEmpty(R.styleable.AndroidManifestApplication_resizeableActivity)) { if (sa.getBoolean(R.styleable.AndroidManifestApplication_resizeableActivity, true)) { ai.privateFlags |= PRIVATE_FLAG_RESIZEABLE_ACTIVITIES_EXPLICITLY_SET; ai.privateFlags |= PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE; } else { ai.privateFlags |= PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_UNRESIZEABLE; } } else if (owner.applicationInfo.targetSdkVersion >= Build.VERSION_CODES.N) { ai.privateFlags |= PRIVATE_FLAG_RESIZEABLE_ACTIVITIES_VIA_SDK_VERSION; ai.privateFlags |= PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION; } ai.maxAspectRatio = sa.getFloat(R.styleable.AndroidManifestApplication_maxAspectRatio, 0); Loading Loading @@ -4348,13 +4351,16 @@ public class PackageParser { private void setActivityResizeMode(ActivityInfo aInfo, TypedArray sa, Package owner) { final boolean appExplicitDefault = (owner.applicationInfo.privateFlags & PRIVATE_FLAG_RESIZEABLE_ACTIVITIES_EXPLICITLY_SET) != 0; & (PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE | PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_UNRESIZEABLE)) != 0; if (sa.hasValue(R.styleable.AndroidManifestActivity_resizeableActivity) || appExplicitDefault) { // Activity or app explicitly set if it is resizeable or not; final boolean appResizeable = (owner.applicationInfo.privateFlags & PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE) != 0; if (sa.getBoolean(R.styleable.AndroidManifestActivity_resizeableActivity, appExplicitDefault)) { appResizeable)) { aInfo.resizeMode = RESIZE_MODE_RESIZEABLE; } else { aInfo.resizeMode = RESIZE_MODE_UNRESIZEABLE; Loading @@ -4363,7 +4369,7 @@ public class PackageParser { } if ((owner.applicationInfo.privateFlags & PRIVATE_FLAG_RESIZEABLE_ACTIVITIES_VIA_SDK_VERSION) != 0) { & PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION) != 0) { // The activity or app didn't explicitly set the resizing option, however we want to // make it resize due to the sdk version it is targeting. aInfo.resizeMode = RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION; Loading services/core/java/com/android/server/pm/Settings.java +3 −2 Original line number Diff line number Diff line Loading @@ -4452,8 +4452,9 @@ final class Settings { ApplicationInfo.PRIVATE_FLAG_PARTIALLY_DIRECT_BOOT_AWARE, "PARTIALLY_DIRECT_BOOT_AWARE", ApplicationInfo.PRIVATE_FLAG_INSTANT, "EPHEMERAL", ApplicationInfo.PRIVATE_FLAG_REQUIRED_FOR_SYSTEM_USER, "REQUIRED_FOR_SYSTEM_USER", ApplicationInfo.PRIVATE_FLAG_RESIZEABLE_ACTIVITIES_EXPLICITLY_SET, "RESIZEABLE_ACTIVITIES_EXPLICITLY_SET", ApplicationInfo.PRIVATE_FLAG_RESIZEABLE_ACTIVITIES_VIA_SDK_VERSION, "RESIZEABLE_ACTIVITIES_VIA_SDK_VERSION", ApplicationInfo.PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE, "PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE", ApplicationInfo.PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_UNRESIZEABLE, "PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_UNRESIZEABLE", ApplicationInfo.PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION, "PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION", ApplicationInfo.PRIVATE_FLAG_BACKUP_IN_FOREGROUND, "BACKUP_IN_FOREGROUND", ApplicationInfo.PRIVATE_FLAG_STATIC_SHARED_LIBRARY, "STATIC_SHARED_LIBRARY", }; Loading Loading
core/java/android/content/pm/ApplicationInfo.java +16 −6 Original line number Diff line number Diff line Loading @@ -523,12 +523,21 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { public static final int PRIVATE_FLAG_REQUIRED_FOR_SYSTEM_USER = 1 << 9; /** * When set, the application explicitly requested that its activities by resizeable by default. * When set, the application explicitly requested that its activities be resizeable by default. * @see android.R.styleable#AndroidManifestActivity_resizeableActivity * * @hide */ public static final int PRIVATE_FLAG_RESIZEABLE_ACTIVITIES_EXPLICITLY_SET = 1 << 10; public static final int PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE = 1 << 10; /** * When set, the application explicitly requested that its activities *not* be resizeable by * default. * @see android.R.styleable#AndroidManifestActivity_resizeableActivity * * @hide */ public static final int PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_UNRESIZEABLE = 1 << 11; /** * The application isn't requesting explicitly requesting for its activities to be resizeable or Loading @@ -542,7 +551,8 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { * * @hide */ public static final int PRIVATE_FLAG_RESIZEABLE_ACTIVITIES_VIA_SDK_VERSION = 1 << 11; public static final int PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION = 1 << 12; /** * Value for {@link #privateFlags}: {@code true} means the OS should go ahead and Loading @@ -550,14 +560,14 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { * foreground-equivalent run state. Defaults to {@code false} if unspecified. * @hide */ public static final int PRIVATE_FLAG_BACKUP_IN_FOREGROUND = 1 << 12; public static final int PRIVATE_FLAG_BACKUP_IN_FOREGROUND = 1 << 13; /** * Value for {@link #privateFlags}: {@code true} means this application * contains a static shared library. Defaults to {@code false} if unspecified. * @hide */ public static final int PRIVATE_FLAG_STATIC_SHARED_LIBRARY = 1 << 13; public static final int PRIVATE_FLAG_STATIC_SHARED_LIBRARY = 1 << 14; /** * Value for {@linl #privateFlags}: When set, the application will only have its splits loaded Loading @@ -565,7 +575,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { * {@link Context#createContextForSplit(String)} API. * @hide */ public static final int PRIVATE_FLAG_ISOLATED_SPLIT_LOADING = 1 << 14; public static final int PRIVATE_FLAG_ISOLATED_SPLIT_LOADING = 1 << 15; /** * Private/hidden flags. See {@code PRIVATE_FLAG_...} constants. Loading
core/java/android/content/pm/PackageParser.java +13 −7 Original line number Diff line number Diff line Loading @@ -27,8 +27,9 @@ import static android.content.pm.ActivityInfo.RESIZE_MODE_RESIZEABLE_VIA_SDK_VER import static android.content.pm.ActivityInfo.RESIZE_MODE_UNRESIZEABLE; import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED; import static android.content.pm.ApplicationInfo.FLAG_SUSPENDED; import static android.content.pm.ApplicationInfo.PRIVATE_FLAG_RESIZEABLE_ACTIVITIES_EXPLICITLY_SET; import static android.content.pm.ApplicationInfo.PRIVATE_FLAG_RESIZEABLE_ACTIVITIES_VIA_SDK_VERSION; import static android.content.pm.ApplicationInfo.PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_UNRESIZEABLE; import static android.content.pm.ApplicationInfo.PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE; import static android.content.pm.ApplicationInfo.PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION; import static android.content.pm.PackageManager.INSTALL_PARSE_FAILED_BAD_MANIFEST; import static android.content.pm.PackageManager.INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME; import static android.content.pm.PackageManager.INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING; Loading Loading @@ -3462,10 +3463,12 @@ public class PackageParser { if (sa.hasValueOrEmpty(R.styleable.AndroidManifestApplication_resizeableActivity)) { if (sa.getBoolean(R.styleable.AndroidManifestApplication_resizeableActivity, true)) { ai.privateFlags |= PRIVATE_FLAG_RESIZEABLE_ACTIVITIES_EXPLICITLY_SET; ai.privateFlags |= PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE; } else { ai.privateFlags |= PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_UNRESIZEABLE; } } else if (owner.applicationInfo.targetSdkVersion >= Build.VERSION_CODES.N) { ai.privateFlags |= PRIVATE_FLAG_RESIZEABLE_ACTIVITIES_VIA_SDK_VERSION; ai.privateFlags |= PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION; } ai.maxAspectRatio = sa.getFloat(R.styleable.AndroidManifestApplication_maxAspectRatio, 0); Loading Loading @@ -4348,13 +4351,16 @@ public class PackageParser { private void setActivityResizeMode(ActivityInfo aInfo, TypedArray sa, Package owner) { final boolean appExplicitDefault = (owner.applicationInfo.privateFlags & PRIVATE_FLAG_RESIZEABLE_ACTIVITIES_EXPLICITLY_SET) != 0; & (PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE | PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_UNRESIZEABLE)) != 0; if (sa.hasValue(R.styleable.AndroidManifestActivity_resizeableActivity) || appExplicitDefault) { // Activity or app explicitly set if it is resizeable or not; final boolean appResizeable = (owner.applicationInfo.privateFlags & PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE) != 0; if (sa.getBoolean(R.styleable.AndroidManifestActivity_resizeableActivity, appExplicitDefault)) { appResizeable)) { aInfo.resizeMode = RESIZE_MODE_RESIZEABLE; } else { aInfo.resizeMode = RESIZE_MODE_UNRESIZEABLE; Loading @@ -4363,7 +4369,7 @@ public class PackageParser { } if ((owner.applicationInfo.privateFlags & PRIVATE_FLAG_RESIZEABLE_ACTIVITIES_VIA_SDK_VERSION) != 0) { & PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION) != 0) { // The activity or app didn't explicitly set the resizing option, however we want to // make it resize due to the sdk version it is targeting. aInfo.resizeMode = RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION; Loading
services/core/java/com/android/server/pm/Settings.java +3 −2 Original line number Diff line number Diff line Loading @@ -4452,8 +4452,9 @@ final class Settings { ApplicationInfo.PRIVATE_FLAG_PARTIALLY_DIRECT_BOOT_AWARE, "PARTIALLY_DIRECT_BOOT_AWARE", ApplicationInfo.PRIVATE_FLAG_INSTANT, "EPHEMERAL", ApplicationInfo.PRIVATE_FLAG_REQUIRED_FOR_SYSTEM_USER, "REQUIRED_FOR_SYSTEM_USER", ApplicationInfo.PRIVATE_FLAG_RESIZEABLE_ACTIVITIES_EXPLICITLY_SET, "RESIZEABLE_ACTIVITIES_EXPLICITLY_SET", ApplicationInfo.PRIVATE_FLAG_RESIZEABLE_ACTIVITIES_VIA_SDK_VERSION, "RESIZEABLE_ACTIVITIES_VIA_SDK_VERSION", ApplicationInfo.PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE, "PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE", ApplicationInfo.PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_UNRESIZEABLE, "PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_UNRESIZEABLE", ApplicationInfo.PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION, "PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION", ApplicationInfo.PRIVATE_FLAG_BACKUP_IN_FOREGROUND, "BACKUP_IN_FOREGROUND", ApplicationInfo.PRIVATE_FLAG_STATIC_SHARED_LIBRARY, "STATIC_SHARED_LIBRARY", }; Loading