Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4a8e0a39 authored by Tiger Huang's avatar Tiger Huang Committed by Automerger Merge Worker
Browse files

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

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

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



Change-Id: Ie84a36ce9365f009db706f7e664a12f8c8f38056
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 18614db0 1c41f4ef
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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()) {
+10 −2
Original line number Diff line number Diff line
@@ -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;