Fix clipping of QS tiles in large screen portrait shade

Changed the clipping bounds in large screen portrait to qs container padding + qs container margin. Also fixed qs_tiles_page_horizontal_margin so that it's the half of the clipping margin.

Fixes: 228970271
Test: Manual
Change-Id: Ia03e717d7fbc6665c56eef0c1d6cb3f681ad5790
This commit is contained in:
yyalan
2022-05-10 18:15:18 +01:00
committed by Yalan Yiue
parent e9ed7210ad
commit 23c6cb9125
3 changed files with 16 additions and 4 deletions

View File

@@ -21,5 +21,10 @@
<dimen name="keyguard_status_view_bottom_margin">40dp</dimen>
<dimen name="bouncer_user_switcher_y_trans">20dp</dimen>
<!-- qs_tiles_page_horizontal_margin should be margin / 2, otherwise full space between two
pages is margin * 2, and that makes tiles page not appear immediately after user swipes to
the side -->
<dimen name="qs_tiles_page_horizontal_margin">32dp</dimen>
<dimen name="qqs_layout_padding_bottom">16dp</dimen>
</resources>

View File

@@ -29,5 +29,11 @@
<dimen name="notification_panel_margin_horizontal">80dp</dimen>
<dimen name="notification_side_paddings">40dp</dimen>
<!-- qs_tiles_page_horizontal_margin should be margin / 2, otherwise full space between two
pages is margin * 2, and that makes tiles page not appear immediately after user swipes to the
side -->
<dimen name="qs_tiles_page_horizontal_margin">60dp</dimen>
<dimen name="notification_section_divider_height">16dp</dimen>
</resources>

View File

@@ -622,10 +622,11 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
if (mLastQSExpansion == 1.0f) {
// Fully expanded, let's set the layout bounds as clip bounds. This is necessary because
// it's a scrollview and otherwise wouldn't be clipped. However, we set the horizontal
// bounds so the pages go to the ends of QSContainerImpl
ViewGroup.MarginLayoutParams lp =
(ViewGroup.MarginLayoutParams) mQSPanelScrollView.getLayoutParams();
mQsBounds.set(-lp.leftMargin, 0, mQSPanelScrollView.getWidth() + lp.rightMargin,
// bounds so the pages go to the ends of QSContainerImpl (most cases) or its parent
// (large screen portrait)
int sideMargin = getResources().getDimensionPixelSize(
R.dimen.qs_tiles_page_horizontal_margin) * 2;
mQsBounds.set(-sideMargin, 0, mQSPanelScrollView.getWidth() + sideMargin,
mQSPanelScrollView.getHeight());
}
mQSPanelScrollView.setClipBounds(mQsBounds);