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
This commit is contained in:
Beverly Tai
2020-03-19 18:28:44 +00:00
parent ae242892e2
commit 60023559ea

View File

@@ -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<Integer, Integer> 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;
}