summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/res/layout/qs_paged_tile_layout.xml13
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java21
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/TileLayout.java6
3 files changed, 23 insertions, 17 deletions
diff --git a/packages/SystemUI/res/layout/qs_paged_tile_layout.xml b/packages/SystemUI/res/layout/qs_paged_tile_layout.xml
index 708326971454..e44fbcfd122f 100644
--- a/packages/SystemUI/res/layout/qs_paged_tile_layout.xml
+++ b/packages/SystemUI/res/layout/qs_paged_tile_layout.xml
@@ -21,18 +21,5 @@
android:layout_height="wrap_content"
android:layout_weight="1"
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"
- android:layout_height="48dp"
- android:layout_gravity="bottom">
-
- </FrameLayout>
-
</com.android.systemui.qs.PagedTileLayout>
diff --git a/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java b/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java
index c398a4a68976..76dfddb78c80 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java
@@ -8,6 +8,7 @@ import android.animation.PropertyValuesHolder;
import android.content.Context;
import android.content.res.Configuration;
import android.content.res.Resources;
+import android.graphics.Rect;
import android.os.Bundle;
import android.util.AttributeSet;
import android.util.Log;
@@ -60,6 +61,7 @@ public class PagedTileLayout extends ViewPager implements QSTileLayout {
private int mPageToRestore = -1;
private int mLayoutOrientation;
private int mLayoutDirection;
+ private int mHorizontalClipBound;
public PagedTileLayout(Context context, AttributeSet attrs) {
super(context, attrs);
@@ -260,8 +262,8 @@ public class PagedTileLayout extends ViewPager implements QSTileLayout {
// Update bottom padding, useful for removing extra space once the panel page indicator is
// hidden.
Resources res = getContext().getResources();
- final int sidePadding = res.getDimensionPixelSize(R.dimen.notification_side_paddings);
- setPadding(sidePadding, 0, sidePadding,
+ mHorizontalClipBound = res.getDimensionPixelSize(R.dimen.notification_side_paddings);
+ setPadding(0, 0, 0,
getContext().getResources().getDimensionPixelSize(
R.dimen.qs_paged_tile_layout_padding_bottom));
boolean changed = false;
@@ -276,6 +278,13 @@ public class PagedTileLayout extends ViewPager implements QSTileLayout {
}
@Override
+ protected void onLayout(boolean changed, int l, int t, int r, int b) {
+ super.onLayout(changed, l, t, r, b);
+ Rect clipBounds = new Rect(mHorizontalClipBound, 0, (r-l) - mHorizontalClipBound, b - t);
+ setClipBounds(clipBounds);
+ }
+
+ @Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
final int nTiles = mTiles.size();
@@ -412,6 +421,14 @@ public class PagedTileLayout extends ViewPager implements QSTileLayout {
public int maxTiles() {
return mColumns * mRows;
}
+
+ @Override
+ public boolean updateResources() {
+ final int sidePadding = getContext().getResources().getDimensionPixelSize(
+ R.dimen.notification_side_paddings);
+ setPadding(sidePadding, 0, sidePadding, 0);
+ return super.updateResources();
+ }
}
private final PagerAdapter mAdapter = new PagerAdapter() {
diff --git a/packages/SystemUI/src/com/android/systemui/qs/TileLayout.java b/packages/SystemUI/src/com/android/systemui/qs/TileLayout.java
index e884302af075..1dd729d0624c 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/TileLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/TileLayout.java
@@ -104,11 +104,13 @@ public class TileLayout extends ViewGroup implements QSTileLayout {
// container is measured. Any change in the tiles, should trigger a remeasure.
final int numTiles = mRecords.size();
final int width = MeasureSpec.getSize(widthMeasureSpec);
+ final int availableWidth = width - getPaddingStart() - getPaddingEnd();
final int heightMode = MeasureSpec.getMode(heightMeasureSpec);
if (heightMode == MeasureSpec.UNSPECIFIED) {
mRows = (numTiles + mColumns - 1) / mColumns;
}
- mCellWidth = (width - mSidePadding * 2 - (mCellMarginHorizontal * mColumns)) / mColumns;
+ mCellWidth =
+ (availableWidth - mSidePadding * 2 - (mCellMarginHorizontal * mColumns)) / mColumns;
// Measure each QS tile.
View previousView = this;
@@ -124,7 +126,7 @@ public class TileLayout extends ViewGroup implements QSTileLayout {
(mRows != 0 ? (mCellMarginTop - mCellMarginVertical) : 0);
if (height < 0) height = 0;
- setMeasuredDimension(width, height);
+ setMeasuredDimension(width + getPaddingStart() + getPaddingEnd(), height);
}
/**