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

Commit f95fad04 authored by Winson Chung's avatar Winson Chung
Browse files

Account for cutouts in system insets (as done previously)

Bug: 167389393
Test: atest DecorViewTest
Change-Id: I75554224171e1e6a32892db53e0243c38a7b5169
parent 90af0156
Loading
Loading
Loading
Loading
+10 −7
Original line number Diff line number Diff line
@@ -1095,15 +1095,18 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind
            mLastWindowFlags = attrs.flags;

            if (insets != null) {
                final Insets systemBarInsets = insets.getInsets(WindowInsets.Type.systemBars());
                final Insets stableBarInsets = insets.getInsetsIgnoringVisibility(
                        WindowInsets.Type.systemBars());
                final boolean clearCompatInsets = clearCompatInsets(attrs.type, attrs.flags,
                        getResources().getConfiguration().windowConfiguration.getWindowingMode());
                mLastTopInset = clearCompatInsets ? 0 : systemBarInsets.top;
                mLastBottomInset = clearCompatInsets ? 0 : systemBarInsets.bottom;
                mLastRightInset = clearCompatInsets ? 0 : systemBarInsets.right;
                mLastLeftInset = clearCompatInsets ? 0 : systemBarInsets.left;
                final Insets stableBarInsets = insets.getInsetsIgnoringVisibility(
                        WindowInsets.Type.systemBars());
                final Insets systemInsets = clearCompatInsets
                        ? Insets.NONE
                        : Insets.min(insets.getInsets(WindowInsets.Type.systemBars()
                                | WindowInsets.Type.displayCutout()), stableBarInsets);
                mLastTopInset = systemInsets.top;
                mLastBottomInset = systemInsets.bottom;
                mLastRightInset = systemInsets.right;
                mLastLeftInset = systemInsets.left;

                // Don't animate if the presence of stable insets has changed, because that
                // indicates that the window was either just added and received them for the