Loading core/java/android/content/pm/ActivityInfo.java +13 −0 Original line number Diff line number Diff line Loading @@ -244,6 +244,13 @@ public class ActivityInfo extends ComponentInfo implements Parcelable { */ public float minAspectRatio; /** * Indicates that the activity works well with size changes like display changing size. * * @hide */ public boolean supportsSizeChanges; /** * Name of the VrListenerService component to run for this activity. * @see android.R.attr#enableVrMode Loading Loading @@ -1013,6 +1020,7 @@ public class ActivityInfo extends ComponentInfo implements Parcelable { colorMode = orig.colorMode; maxAspectRatio = orig.maxAspectRatio; minAspectRatio = orig.minAspectRatio; supportsSizeChanges = orig.supportsSizeChanges; } /** Loading Loading @@ -1188,6 +1196,9 @@ public class ActivityInfo extends ComponentInfo implements Parcelable { if (minAspectRatio != 0) { pw.println(prefix + "minAspectRatio=" + minAspectRatio); } if (supportsSizeChanges) { pw.println(prefix + "supportsSizeChanges=true"); } super.dumpBack(pw, prefix, dumpFlags); } Loading Loading @@ -1232,6 +1243,7 @@ public class ActivityInfo extends ComponentInfo implements Parcelable { dest.writeInt(colorMode); dest.writeFloat(maxAspectRatio); dest.writeFloat(minAspectRatio); dest.writeBoolean(supportsSizeChanges); } /** Loading Loading @@ -1350,6 +1362,7 @@ public class ActivityInfo extends ComponentInfo implements Parcelable { colorMode = source.readInt(); maxAspectRatio = source.readFloat(); minAspectRatio = source.readFloat(); supportsSizeChanges = source.readBoolean(); } /** Loading core/java/android/content/pm/PackageParser.java +15 −0 Original line number Diff line number Diff line Loading @@ -207,6 +207,7 @@ public class PackageParser { public static final String TAG_USES_SPLIT = "uses-split"; public static final String METADATA_MAX_ASPECT_RATIO = "android.max_aspect"; public static final String METADATA_SUPPORTS_SIZE_CHANGES = "android.supports_size_changes"; public static final String METADATA_ACTIVITY_WINDOW_LAYOUT_AFFINITY = "android.activity_window_layout_affinity"; Loading Loading @@ -3897,6 +3898,7 @@ public class PackageParser { // every activity info has had a chance to set it from its attributes. setMaxAspectRatio(owner); setMinAspectRatio(owner); setSupportsSizeChanges(owner); if (hasDomainURLs(owner)) { owner.applicationInfo.privateFlags |= ApplicationInfo.PRIVATE_FLAG_HAS_DOMAIN_URLS; Loading Loading @@ -4694,6 +4696,18 @@ public class PackageParser { } } private void setSupportsSizeChanges(Package owner) { final boolean supportsSizeChanges = owner.mAppMetaData != null && owner.mAppMetaData.getBoolean(METADATA_SUPPORTS_SIZE_CHANGES, false); for (Activity activity : owner.activities) { if (supportsSizeChanges || (activity.metaData != null && activity.metaData.getBoolean(METADATA_SUPPORTS_SIZE_CHANGES, false))) { activity.info.supportsSizeChanges = true; } } } /** * @param configChanges The bit mask of configChanges fetched from AndroidManifest.xml. * @param recreateOnConfigChanges The bit mask recreateOnConfigChanges fetched from Loading Loading @@ -4863,6 +4877,7 @@ public class PackageParser { info.resizeMode = target.info.resizeMode; info.maxAspectRatio = target.info.maxAspectRatio; info.minAspectRatio = target.info.minAspectRatio; info.supportsSizeChanges = target.info.supportsSizeChanges; info.requestedVrComponent = target.info.requestedVrComponent; info.directBootAware = target.info.directBootAware; Loading core/java/android/content/pm/parsing/PackageInfoWithoutStateUtils.java +1 −0 Original line number Diff line number Diff line Loading @@ -445,6 +445,7 @@ public class PackageInfoWithoutStateUtils { ai.maxAspectRatio = maxAspectRatio != null ? maxAspectRatio : 0f; Float minAspectRatio = a.getMinAspectRatio(); ai.minAspectRatio = minAspectRatio != null ? minAspectRatio : 0f; ai.supportsSizeChanges = a.getSupportsSizeChanges(); ai.requestedVrComponent = a.getRequestedVrComponent(); ai.rotationAnimation = a.getRotationAnimation(); ai.colorMode = a.getColorMode(); Loading core/java/android/content/pm/parsing/ParsingPackageUtils.java +18 −0 Original line number Diff line number Diff line Loading @@ -1912,6 +1912,7 @@ public class ParsingPackageUtils { // every activity info has had a chance to set it from its attributes. setMaxAspectRatio(pkg); setMinAspectRatio(pkg); setSupportsSizeChanges(pkg); pkg.setHasDomainUrls(hasDomainURLs(pkg)); Loading Loading @@ -2366,6 +2367,23 @@ public class ParsingPackageUtils { } } private void setSupportsSizeChanges(ParsingPackage pkg) { final Bundle appMetaData = pkg.getMetaData(); final boolean supportsSizeChanges = appMetaData != null && appMetaData.getBoolean(PackageParser.METADATA_SUPPORTS_SIZE_CHANGES, false); List<ParsedActivity> activities = pkg.getActivities(); int activitiesSize = activities.size(); for (int index = 0; index < activitiesSize; index++) { ParsedActivity activity = activities.get(index); if (supportsSizeChanges || (activity.getMetaData() != null && activity.getMetaData().getBoolean( PackageParser.METADATA_SUPPORTS_SIZE_CHANGES, false))) { activity.setSupportsSizeChanges(true); } } } private static ParseResult<ParsingPackage> parseOverlay(ParseInput input, ParsingPackage pkg, Resources res, XmlResourceParser parser) { TypedArray sa = res.obtainAttributes(parser, R.styleable.AndroidManifestResourceOverlay); Loading core/java/android/content/pm/parsing/component/ParsedActivity.java +15 −0 Original line number Diff line number Diff line Loading @@ -73,6 +73,8 @@ public class ParsedActivity extends ParsedMainComponent { @Nullable private Float minAspectRatio; private boolean supportsSizeChanges; @Nullable String requestedVrComponent; int rotationAnimation = -1; Loading Loading @@ -101,6 +103,7 @@ public class ParsedActivity extends ParsedMainComponent { this.resizeMode = other.resizeMode; this.maxAspectRatio = other.maxAspectRatio; this.minAspectRatio = other.minAspectRatio; this.supportsSizeChanges = other.supportsSizeChanges; this.requestedVrComponent = other.requestedVrComponent; this.rotationAnimation = other.rotationAnimation; this.colorMode = other.colorMode; Loading Loading @@ -165,6 +168,7 @@ public class ParsedActivity extends ParsedMainComponent { alias.resizeMode = target.resizeMode; alias.maxAspectRatio = target.maxAspectRatio; alias.minAspectRatio = target.minAspectRatio; alias.supportsSizeChanges = target.supportsSizeChanges; alias.requestedVrComponent = target.requestedVrComponent; alias.directBootAware = target.directBootAware; alias.setProcessName(target.getProcessName()); Loading Loading @@ -217,6 +221,11 @@ public class ParsedActivity extends ParsedMainComponent { return this; } public ParsedActivity setSupportsSizeChanges(boolean supportsSizeChanges) { this.supportsSizeChanges = supportsSizeChanges; return this; } public ParsedActivity setFlags(int flags) { this.flags = flags; return this; Loading Loading @@ -279,6 +288,7 @@ public class ParsedActivity extends ParsedMainComponent { dest.writeInt(this.resizeMode); dest.writeValue(this.maxAspectRatio); dest.writeValue(this.minAspectRatio); dest.writeBoolean(this.supportsSizeChanges); dest.writeString(this.requestedVrComponent); dest.writeInt(this.rotationAnimation); dest.writeInt(this.colorMode); Loading Loading @@ -315,6 +325,7 @@ public class ParsedActivity extends ParsedMainComponent { this.resizeMode = in.readInt(); this.maxAspectRatio = (Float) in.readValue(Float.class.getClassLoader()); this.minAspectRatio = (Float) in.readValue(Float.class.getClassLoader()); this.supportsSizeChanges = in.readBoolean(); this.requestedVrComponent = in.readString(); this.rotationAnimation = in.readInt(); this.colorMode = in.readInt(); Loading Loading @@ -414,6 +425,10 @@ public class ParsedActivity extends ParsedMainComponent { return minAspectRatio; } public boolean getSupportsSizeChanges() { return supportsSizeChanges; } @Nullable public String getRequestedVrComponent() { return requestedVrComponent; Loading Loading
core/java/android/content/pm/ActivityInfo.java +13 −0 Original line number Diff line number Diff line Loading @@ -244,6 +244,13 @@ public class ActivityInfo extends ComponentInfo implements Parcelable { */ public float minAspectRatio; /** * Indicates that the activity works well with size changes like display changing size. * * @hide */ public boolean supportsSizeChanges; /** * Name of the VrListenerService component to run for this activity. * @see android.R.attr#enableVrMode Loading Loading @@ -1013,6 +1020,7 @@ public class ActivityInfo extends ComponentInfo implements Parcelable { colorMode = orig.colorMode; maxAspectRatio = orig.maxAspectRatio; minAspectRatio = orig.minAspectRatio; supportsSizeChanges = orig.supportsSizeChanges; } /** Loading Loading @@ -1188,6 +1196,9 @@ public class ActivityInfo extends ComponentInfo implements Parcelable { if (minAspectRatio != 0) { pw.println(prefix + "minAspectRatio=" + minAspectRatio); } if (supportsSizeChanges) { pw.println(prefix + "supportsSizeChanges=true"); } super.dumpBack(pw, prefix, dumpFlags); } Loading Loading @@ -1232,6 +1243,7 @@ public class ActivityInfo extends ComponentInfo implements Parcelable { dest.writeInt(colorMode); dest.writeFloat(maxAspectRatio); dest.writeFloat(minAspectRatio); dest.writeBoolean(supportsSizeChanges); } /** Loading Loading @@ -1350,6 +1362,7 @@ public class ActivityInfo extends ComponentInfo implements Parcelable { colorMode = source.readInt(); maxAspectRatio = source.readFloat(); minAspectRatio = source.readFloat(); supportsSizeChanges = source.readBoolean(); } /** Loading
core/java/android/content/pm/PackageParser.java +15 −0 Original line number Diff line number Diff line Loading @@ -207,6 +207,7 @@ public class PackageParser { public static final String TAG_USES_SPLIT = "uses-split"; public static final String METADATA_MAX_ASPECT_RATIO = "android.max_aspect"; public static final String METADATA_SUPPORTS_SIZE_CHANGES = "android.supports_size_changes"; public static final String METADATA_ACTIVITY_WINDOW_LAYOUT_AFFINITY = "android.activity_window_layout_affinity"; Loading Loading @@ -3897,6 +3898,7 @@ public class PackageParser { // every activity info has had a chance to set it from its attributes. setMaxAspectRatio(owner); setMinAspectRatio(owner); setSupportsSizeChanges(owner); if (hasDomainURLs(owner)) { owner.applicationInfo.privateFlags |= ApplicationInfo.PRIVATE_FLAG_HAS_DOMAIN_URLS; Loading Loading @@ -4694,6 +4696,18 @@ public class PackageParser { } } private void setSupportsSizeChanges(Package owner) { final boolean supportsSizeChanges = owner.mAppMetaData != null && owner.mAppMetaData.getBoolean(METADATA_SUPPORTS_SIZE_CHANGES, false); for (Activity activity : owner.activities) { if (supportsSizeChanges || (activity.metaData != null && activity.metaData.getBoolean(METADATA_SUPPORTS_SIZE_CHANGES, false))) { activity.info.supportsSizeChanges = true; } } } /** * @param configChanges The bit mask of configChanges fetched from AndroidManifest.xml. * @param recreateOnConfigChanges The bit mask recreateOnConfigChanges fetched from Loading Loading @@ -4863,6 +4877,7 @@ public class PackageParser { info.resizeMode = target.info.resizeMode; info.maxAspectRatio = target.info.maxAspectRatio; info.minAspectRatio = target.info.minAspectRatio; info.supportsSizeChanges = target.info.supportsSizeChanges; info.requestedVrComponent = target.info.requestedVrComponent; info.directBootAware = target.info.directBootAware; Loading
core/java/android/content/pm/parsing/PackageInfoWithoutStateUtils.java +1 −0 Original line number Diff line number Diff line Loading @@ -445,6 +445,7 @@ public class PackageInfoWithoutStateUtils { ai.maxAspectRatio = maxAspectRatio != null ? maxAspectRatio : 0f; Float minAspectRatio = a.getMinAspectRatio(); ai.minAspectRatio = minAspectRatio != null ? minAspectRatio : 0f; ai.supportsSizeChanges = a.getSupportsSizeChanges(); ai.requestedVrComponent = a.getRequestedVrComponent(); ai.rotationAnimation = a.getRotationAnimation(); ai.colorMode = a.getColorMode(); Loading
core/java/android/content/pm/parsing/ParsingPackageUtils.java +18 −0 Original line number Diff line number Diff line Loading @@ -1912,6 +1912,7 @@ public class ParsingPackageUtils { // every activity info has had a chance to set it from its attributes. setMaxAspectRatio(pkg); setMinAspectRatio(pkg); setSupportsSizeChanges(pkg); pkg.setHasDomainUrls(hasDomainURLs(pkg)); Loading Loading @@ -2366,6 +2367,23 @@ public class ParsingPackageUtils { } } private void setSupportsSizeChanges(ParsingPackage pkg) { final Bundle appMetaData = pkg.getMetaData(); final boolean supportsSizeChanges = appMetaData != null && appMetaData.getBoolean(PackageParser.METADATA_SUPPORTS_SIZE_CHANGES, false); List<ParsedActivity> activities = pkg.getActivities(); int activitiesSize = activities.size(); for (int index = 0; index < activitiesSize; index++) { ParsedActivity activity = activities.get(index); if (supportsSizeChanges || (activity.getMetaData() != null && activity.getMetaData().getBoolean( PackageParser.METADATA_SUPPORTS_SIZE_CHANGES, false))) { activity.setSupportsSizeChanges(true); } } } private static ParseResult<ParsingPackage> parseOverlay(ParseInput input, ParsingPackage pkg, Resources res, XmlResourceParser parser) { TypedArray sa = res.obtainAttributes(parser, R.styleable.AndroidManifestResourceOverlay); Loading
core/java/android/content/pm/parsing/component/ParsedActivity.java +15 −0 Original line number Diff line number Diff line Loading @@ -73,6 +73,8 @@ public class ParsedActivity extends ParsedMainComponent { @Nullable private Float minAspectRatio; private boolean supportsSizeChanges; @Nullable String requestedVrComponent; int rotationAnimation = -1; Loading Loading @@ -101,6 +103,7 @@ public class ParsedActivity extends ParsedMainComponent { this.resizeMode = other.resizeMode; this.maxAspectRatio = other.maxAspectRatio; this.minAspectRatio = other.minAspectRatio; this.supportsSizeChanges = other.supportsSizeChanges; this.requestedVrComponent = other.requestedVrComponent; this.rotationAnimation = other.rotationAnimation; this.colorMode = other.colorMode; Loading Loading @@ -165,6 +168,7 @@ public class ParsedActivity extends ParsedMainComponent { alias.resizeMode = target.resizeMode; alias.maxAspectRatio = target.maxAspectRatio; alias.minAspectRatio = target.minAspectRatio; alias.supportsSizeChanges = target.supportsSizeChanges; alias.requestedVrComponent = target.requestedVrComponent; alias.directBootAware = target.directBootAware; alias.setProcessName(target.getProcessName()); Loading Loading @@ -217,6 +221,11 @@ public class ParsedActivity extends ParsedMainComponent { return this; } public ParsedActivity setSupportsSizeChanges(boolean supportsSizeChanges) { this.supportsSizeChanges = supportsSizeChanges; return this; } public ParsedActivity setFlags(int flags) { this.flags = flags; return this; Loading Loading @@ -279,6 +288,7 @@ public class ParsedActivity extends ParsedMainComponent { dest.writeInt(this.resizeMode); dest.writeValue(this.maxAspectRatio); dest.writeValue(this.minAspectRatio); dest.writeBoolean(this.supportsSizeChanges); dest.writeString(this.requestedVrComponent); dest.writeInt(this.rotationAnimation); dest.writeInt(this.colorMode); Loading Loading @@ -315,6 +325,7 @@ public class ParsedActivity extends ParsedMainComponent { this.resizeMode = in.readInt(); this.maxAspectRatio = (Float) in.readValue(Float.class.getClassLoader()); this.minAspectRatio = (Float) in.readValue(Float.class.getClassLoader()); this.supportsSizeChanges = in.readBoolean(); this.requestedVrComponent = in.readString(); this.rotationAnimation = in.readInt(); this.colorMode = in.readInt(); Loading Loading @@ -414,6 +425,10 @@ public class ParsedActivity extends ParsedMainComponent { return minAspectRatio; } public boolean getSupportsSizeChanges() { return supportsSizeChanges; } @Nullable public String getRequestedVrComponent() { return requestedVrComponent; Loading