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

Commit 96c75f81 authored by Olivier St-Onge's avatar Olivier St-Onge
Browse files

Adjust the corner radius of containers in edit mode

Test: manually
Flag: com.android.systemui.qs_ui_refactor_compose_fragment
Fixes: 407781581
Change-Id: I18b90c1eedd8d80cde5911170c6c5f318bd9752b
parent 3d36c81f
Loading
Loading
Loading
Loading
+27 −12
Original line number Diff line number Diff line
@@ -106,6 +106,8 @@ import androidx.compose.ui.geometry.CornerRadius
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.geometry.isSpecified
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.RectangleShape
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.graphicsLayer
import androidx.compose.ui.input.pointer.pointerInput
import androidx.compose.ui.layout.MeasureScope
@@ -148,6 +150,7 @@ import com.android.systemui.qs.panels.ui.compose.infinitegrid.CommonTileDefaults
import com.android.systemui.qs.panels.ui.compose.infinitegrid.CommonTileDefaults.ToggleTargetSize
import com.android.systemui.qs.panels.ui.compose.infinitegrid.EditModeTileDefaults.AUTO_SCROLL_DISTANCE
import com.android.systemui.qs.panels.ui.compose.infinitegrid.EditModeTileDefaults.AUTO_SCROLL_SPEED
import com.android.systemui.qs.panels.ui.compose.infinitegrid.EditModeTileDefaults.AVAILABLE_TILES_GRID_ALPHA
import com.android.systemui.qs.panels.ui.compose.infinitegrid.EditModeTileDefaults.AvailableTilesGridMinHeight
import com.android.systemui.qs.panels.ui.compose.infinitegrid.EditModeTileDefaults.CurrentTilesGridPadding
import com.android.systemui.qs.panels.ui.compose.infinitegrid.EditModeTileDefaults.GridBackgroundCornerRadius
@@ -595,24 +598,35 @@ private fun AvailableTileGrid(

    // Available tiles
    Column(
        verticalArrangement = spacedBy(TileArrangementPadding),
        verticalArrangement = spacedBy(2.dp),
        horizontalAlignment = Alignment.Start,
        modifier =
            Modifier.fillMaxWidth().wrapContentHeight().testTag(AVAILABLE_TILES_GRID_TEST_TAG),
    ) {
        groupedTileSpecs.forEach { (category, tileSpecs) ->
        groupedTileSpecs.entries.forEachIndexed { index, (category, tileSpecs) ->
            key(category) {
                val surfaceColor = MaterialTheme.colorScheme.surface
                val shape =
                    when (index) {
                        0 ->
                            RoundedCornerShape(
                                topStart = GridBackgroundCornerRadius,
                                topEnd = GridBackgroundCornerRadius,
                            )
                        groupedTileSpecs.size - 1 ->
                            RoundedCornerShape(
                                bottomStart = GridBackgroundCornerRadius,
                                bottomEnd = GridBackgroundCornerRadius,
                            )
                        else -> RectangleShape
                    }
                Column(
                    verticalArrangement = spacedBy(16.dp),
                    modifier =
                        Modifier.drawBehind {
                                drawRoundRect(
                                    surfaceColor,
                                    cornerRadius = CornerRadius(GridBackgroundCornerRadius.toPx()),
                                    alpha = .32f,
                        Modifier.background(
                                brush = SolidColor(MaterialTheme.colorScheme.surface),
                                shape = shape,
                                alpha = AVAILABLE_TILES_GRID_ALPHA,
                            )
                            }
                            .padding(16.dp),
                ) {
                    CategoryHeader(
@@ -647,7 +661,7 @@ private fun AvailableTileGrid(
    }
}

fun gridHeight(rows: Int, tileHeight: Dp, tilePadding: Dp, gridPadding: Dp): Dp {
private fun gridHeight(rows: Int, tileHeight: Dp, tilePadding: Dp, gridPadding: Dp): Dp {
    return ((tileHeight + tilePadding) * rows) + gridPadding * 2
}

@@ -1061,9 +1075,10 @@ private object EditModeTileDefaults {
    const val PLACEHOLDER_ALPHA = .3f
    const val AUTO_SCROLL_DISTANCE = 100
    const val AUTO_SCROLL_SPEED = 2 // 2ms per pixel
    const val AVAILABLE_TILES_GRID_ALPHA = .32f
    val CurrentTilesGridPadding = 10.dp
    val AvailableTilesGridMinHeight = 200.dp
    val GridBackgroundCornerRadius = 42.dp
    val GridBackgroundCornerRadius = 28.dp

    @Composable
    fun editTileColors(): TileColors =