From 60023559ea0219273e0680a7b559392230172fd6 Mon Sep 17 00:00:00 2001 From: Beverly Tai Date: Thu, 19 Mar 2020 18:28:44 +0000 Subject: [PATCH] DO NOT MERGE use left/right insets instead of cutout Icons are being cut off when the app letterboxes (b/151868088) Note: icons will be inset even when the app isn't letterboxing. Fixes: 151868088 Change-Id: I870849628a3ff724fd73f36261c87ea23d858f1a --- .../statusbar/phone/PhoneStatusBarView.java | 20 +++++-------------- 1 file changed, 5 insertions(+), 15 deletions(-) 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 c2317bab891ed..66b791d6db0ae 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java @@ -360,7 +360,6 @@ public class PhoneStatusBarView extends PanelBar { * Returns a Pair of integers where * - Pair.first is the left margin inset * - Pair.second is the right margin inset - * This method always assumes the cutout is on the top when the device is in portrait mode. */ public static Pair cornerCutoutMargins(DisplayCutout cutout, Display display) { @@ -375,22 +374,13 @@ public class PhoneStatusBarView extends PanelBar { Point size = new Point(); display.getRealSize(size); - Rect bounds = new Rect(); - switch (rotationOrientation) { - case RotationUtils.ROTATION_LANDSCAPE: - boundsFromDirection(cutout, Gravity.LEFT, bounds); - break; - case RotationUtils.ROTATION_SEASCAPE: - boundsFromDirection(cutout, Gravity.RIGHT, bounds); - break; - case RotationUtils.ROTATION_NONE: - boundsFromDirection(cutout, Gravity.TOP, bounds); - break; - case RotationUtils.ROTATION_UPSIDE_DOWN: - // we assume the cutout is always on top in portrait mode - return null; + if (rotationOrientation != RotationUtils.ROTATION_NONE) { + return new Pair<>(cutout.getSafeInsetLeft(), cutout.getSafeInsetRight()); } + Rect bounds = new Rect(); + boundsFromDirection(cutout, Gravity.TOP, bounds); + if (statusBarHeight >= 0 && bounds.top > statusBarHeight) { return null; }