Loading services/core/java/com/android/server/wm/DisplayContent.java +3 −1 Original line number Diff line number Diff line Loading @@ -332,6 +332,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp DisplayCutout mInitialDisplayCutout; private final RotationCache<DisplayCutout, WmDisplayCutout> mDisplayCutoutCache = new RotationCache<>(this::calculateDisplayCutoutForRotationUncached); boolean mIgnoreDisplayCutout; /** * Overridden display size. Initialized with {@link #mInitialDisplayWidth} Loading Loading @@ -2507,7 +2508,8 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp final int newWidth = rotated ? mDisplayInfo.logicalHeight : mDisplayInfo.logicalWidth; final int newHeight = rotated ? mDisplayInfo.logicalWidth : mDisplayInfo.logicalHeight; final int newDensity = mDisplayInfo.logicalDensityDpi; final DisplayCutout newCutout = mDisplayInfo.displayCutout; final DisplayCutout newCutout = mIgnoreDisplayCutout ? DisplayCutout.NO_CUTOUT : mDisplayInfo.displayCutout; final String newUniqueId = mDisplayInfo.uniqueId; final boolean displayMetricsChanged = mInitialDisplayWidth != newWidth Loading services/core/java/com/android/server/wm/DisplayWindowSettings.java +21 −4 Original line number Diff line number Diff line Loading @@ -261,6 +261,10 @@ class DisplayWindowSettings { ? settings.mIgnoreOrientationRequest : false; dc.setIgnoreOrientationRequest(ignoreOrientationRequest); final boolean ignoreDisplayCutout = settings.mIgnoreDisplayCutout != null ? settings.mIgnoreDisplayCutout : false; dc.mIgnoreDisplayCutout = ignoreDisplayCutout; final int width = hasSizeOverride ? settings.mForcedWidth : dc.mInitialDisplayWidth; final int height = hasSizeOverride ? settings.mForcedHeight : dc.mInitialDisplayHeight; final int density = hasDensityOverride ? settings.mForcedDensity Loading Loading @@ -352,6 +356,8 @@ class DisplayWindowSettings { Integer mFixedToUserRotation; @Nullable Boolean mIgnoreOrientationRequest; @Nullable Boolean mIgnoreDisplayCutout; SettingsEntry() {} Loading Loading @@ -422,6 +428,10 @@ class DisplayWindowSettings { mIgnoreOrientationRequest = other.mIgnoreOrientationRequest; changed = true; } if (other.mIgnoreDisplayCutout != mIgnoreDisplayCutout) { mIgnoreDisplayCutout = other.mIgnoreDisplayCutout; changed = true; } return changed; } Loading Loading @@ -500,6 +510,11 @@ class DisplayWindowSettings { mIgnoreOrientationRequest = delta.mIgnoreOrientationRequest; changed = true; } if (delta.mIgnoreDisplayCutout != null && delta.mIgnoreDisplayCutout != mIgnoreDisplayCutout) { mIgnoreDisplayCutout = delta.mIgnoreDisplayCutout; changed = true; } return changed; } Loading @@ -515,7 +530,8 @@ class DisplayWindowSettings { && mShouldShowSystemDecors == null && mImePolicy == null && mFixedToUserRotation == null && mIgnoreOrientationRequest == null; && mIgnoreOrientationRequest == null && mIgnoreDisplayCutout == null; } @Override Loading @@ -536,8 +552,8 @@ class DisplayWindowSettings { && Objects.equals(mShouldShowSystemDecors, that.mShouldShowSystemDecors) && Objects.equals(mImePolicy, that.mImePolicy) && Objects.equals(mFixedToUserRotation, that.mFixedToUserRotation) && Objects.equals(mIgnoreOrientationRequest, that.mIgnoreOrientationRequest); && Objects.equals(mIgnoreOrientationRequest, that.mIgnoreOrientationRequest) && Objects.equals(mIgnoreDisplayCutout, that.mIgnoreDisplayCutout); } @Override Loading @@ -545,7 +561,7 @@ class DisplayWindowSettings { return Objects.hash(mWindowingMode, mUserRotationMode, mUserRotation, mForcedWidth, mForcedHeight, mForcedDensity, mForcedScalingMode, mRemoveContentMode, mShouldShowWithInsecureKeyguard, mShouldShowSystemDecors, mImePolicy, mFixedToUserRotation, mIgnoreOrientationRequest); mFixedToUserRotation, mIgnoreOrientationRequest, mIgnoreDisplayCutout); } @Override Loading @@ -564,6 +580,7 @@ class DisplayWindowSettings { + ", mShouldShowIme=" + mImePolicy + ", mFixedToUserRotation=" + mFixedToUserRotation + ", mIgnoreOrientationRequest=" + mIgnoreOrientationRequest + ", mIgnoreDisplayCutout=" + mIgnoreDisplayCutout + '}'; } } Loading services/core/java/com/android/server/wm/DisplayWindowSettingsProvider.java +6 −0 Original line number Diff line number Diff line Loading @@ -403,6 +403,8 @@ class DisplayWindowSettingsProvider implements SettingsProvider { null /* defaultValue */); settingsEntry.mIgnoreOrientationRequest = getBooleanAttribute(parser, "ignoreOrientationRequest", null /* defaultValue */); settingsEntry.mIgnoreDisplayCutout = getBooleanAttribute(parser, "ignoreDisplayCutout", null /* defaultValue */); fileData.mSettings.put(name, settingsEntry); } XmlUtils.skipCurrentTag(parser); Loading Loading @@ -490,6 +492,10 @@ class DisplayWindowSettingsProvider implements SettingsProvider { out.attributeBoolean(null, "ignoreOrientationRequest", settingsEntry.mIgnoreOrientationRequest); } if (settingsEntry.mIgnoreDisplayCutout != null) { out.attributeBoolean(null, "ignoreDisplayCutout", settingsEntry.mIgnoreDisplayCutout); } out.endTag(null, "display"); } Loading Loading
services/core/java/com/android/server/wm/DisplayContent.java +3 −1 Original line number Diff line number Diff line Loading @@ -332,6 +332,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp DisplayCutout mInitialDisplayCutout; private final RotationCache<DisplayCutout, WmDisplayCutout> mDisplayCutoutCache = new RotationCache<>(this::calculateDisplayCutoutForRotationUncached); boolean mIgnoreDisplayCutout; /** * Overridden display size. Initialized with {@link #mInitialDisplayWidth} Loading Loading @@ -2507,7 +2508,8 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp final int newWidth = rotated ? mDisplayInfo.logicalHeight : mDisplayInfo.logicalWidth; final int newHeight = rotated ? mDisplayInfo.logicalWidth : mDisplayInfo.logicalHeight; final int newDensity = mDisplayInfo.logicalDensityDpi; final DisplayCutout newCutout = mDisplayInfo.displayCutout; final DisplayCutout newCutout = mIgnoreDisplayCutout ? DisplayCutout.NO_CUTOUT : mDisplayInfo.displayCutout; final String newUniqueId = mDisplayInfo.uniqueId; final boolean displayMetricsChanged = mInitialDisplayWidth != newWidth Loading
services/core/java/com/android/server/wm/DisplayWindowSettings.java +21 −4 Original line number Diff line number Diff line Loading @@ -261,6 +261,10 @@ class DisplayWindowSettings { ? settings.mIgnoreOrientationRequest : false; dc.setIgnoreOrientationRequest(ignoreOrientationRequest); final boolean ignoreDisplayCutout = settings.mIgnoreDisplayCutout != null ? settings.mIgnoreDisplayCutout : false; dc.mIgnoreDisplayCutout = ignoreDisplayCutout; final int width = hasSizeOverride ? settings.mForcedWidth : dc.mInitialDisplayWidth; final int height = hasSizeOverride ? settings.mForcedHeight : dc.mInitialDisplayHeight; final int density = hasDensityOverride ? settings.mForcedDensity Loading Loading @@ -352,6 +356,8 @@ class DisplayWindowSettings { Integer mFixedToUserRotation; @Nullable Boolean mIgnoreOrientationRequest; @Nullable Boolean mIgnoreDisplayCutout; SettingsEntry() {} Loading Loading @@ -422,6 +428,10 @@ class DisplayWindowSettings { mIgnoreOrientationRequest = other.mIgnoreOrientationRequest; changed = true; } if (other.mIgnoreDisplayCutout != mIgnoreDisplayCutout) { mIgnoreDisplayCutout = other.mIgnoreDisplayCutout; changed = true; } return changed; } Loading Loading @@ -500,6 +510,11 @@ class DisplayWindowSettings { mIgnoreOrientationRequest = delta.mIgnoreOrientationRequest; changed = true; } if (delta.mIgnoreDisplayCutout != null && delta.mIgnoreDisplayCutout != mIgnoreDisplayCutout) { mIgnoreDisplayCutout = delta.mIgnoreDisplayCutout; changed = true; } return changed; } Loading @@ -515,7 +530,8 @@ class DisplayWindowSettings { && mShouldShowSystemDecors == null && mImePolicy == null && mFixedToUserRotation == null && mIgnoreOrientationRequest == null; && mIgnoreOrientationRequest == null && mIgnoreDisplayCutout == null; } @Override Loading @@ -536,8 +552,8 @@ class DisplayWindowSettings { && Objects.equals(mShouldShowSystemDecors, that.mShouldShowSystemDecors) && Objects.equals(mImePolicy, that.mImePolicy) && Objects.equals(mFixedToUserRotation, that.mFixedToUserRotation) && Objects.equals(mIgnoreOrientationRequest, that.mIgnoreOrientationRequest); && Objects.equals(mIgnoreOrientationRequest, that.mIgnoreOrientationRequest) && Objects.equals(mIgnoreDisplayCutout, that.mIgnoreDisplayCutout); } @Override Loading @@ -545,7 +561,7 @@ class DisplayWindowSettings { return Objects.hash(mWindowingMode, mUserRotationMode, mUserRotation, mForcedWidth, mForcedHeight, mForcedDensity, mForcedScalingMode, mRemoveContentMode, mShouldShowWithInsecureKeyguard, mShouldShowSystemDecors, mImePolicy, mFixedToUserRotation, mIgnoreOrientationRequest); mFixedToUserRotation, mIgnoreOrientationRequest, mIgnoreDisplayCutout); } @Override Loading @@ -564,6 +580,7 @@ class DisplayWindowSettings { + ", mShouldShowIme=" + mImePolicy + ", mFixedToUserRotation=" + mFixedToUserRotation + ", mIgnoreOrientationRequest=" + mIgnoreOrientationRequest + ", mIgnoreDisplayCutout=" + mIgnoreDisplayCutout + '}'; } } Loading
services/core/java/com/android/server/wm/DisplayWindowSettingsProvider.java +6 −0 Original line number Diff line number Diff line Loading @@ -403,6 +403,8 @@ class DisplayWindowSettingsProvider implements SettingsProvider { null /* defaultValue */); settingsEntry.mIgnoreOrientationRequest = getBooleanAttribute(parser, "ignoreOrientationRequest", null /* defaultValue */); settingsEntry.mIgnoreDisplayCutout = getBooleanAttribute(parser, "ignoreDisplayCutout", null /* defaultValue */); fileData.mSettings.put(name, settingsEntry); } XmlUtils.skipCurrentTag(parser); Loading Loading @@ -490,6 +492,10 @@ class DisplayWindowSettingsProvider implements SettingsProvider { out.attributeBoolean(null, "ignoreOrientationRequest", settingsEntry.mIgnoreOrientationRequest); } if (settingsEntry.mIgnoreDisplayCutout != null) { out.attributeBoolean(null, "ignoreDisplayCutout", settingsEntry.mIgnoreDisplayCutout); } out.endTag(null, "display"); } Loading