Merge "Fix clipping of QS tiles in large screen portrait shade" into tm-qpr-dev

This commit is contained in:
Yalan Yiue
2022-05-16 11:21:00 +00:00
committed by Android (Google) Code Review
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);