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

Commit fc3db0cf authored by Fabian Kozynski's avatar Fabian Kozynski
Browse files

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
parent d6a0393f
Loading
Loading
Loading
Loading
+17 −1
Original line number Diff line number Diff line
@@ -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