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

Commit a72b4cc3 authored by Jorim Jaggi's avatar Jorim Jaggi
Browse files

Copy rects such that we don't modify state

Test: PopupWindowTest
Bug: 130553898
Bug: 130231322
Change-Id: I8abe25d054b34f1bf1234e1328b32aefc2020cf6
parent d6490572
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -1726,14 +1726,16 @@ public class DisplayPolicy {

            // In case we forced the window to draw behind the navigation bar, restrict df/of to
            // DF.RestrictedOverscan to simulate old compat behavior.
            final Rect parentDisplayFrame = attached.getDisplayFrameLw();
            final Rect parentOverscan = attached.getOverscanFrameLw();
            Rect parentDisplayFrame = attached.getDisplayFrameLw();
            Rect parentOverscan = attached.getOverscanFrameLw();
            final WindowManager.LayoutParams attachedAttrs = attached.mAttrs;
            if ((attachedAttrs.privateFlags & PRIVATE_FLAG_FORCE_DRAW_BAR_BACKGROUNDS) != 0
                    && (attachedAttrs.flags & FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS) == 0
                    && (attachedAttrs.systemUiVisibility
                            & SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION) == 0) {
                parentOverscan = new Rect(parentOverscan);
                parentOverscan.intersect(displayFrames.mRestrictedOverscan);
                parentDisplayFrame = new Rect(parentDisplayFrame);
                parentDisplayFrame.intersect(displayFrames.mRestrictedOverscan);
            }