Merge "Allow for SDK 26 Activities to specify orientation when not fullscreen." into oc-dev
am: e53243cb92
Change-Id: I282eb577bb1b04e9121fa218765578e93e5a5ab6
This commit is contained in:
@@ -976,7 +976,7 @@ public class Activity extends ContextThemeWrapper
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
if (DEBUG_LIFECYCLE) Slog.v(TAG, "onCreate " + this + ": " + savedInstanceState);
|
||||
|
||||
if (getApplicationInfo().targetSdkVersion >= O && mActivityInfo.isFixedOrientation()) {
|
||||
if (getApplicationInfo().targetSdkVersion > O && mActivityInfo.isFixedOrientation()) {
|
||||
final TypedArray ta = obtainStyledAttributes(com.android.internal.R.styleable.Window);
|
||||
final boolean isTranslucentOrFloating = ActivityInfo.isTranslucentOrFloating(ta);
|
||||
ta.recycle();
|
||||
|
||||
@@ -2180,7 +2180,7 @@ final class ActivityRecord extends ConfigurationContainer implements AppWindowCo
|
||||
|
||||
void setRequestedOrientation(int requestedOrientation) {
|
||||
if (ActivityInfo.isFixedOrientation(requestedOrientation) && !fullscreen
|
||||
&& appInfo.targetSdkVersion >= O) {
|
||||
&& appInfo.targetSdkVersion > O) {
|
||||
throw new IllegalStateException("Only fullscreen activities can request orientation");
|
||||
}
|
||||
|
||||
|
||||
@@ -1248,11 +1248,11 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree
|
||||
*/
|
||||
@Override
|
||||
int getOrientation(int candidate) {
|
||||
// We do not allow non-fullscreen apps to influence orientation at and beyond O. While we do
|
||||
// We do not allow non-fullscreen apps to influence orientation beyond O. While we do
|
||||
// throw an exception in {@link Activity#onCreate} and
|
||||
// {@link Activity#setRequestedOrientation}, we also ignore the orientation here so that
|
||||
// other calculations aren't affected.
|
||||
if (!fillsParent() && mTargetSdk >= O) {
|
||||
if (!fillsParent() && mTargetSdk > O) {
|
||||
// Can't specify orientation if app doesn't fill parent.
|
||||
return SCREEN_ORIENTATION_UNSET;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user