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

Commit ac0dfc10 authored by Vishnu Nair's avatar Vishnu Nair
Browse files

Revert "Revert "RootViewImpl: Fix measure size hint for WRAP_CONTENT windows""

This reverts commit 4f6b8ec0.

Reason for revert: Can not repro memory regression in R, b/134695730

Test: atest google/perf/memory/memory-test
Bug: b/119839070, b/73813813
Change-Id: Ibe560942949d3b37cd6d43ab49148cbf401e0e39
parent bc78be75
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -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: