From fc3db0cf10298f1a17fcaa8eaf38cbcc638b82d3 Mon Sep 17 00:00:00 2001 From: Fabian Kozynski Date: Thu, 18 Mar 2021 13:09:57 -0400 Subject: [PATCH] Use number of rows from resources for QS This makes it so that the number of rows is always 4 in portrait and 2 in landscape, with QS scrolling. Test: manual Bug: 171319433 Fixes: 182859881 Change-Id: Ie4b9b36de8c333e18c54a4e2f9874dfaaf7e31e5 --- .../android/systemui/qs/SideLabelTileLayout.kt | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/packages/SystemUI/src/com/android/systemui/qs/SideLabelTileLayout.kt b/packages/SystemUI/src/com/android/systemui/qs/SideLabelTileLayout.kt index 0ebadfd2fa110..d1deecaa38202 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/SideLabelTileLayout.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/SideLabelTileLayout.kt @@ -18,6 +18,7 @@ package com.android.systemui.qs import android.content.Context import android.util.AttributeSet +import com.android.systemui.R open class SideLabelTileLayout( context: Context, @@ -26,7 +27,7 @@ open class SideLabelTileLayout( override fun updateResources(): Boolean { return super.updateResources().also { - mMaxAllowedRows = 4 + mMaxAllowedRows = context.resources.getInteger(R.integer.quick_settings_max_rows) } } @@ -44,4 +45,19 @@ open class SideLabelTileLayout( val row = index / mColumns return getRowTop(row) } + + override fun updateMaxRows(allowedHeight: Int, tilesCount: Int): Boolean { + val previousRows = mRows + mRows = mMaxAllowedRows + // We want at most mMaxAllowedRows, but it could be that we don't have enough tiles to fit + // that many rows. In that case, we want + // `tilesCount = (mRows - 1) * mColumns + X` + // where X is some remainder between 1 and `mColumns - 1` + // Adding `mColumns - 1` will guarantee that the final value F will satisfy + // `mRows * mColumns <= F < (mRows + 1) * mColumns + if (mRows > (tilesCount + mColumns - 1) / mColumns) { + mRows = (tilesCount + mColumns - 1) / mColumns + } + return previousRows != mRows + } } \ No newline at end of file