From 8bd70cb7583b3ee0505e8f562b9a468f28f4dbff Mon Sep 17 00:00:00 2001 From: Evan Laird Date: Tue, 17 Apr 2018 17:42:36 -0400 Subject: [PATCH] Don't apply corner cutout insets if we're already inset enough Test: rotate with double cutout and corner cutout Change-Id: Id0040d38d6ad82552943f78b4318122baef5b506 Fixes: 76149216 --- .../systemui/statusbar/phone/PhoneStatusBarView.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java index 0fd0a05e98ab6..01582d090999d 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java @@ -332,6 +332,18 @@ public class PhoneStatusBarView extends PanelBar { if (cornerCutoutMargins != null) { lp.leftMargin = Math.max(lp.leftMargin, cornerCutoutMargins.first); lp.rightMargin = Math.max(lp.rightMargin, cornerCutoutMargins.second); + + // If we're already inset enough (e.g. on the status bar side), we can have 0 margin + WindowInsets insets = getRootWindowInsets(); + int leftInset = insets.getSystemWindowInsetLeft(); + int rightInset = insets.getSystemWindowInsetRight(); + if (lp.leftMargin <= leftInset) { + lp.leftMargin = 0; + } + if (lp.rightMargin <= rightInset) { + lp.rightMargin = 0; + } + } }