From 7c7d7d4e25c377c065bd1ec6fbd6c9ec6fec0508 Mon Sep 17 00:00:00 2001 From: Winson Chung Date: Mon, 21 Sep 2020 16:34:52 -0700 Subject: Account for cutouts in system insets (as done previously) Bug: 167389393 Test: atest DecorViewTest Change-Id: I75554224171e1e6a32892db53e0243c38a7b5169 Merged-In: I75554224171e1e6a32892db53e0243c38a7b5169 --- core/java/com/android/internal/policy/DecorView.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/core/java/com/android/internal/policy/DecorView.java b/core/java/com/android/internal/policy/DecorView.java index b12c5e9ba5b0..fbbf7916b31e 100644 --- a/core/java/com/android/internal/policy/DecorView.java +++ b/core/java/com/android/internal/policy/DecorView.java @@ -1094,13 +1094,15 @@ 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()); - mLastTopInset = systemBarInsets.top; - mLastBottomInset = systemBarInsets.bottom; - mLastRightInset = systemBarInsets.right; - mLastLeftInset = systemBarInsets.left; + final Insets systemInsets = 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 -- cgit v1.2.3-59-g8ed1b