Merge "Workaround for ignored resizeableActivity param" into nyc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
005f9a73fb
@@ -3536,6 +3536,12 @@ public class PackageParser {
|
|||||||
a.info.resizeMode = RESIZE_MODE_UNRESIZEABLE;
|
a.info.resizeMode = RESIZE_MODE_UNRESIZEABLE;
|
||||||
final boolean appDefault = (owner.applicationInfo.privateFlags
|
final boolean appDefault = (owner.applicationInfo.privateFlags
|
||||||
& PRIVATE_FLAG_RESIZEABLE_ACTIVITIES) != 0;
|
& PRIVATE_FLAG_RESIZEABLE_ACTIVITIES) != 0;
|
||||||
|
// This flag is used to workaround the issue with ignored resizeableActivity param when
|
||||||
|
// either targetSdkVersion is not set at all or <uses-sdk> tag is below <application>
|
||||||
|
// tag in AndroidManifest. If this param was explicitly set to 'false' we need to set
|
||||||
|
// corresponding resizeMode regardless of targetSdkVersion value at this point in time.
|
||||||
|
final boolean resizeableSetExplicitly
|
||||||
|
= sa.hasValue(R.styleable.AndroidManifestActivity_resizeableActivity);
|
||||||
final boolean resizeable = sa.getBoolean(
|
final boolean resizeable = sa.getBoolean(
|
||||||
R.styleable.AndroidManifestActivity_resizeableActivity, appDefault);
|
R.styleable.AndroidManifestActivity_resizeableActivity, appDefault);
|
||||||
|
|
||||||
@@ -3546,7 +3552,8 @@ public class PackageParser {
|
|||||||
} else {
|
} else {
|
||||||
a.info.resizeMode = RESIZE_MODE_RESIZEABLE;
|
a.info.resizeMode = RESIZE_MODE_RESIZEABLE;
|
||||||
}
|
}
|
||||||
} else if (owner.applicationInfo.targetSdkVersion >= Build.VERSION_CODES.N) {
|
} else if (owner.applicationInfo.targetSdkVersion >= Build.VERSION_CODES.N
|
||||||
|
|| resizeableSetExplicitly) {
|
||||||
a.info.resizeMode = RESIZE_MODE_UNRESIZEABLE;
|
a.info.resizeMode = RESIZE_MODE_UNRESIZEABLE;
|
||||||
} else if (!a.info.isFixedOrientation() && (a.info.flags & FLAG_IMMERSIVE) == 0) {
|
} else if (!a.info.isFixedOrientation() && (a.info.flags & FLAG_IMMERSIVE) == 0) {
|
||||||
a.info.resizeMode = RESIZE_MODE_FORCE_RESIZEABLE;
|
a.info.resizeMode = RESIZE_MODE_FORCE_RESIZEABLE;
|
||||||
|
|||||||
Reference in New Issue
Block a user