From 4b0cf98cdd303b805d4960f51b3f7dbdcf09cdf0 Mon Sep 17 00:00:00 2001 From: shawnlin Date: Wed, 19 Feb 2020 16:48:54 +0800 Subject: [PATCH] Fixed too much padding in QQS with top corner cutout Set padding only for system icon view. Bug: 149766935 Test: atest SystemUITests Test: manual set corner cutout and expand qs panel Change-Id: I0f1d485aed50410ebe189112468f2ab5faaa15ce --- .../systemui/qs/QuickStatusBarHeader.java | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java index 8cd70cf63b8ed..a114774cb2788 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java @@ -435,23 +435,22 @@ public class QuickStatusBarHeader extends RelativeLayout implements @Override public WindowInsets onApplyWindowInsets(WindowInsets insets) { + // Handle padding of SystemIconsView DisplayCutout cutout = insets.getDisplayCutout(); - - // Handle padding of QuickStatusBarHeader Pair cornerCutoutPadding = StatusBarWindowView.cornerCutoutMargins( cutout, getDisplay()); Pair padding = StatusBarWindowView.paddingNeededForCutoutAndRoundedCorner( cutout, cornerCutoutPadding, mRoundedCornerPadding); - setPadding(padding.first, 0, padding.second, getPaddingBottom()); - - // Handle padding of SystemIconsView final int waterfallTopInset = cutout == null ? 0 : cutout.getWaterfallInsets().top; - mSystemIconsView.setPaddingRelative( - getResources().getDimensionPixelSize(R.dimen.status_bar_padding_start), - waterfallTopInset, - getResources().getDimensionPixelSize(R.dimen.status_bar_padding_end), - 0); + int statusBarPaddingLeft = isLayoutRtl() + ? getResources().getDimensionPixelSize(R.dimen.status_bar_padding_end) + : getResources().getDimensionPixelSize(R.dimen.status_bar_padding_start); + int statusBarPaddingRight = isLayoutRtl() + ? getResources().getDimensionPixelSize(R.dimen.status_bar_padding_start) + : getResources().getDimensionPixelSize(R.dimen.status_bar_padding_end); + mSystemIconsView.setPadding(padding.first + statusBarPaddingLeft, waterfallTopInset, + padding.second + statusBarPaddingRight, 0); return super.onApplyWindowInsets(insets); }