summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Winson Chung <winsonc@google.com> 2020-09-21 16:34:52 -0700
committer Winson Chung <winsonc@google.com> 2020-09-23 19:31:13 +0000
commit7c7d7d4e25c377c065bd1ec6fbd6c9ec6fec0508 (patch)
tree0b8cf99bee8632d3f4f1137a9f923c3d1606ca0a
parentc8eaff30373b5c9503d23d12bef11a83c3cc4464 (diff)
Account for cutouts in system insets (as done previously)
Bug: 167389393 Test: atest DecorViewTest Change-Id: I75554224171e1e6a32892db53e0243c38a7b5169 Merged-In: I75554224171e1e6a32892db53e0243c38a7b5169
-rw-r--r--core/java/com/android/internal/policy/DecorView.java12
1 files 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