Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6eaf3acd authored by Fabian Kozynski's avatar Fabian Kozynski
Browse files

Fix clipping on scrolling QS Panel

QS Panel paged view now clips to its padding.

Pages are horizontally centered.

Test: runtest & Visual
Change-Id: If35b8d6f4c44cb0c425efa6e8f6aa92a8cfa0c75
Fixes: 117096186
parent e0ef793d
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -20,10 +20,13 @@
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:clipChildren="false"
    android:clipToPadding="false"
    android:clipChildren="true"
    android:clipToPadding="true"
    android:paddingStart="@dimen/notification_side_paddings"
    android:paddingEnd="@dimen/notification_side_paddings"
    android:paddingBottom="@dimen/qs_paged_tile_layout_padding_bottom">


    <FrameLayout
        android:id="@+id/page_decor"
        android:layout_width="wrap_content"
+7 −4
Original line number Diff line number Diff line
@@ -6,9 +6,7 @@ import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.animation.PropertyValuesHolder;
import android.content.Context;

import androidx.viewpager.widget.PagerAdapter;
import androidx.viewpager.widget.ViewPager;
import android.content.res.Resources;
import android.util.AttributeSet;
import android.util.Log;
import android.view.LayoutInflater;
@@ -18,6 +16,9 @@ import android.view.animation.Interpolator;
import android.view.animation.OvershootInterpolator;
import android.widget.Scroller;

import androidx.viewpager.widget.PagerAdapter;
import androidx.viewpager.widget.ViewPager;

import com.android.systemui.R;
import com.android.systemui.qs.QSPanel.QSTileLayout;
import com.android.systemui.qs.QSPanel.TileRecord;
@@ -224,7 +225,9 @@ public class PagedTileLayout extends ViewPager implements QSTileLayout {
    public boolean updateResources() {
        // Update bottom padding, useful for removing extra space once the panel page indicator is
        // hidden.
        setPadding(0, 0, 0,
        Resources res = getContext().getResources();
        final int sidePadding = res.getDimensionPixelSize(R.dimen.notification_side_paddings);
        setPadding(sidePadding, 0, sidePadding,
                getContext().getResources().getDimensionPixelSize(
                        R.dimen.qs_paged_tile_layout_padding_bottom));
        boolean changed = false;
+1 −2
Original line number Diff line number Diff line
@@ -103,8 +103,7 @@ public class TileLayout extends ViewGroup implements QSTileLayout {
        // it will show all its tiles. In this case, the tiles have to be entered before the
        // container is measured. Any change in the tiles, should trigger a remeasure.
        final int numTiles = mRecords.size();
        final int width = MeasureSpec.getSize(widthMeasureSpec)
                - getPaddingStart() - getPaddingEnd();
        final int width = MeasureSpec.getSize(widthMeasureSpec);
        final int heightMode = MeasureSpec.getMode(heightMeasureSpec);
        if (heightMode == MeasureSpec.UNSPECIFIED) {
            mRows = (numTiles + mColumns - 1) / mColumns;