[getPossibleMaximumWindowMetrics] return bounds in natural orientation

Rely upon bounds in natural orientation (ROTATION_0) rather than
width/height reflecting the current orientation.

Fixes: 284124064
Test: Manual
Change-Id: I8424c74d23126432619e2c898c6c72c762766bc5
This commit is contained in:
Naomi Musgrave
2023-06-08 22:50:25 +00:00
parent 14711eb9b8
commit 490f4937b0

View File

@@ -145,13 +145,13 @@ public final class WindowMetricsController {
for (int i = 0; i < possibleDisplayInfos.size(); i++) {
currentDisplayInfo = possibleDisplayInfos.get(i);
// Calculate max bounds for this rotation and state.
Rect maxBounds = new Rect(0, 0, currentDisplayInfo.logicalWidth,
currentDisplayInfo.logicalHeight);
// Calculate max bounds for natural rotation and state.
Rect maxBounds = new Rect(0, 0, currentDisplayInfo.getNaturalWidth(),
currentDisplayInfo.getNaturalHeight());
// Calculate insets for the rotated max bounds.
// Calculate insets for the natural max bounds.
final boolean isScreenRound = (currentDisplayInfo.flags & Display.FLAG_ROUND) != 0;
// Initialize insets based upon display rotation. Note any window-provided insets
// Initialize insets based on Surface.ROTATION_0. Note any window-provided insets
// will not be set.
windowInsets = getWindowInsetsFromServerForDisplay(
currentDisplayInfo.displayId, null /* token */,