diff options
| author | 2022-05-09 13:14:59 -0400 | |
|---|---|---|
| committer | 2022-05-09 13:19:31 -0400 | |
| commit | 0b85649636563bd58cd5de64ed2019208d8a6c57 (patch) | |
| tree | af5782bf8a5ea4748517ac9e362f9bb06289ec17 | |
| parent | 46e3f9217153cfa271ab3f31046ade20c675af7d (diff) | |
Fix last tile bottom calculation
Use the unoverriden height for tiles (only relevant for tiles in QS
while expanding for QQS). This way, we get the bottom after animations
will be finished.
Test: manual, with media and in split shade
Fixes: 231399422
Change-Id: Ib67dcb09e3b97ea3dbb27a92d2a14bc00fc64b6e
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/qs/TileLayout.java | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/qs/TileLayout.java b/packages/SystemUI/src/com/android/systemui/qs/TileLayout.java index 311ee56477de..3d00dd49cb1c 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/TileLayout.java +++ b/packages/SystemUI/src/com/android/systemui/qs/TileLayout.java @@ -47,7 +47,7 @@ public class TileLayout extends ViewGroup implements QSTileLayout { private int mMaxColumns = NO_MAX_COLUMNS; protected int mResourceColumns; private float mSquishinessFraction = 1f; - private int mLastTileBottom; + protected int mLastTileBottom; public TileLayout(Context context) { this(context, null); @@ -243,12 +243,11 @@ public class TileLayout extends ViewGroup implements QSTileLayout { record.tileView.setLeftTopRightBottom(left, top, right, bottom); } record.tileView.setPosition(i); - if (forLayout) { - mLastTileBottom = record.tileView.getBottom(); - } else { - float scale = QSTileViewImplKt.constrainSquishiness(mSquishinessFraction); - mLastTileBottom = top + (int) (record.tileView.getMeasuredHeight() * scale); - } + + // Set the bottom to the unoverriden squished bottom. This is to avoid fake bottoms that + // are only used for QQS -> QS expansion animations + float scale = QSTileViewImplKt.constrainSquishiness(mSquishinessFraction); + mLastTileBottom = top + (int) (record.tileView.getMeasuredHeight() * scale); } } @@ -258,7 +257,8 @@ public class TileLayout extends ViewGroup implements QSTileLayout { } protected int getRowTop(int row) { - return (int) (row * (mCellHeight * mSquishinessFraction + mCellMarginVertical)); + float scale = QSTileViewImplKt.constrainSquishiness(mSquishinessFraction); + return (int) (row * (mCellHeight * scale + mCellMarginVertical)); } protected int getColumnStart(int column) { |