From c94934404ba818841d7e12ecb0086bbd4c986151 Mon Sep 17 00:00:00 2001 From: Fabian Kozynski Date: Tue, 27 Apr 2021 14:18:21 -0400 Subject: [PATCH] Use full height (-navbars) for QS When QS is expanded, it should use full height, so the background covers the full screen Test: manual Fixes: 186427047 Change-Id: Ia7379ce24957b3f98a6c2c0f7f58d4579b295094 --- .../src/com/android/systemui/qs/QSContainerImpl.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSContainerImpl.java b/packages/SystemUI/src/com/android/systemui/qs/QSContainerImpl.java index e89803d16779a..661dbf60bb3b5 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSContainerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSContainerImpl.java @@ -154,11 +154,9 @@ public class QSContainerImpl extends FrameLayout { // bottom and footer are inside the screen. MarginLayoutParams layoutParams = (MarginLayoutParams) mQSPanelContainer.getLayoutParams(); - // The footer is pinned to the bottom of QSPanel (same bottoms), therefore we don't need to - // subtract its height. We do not care if the collapsed notifications fit in the screen. - int maxQs = getDisplayHeight() - layoutParams.topMargin - layoutParams.bottomMargin + int availableScreenHeight = getDisplayHeight() - mNavBarInset; + int maxQs = availableScreenHeight - layoutParams.topMargin - layoutParams.bottomMargin - getPaddingBottom(); - maxQs -= mNavBarInset; int padding = mPaddingLeft + mPaddingRight + layoutParams.leftMargin + layoutParams.rightMargin; final int qsPanelWidthSpec = getChildMeasureSpec(widthMeasureSpec, padding, @@ -169,7 +167,7 @@ public class QSContainerImpl extends FrameLayout { int height = layoutParams.topMargin + layoutParams.bottomMargin + mQSPanelContainer.getMeasuredHeight() + getPaddingBottom(); super.onMeasure(MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY), - MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY)); + MeasureSpec.makeMeasureSpec(availableScreenHeight, MeasureSpec.EXACTLY)); // QSCustomizer will always be the height of the screen, but do this after // other measuring to avoid changing the height of the QS. mQSCustomizer.measure(widthMeasureSpec,