Merge "Revert "Revert "RootViewImpl: Fix measure size hint for WRAP_CONTENT windows""" into rvc-dev am: 84d1c3c618 am: 7551d21bbd am: bed40695f4

Change-Id: I27486bd35bd47400e1147ef924e0700e694d58f9
This commit is contained in:
Vishnu Nair
2020-03-24 00:08:10 +00:00
committed by Automerger Merge Worker

View File

@@ -2347,9 +2347,18 @@ public final class ViewRootImpl implements ViewParent,
mDisplay.getRealSize(size);
desiredWindowWidth = size.x;
desiredWindowHeight = size.y;
} else if (lp.width == ViewGroup.LayoutParams.WRAP_CONTENT
|| lp.height == ViewGroup.LayoutParams.WRAP_CONTENT) {
// For wrap content, we have to remeasure later on anyways. Use size consistent with
// below so we get best use of the measure cache.
desiredWindowWidth = dipToPx(config.screenWidthDp);
desiredWindowHeight = dipToPx(config.screenHeightDp);
} else {
desiredWindowWidth = mWinFrame.width();
desiredWindowHeight = mWinFrame.height();
// After addToDisplay, the frame contains the frameHint from window manager, which
// for most windows is going to be the same size as the result of relayoutWindow.
// Using this here allows us to avoid remeasuring after relayoutWindow
desiredWindowWidth = frame.width();
desiredWindowHeight = frame.height();
}
// We used to use the following condition to choose 32 bits drawing caches: