diff options
| -rw-r--r-- | services/core/java/com/android/server/wm/ActivityRecord.java | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java index fd8f6bfd1cc8..bdab4d483872 100644 --- a/services/core/java/com/android/server/wm/ActivityRecord.java +++ b/services/core/java/com/android/server/wm/ActivityRecord.java @@ -9317,8 +9317,9 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A final Task rootTask = getRootTask(); final float minAspectRatio = getMinAspectRatio(); final TaskFragment organizedTf = getOrganizedTaskFragment(); + float aspectRatioToApply = desiredAspectRatio; if (task == null || rootTask == null - || (maxAspectRatio < 1 && minAspectRatio < 1 && desiredAspectRatio < 1) + || (maxAspectRatio < 1 && minAspectRatio < 1 && aspectRatioToApply < 1) // Don't set aspect ratio if we are in VR mode. || isInVrUiMode(getConfiguration()) // TODO(b/232898850): Always respect aspect ratio requests. @@ -9331,30 +9332,30 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A final int containingAppHeight = containingAppBounds.height(); final float containingRatio = computeAspectRatio(containingAppBounds); - if (desiredAspectRatio < 1) { - desiredAspectRatio = containingRatio; + if (aspectRatioToApply < 1) { + aspectRatioToApply = containingRatio; } - if (maxAspectRatio >= 1 && desiredAspectRatio > maxAspectRatio) { - desiredAspectRatio = maxAspectRatio; - } else if (minAspectRatio >= 1 && desiredAspectRatio < minAspectRatio) { - desiredAspectRatio = minAspectRatio; + if (maxAspectRatio >= 1 && aspectRatioToApply > maxAspectRatio) { + aspectRatioToApply = maxAspectRatio; + } else if (minAspectRatio >= 1 && aspectRatioToApply < minAspectRatio) { + aspectRatioToApply = minAspectRatio; } int activityWidth = containingAppWidth; int activityHeight = containingAppHeight; - if (containingRatio - desiredAspectRatio > ASPECT_RATIO_ROUNDING_TOLERANCE) { + if (containingRatio - aspectRatioToApply > ASPECT_RATIO_ROUNDING_TOLERANCE) { if (containingAppWidth < containingAppHeight) { // Width is the shorter side, so we use that to figure-out what the max. height // should be given the aspect ratio. - activityHeight = (int) ((activityWidth * desiredAspectRatio) + 0.5f); + activityHeight = (int) ((activityWidth * aspectRatioToApply) + 0.5f); } else { // Height is the shorter side, so we use that to figure-out what the max. width // should be given the aspect ratio. - activityWidth = (int) ((activityHeight * desiredAspectRatio) + 0.5f); + activityWidth = (int) ((activityHeight * aspectRatioToApply) + 0.5f); } - } else if (desiredAspectRatio - containingRatio > ASPECT_RATIO_ROUNDING_TOLERANCE) { + } else if (aspectRatioToApply - containingRatio > ASPECT_RATIO_ROUNDING_TOLERANCE) { boolean adjustWidth; switch (getRequestedConfigurationOrientation()) { case ORIENTATION_LANDSCAPE: @@ -9382,9 +9383,9 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A break; } if (adjustWidth) { - activityWidth = (int) ((activityHeight / desiredAspectRatio) + 0.5f); + activityWidth = (int) ((activityHeight / aspectRatioToApply) + 0.5f); } else { - activityHeight = (int) ((activityWidth / desiredAspectRatio) + 0.5f); + activityHeight = (int) ((activityWidth / aspectRatioToApply) + 0.5f); } } |