Merge "Fix missing dock divider."
This commit is contained in:
committed by
Android (Google) Code Review
commit
c010798bbd
@@ -729,8 +729,18 @@ final class WindowState implements WindowManagerPolicy.WindowState {
|
||||
mVisibleFrame.set(mContentFrame);
|
||||
mStableFrame.set(mContentFrame);
|
||||
} else if (mAttrs.type == TYPE_DOCK_DIVIDER) {
|
||||
mDisplayContent.getDockedDividerController().positionDockedStackedDivider(mFrame);
|
||||
mContentFrame.set(mFrame);
|
||||
if (isVisibleLw()) {
|
||||
// We don't adjust the dock divider frame for reasons other than performance. The
|
||||
// real reason is that if it gets adjusted before it is shown for the first time,
|
||||
// it would get size (0, 0). This causes a problem when we finally show the dock
|
||||
// divider and try to draw to it. We do set the surface size at that moment to
|
||||
// the correct size, but it's too late for the Surface Flinger to make it
|
||||
// available for view rendering and as a result the renderer receives size 1, 1.
|
||||
// This way we just keep the divider at the original size and Surface Flinger
|
||||
// will return the correct value to the renderer.
|
||||
mDisplayContent.getDockedDividerController().positionDockedStackedDivider(mFrame);
|
||||
mContentFrame.set(mFrame);
|
||||
}
|
||||
} else {
|
||||
mContentFrame.set(Math.max(mContentFrame.left, mFrame.left),
|
||||
Math.max(mContentFrame.top, mFrame.top),
|
||||
|
||||
Reference in New Issue
Block a user