From f95fad0461841cc2e0d14b4e8adaac8eadc87f00 Mon Sep 17 00:00:00 2001 From: Winson Chung Date: Mon, 21 Sep 2020 16:34:52 -0700 Subject: [PATCH] Account for cutouts in system insets (as done previously) Bug: 167389393 Test: atest DecorViewTest Change-Id: I75554224171e1e6a32892db53e0243c38a7b5169 --- .../com/android/internal/policy/DecorView.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/core/java/com/android/internal/policy/DecorView.java b/core/java/com/android/internal/policy/DecorView.java index a6c3dd1071c9b..3300b5ea99b89 100644 --- a/core/java/com/android/internal/policy/DecorView.java +++ b/core/java/com/android/internal/policy/DecorView.java @@ -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