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

Commit b13b6fb7 authored by Riddle Hsu's avatar Riddle Hsu
Browse files

Generalize window bounds for layout

This allows the windows belonging to an activity can have override
bounds. Such as a starting window can have larger bounds than the
activity which is embedded to a smaller region.

Bug: 189385912
Test: DisplayContentTests

Change-Id: I833817f961e9b9d80080b94c1b6682ea49ca4c8e
parent 47d020ae
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1672,7 +1672,7 @@ public class DisplayPolicy {
            // frame set for the simulated layout for this case.
            computeWindowBounds(attrs, state, df, df);
        } else {
            computeWindowBounds(attrs, state, win.mToken.getBounds(), df);
            computeWindowBounds(attrs, state, win.getBounds(), df);
        }
        if (attached == null) {
            pf.set(df);
+0 −10
Original line number Diff line number Diff line
@@ -1443,16 +1443,6 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
        }
    }

    // TODO: Look into whether this override is still necessary.
    @Override
    public Rect getBounds() {
        if (mActivityRecord != null) {
            return mActivityRecord.getBounds();
        } else {
            return super.getBounds();
        }
    }

    /** Retrieves the current frame of the window that the application sees. */
    Rect getFrame() {
        return mWindowFrames.mFrame;
+3 −1
Original line number Diff line number Diff line
@@ -590,7 +590,9 @@ public class DisplayContentTests extends WindowTestsBase {
        dc.setImeLayeringTarget(ws);

        // Adjust bounds so that matchesRootDisplayAreaBounds() returns false.
        ws.mActivityRecord.getConfiguration().windowConfiguration.setBounds(new Rect(1, 1, 1, 1));
        final Rect bounds = new Rect(dc.getBounds());
        bounds.scale(0.5f);
        ws.mActivityRecord.setBounds(bounds);
        assertFalse("matchesRootDisplayAreaBounds() should return false",
                ws.matchesDisplayAreaBounds());