Merge "Manually set mLastTileBottom when not laying out" into tm-dev

This commit is contained in:
TreeHugger Robot
2022-04-29 20:08:34 +00:00
committed by Android (Google) Code Review
2 changed files with 12 additions and 2 deletions

View File

@@ -17,6 +17,7 @@ import com.android.systemui.R;
import com.android.systemui.qs.QSPanel.QSTileLayout;
import com.android.systemui.qs.QSPanelControllerBase.TileRecord;
import com.android.systemui.qs.tileimpl.HeightOverrideable;
import com.android.systemui.qs.tileimpl.QSTileViewImplKt;
import java.util.ArrayList;
@@ -242,7 +243,12 @@ public class TileLayout extends ViewGroup implements QSTileLayout {
record.tileView.setLeftTopRightBottom(left, top, right, bottom);
}
record.tileView.setPosition(i);
mLastTileBottom = bottom;
if (forLayout) {
mLastTileBottom = record.tileView.getBottom();
} else {
float scale = QSTileViewImplKt.constrainSquishiness(mSquishinessFraction);
mLastTileBottom = top + (int) (record.tileView.getMeasuredHeight() * scale);
}
}
}

View File

@@ -262,7 +262,7 @@ open class QSTileViewImpl @JvmOverloads constructor(
}
// Limit how much we affect the height, so we don't have rounding artifacts when the tile
// is too short.
val constrainedSquishiness = 0.1f + squishinessFraction * 0.9f
val constrainedSquishiness = constrainSquishiness(squishinessFraction)
bottom = top + (actualHeight * constrainedSquishiness).toInt()
scrollY = (actualHeight - height) / 2
}
@@ -678,6 +678,10 @@ internal object SubtitleArrayMapping {
}
}
fun constrainSquishiness(squish: Float): Float {
return 0.1f + squish * 0.9f
}
private fun colorValuesHolder(name: String, vararg values: Int): PropertyValuesHolder {
return PropertyValuesHolder.ofInt(name, *values).apply {
setEvaluator(ArgbEvaluator.getInstance())