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

Commit 7c3185e0 authored by Doris Liu's avatar Doris Liu Committed by Android (Google) Code Review
Browse files

Merge "Fix calls to Rect.intersect(Rect) in package com.android.server.wm" into mnc-dev

parents f3edbb55 06d582d4
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -238,6 +238,7 @@ class DisplayContent {
            final TaskStack stack = win.getStack();
            if (win.isVisibleLw() && stack != null && stack != focusedStack) {
                mTmpRect.set(win.mVisibleFrame);
                // If no intersection, we need mTmpRect to be unmodified.
                mTmpRect.intersect(win.mVisibleInsets);
                mTouchExcludeRegion.op(mTmpRect, Region.Op.DIFFERENCE);
            }
+5 −1
Original line number Diff line number Diff line
@@ -144,7 +144,11 @@ public class TaskStack {
                bounds = mTmpRect;
                mFullscreen = true;
            } else {
                bounds.intersect(mTmpRect); // ensure bounds are entirely within the display rect
                // ensure bounds are entirely within the display rect
                if (!bounds.intersect(mTmpRect)) {
                    // Can't set bounds outside the containing display.. Sorry!
                    return false;
                }
                mFullscreen = mTmpRect.equals(bounds);
            }
        }
+10 −3
Original line number Diff line number Diff line
@@ -6233,7 +6233,10 @@ public class WindowManagerService extends IWindowManager.Stub
                        int bottom = wf.bottom - cr.bottom;
                        frame.union(left, top, right, bottom);
                        ws.getStackBounds(stackBounds);
                        frame.intersect(stackBounds);
                        if (!frame.intersect(stackBounds)) {
                            // Set frame empty if there's no intersection.
                            frame.setEmpty();
                        }
                    }

                    if (ws.mAppToken != null && ws.mAppToken.token == appToken &&
@@ -6280,12 +6283,16 @@ public class WindowManagerService extends IWindowManager.Stub

                if (!includeFullDisplay) {
                    // Constrain frame to the screen size.
                    frame.intersect(0, 0, dw, dh);
                    if (!frame.intersect(0, 0, dw, dh)) {
                        frame.setEmpty();
                    }
                } else {
                    // Caller just wants entire display.
                    frame.set(0, 0, dw, dh);
                }

                if (frame.isEmpty()) {
                    return null;
                }

                if (width < 0) {
                    width = frame.width();
+3 −1
Original line number Diff line number Diff line
@@ -547,7 +547,9 @@ final class WindowState implements WindowManagerPolicy.WindowState {
            }
            // Make sure the containing frame is within the content frame so we don't layout
            // resized window under screen decorations.
            mContainingFrame.intersect(cf);
            if (!mContainingFrame.intersect(cf)) {
                mContainingFrame.set(cf);
            }
            mDisplayFrame.set(mContainingFrame);
        } else {
            mContainingFrame.set(pf);