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
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user