Merge "Don't set extreme values of Integer to safe bounds" into tm-dev am: 0a194469f0

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18746081

Change-Id: I67add3cf8f98d7168656991e49db1e8a817ca8f2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Tiger Huang
2022-06-07 12:05:42 +00:00
committed by Automerger Merge Worker
2 changed files with 12 additions and 3 deletions

View File

@@ -548,7 +548,8 @@ public class InsetsState implements Parcelable {
}
public void getDisplayCutoutSafe(Rect outBounds) {
outBounds.set(Integer.MIN_VALUE, Integer.MIN_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE);
outBounds.set(
WindowLayout.MIN_X, WindowLayout.MIN_Y, WindowLayout.MAX_X, WindowLayout.MAX_Y);
final DisplayCutout cutout = mDisplayCutout.get();
final Rect displayFrame = mDisplayFrame;
if (!cutout.isEmpty()) {

View File

@@ -54,6 +54,12 @@ public class WindowLayout {
public static final int UNSPECIFIED_LENGTH = -1;
/** These coordinates are the borders of the window layout. */
static final int MIN_X = -100000;
static final int MIN_Y = -100000;
static final int MAX_X = 100000;
static final int MAX_Y = 100000;
private final Rect mTempDisplayCutoutSafeExceptMaybeBarsRect = new Rect();
private final Rect mTempRect = new Rect();
@@ -172,8 +178,10 @@ public class WindowLayout {
// TYPE_SYSTEM_ERROR is above the NavigationBar so it can't be allowed to extend over it.
// Also, we don't allow windows in multi-window mode to extend out of the screen.
if (noLimits && type != TYPE_SYSTEM_ERROR && !inMultiWindowMode) {
outDisplayFrame.left = outDisplayFrame.top = -10000;
outDisplayFrame.right = outDisplayFrame.bottom = 10000;
outDisplayFrame.left = MIN_X;
outDisplayFrame.top = MIN_Y;
outDisplayFrame.right = MAX_X;
outDisplayFrame.bottom = MAX_Y;
}
final boolean hasCompatScale = compatScale != 1f;