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

Commit 8d1950b4 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Use Expandable from TileGrid to enable dialog/activity transitions" into main

parents 8e08da9f b0a5abee
Loading
Loading
Loading
Loading
+34 −21
Original line number Diff line number Diff line
@@ -23,10 +23,12 @@ import androidx.compose.animation.graphics.ExperimentalAnimationGraphicsApi
import androidx.compose.animation.graphics.res.animatedVectorResource
import androidx.compose.animation.graphics.res.rememberAnimatedVectorPainter
import androidx.compose.animation.graphics.vector.AnimatedImageVector
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
import androidx.compose.foundation.basicMarquee
import androidx.compose.foundation.clickable
import androidx.compose.foundation.combinedClickable
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Arrangement.spacedBy
import androidx.compose.foundation.layout.Box
@@ -71,7 +73,7 @@ import androidx.compose.ui.semantics.onClick
import androidx.compose.ui.semantics.semantics
import androidx.compose.ui.semantics.stateDescription
import androidx.compose.ui.unit.dp
import com.android.compose.modifiers.background
import com.android.compose.animation.Expandable
import com.android.compose.theme.colorAttr
import com.android.systemui.common.shared.model.Icon
import com.android.systemui.common.ui.compose.Icon
@@ -134,7 +136,7 @@ class InfiniteGridLayout @Inject constructor(private val iconTilesInteractor: Ic
        }
    }

    @OptIn(ExperimentalCoroutinesApi::class)
    @OptIn(ExperimentalCoroutinesApi::class, ExperimentalFoundationApi::class)
    @Composable
    private fun Tile(
        tile: TileViewModel,
@@ -147,10 +149,20 @@ class InfiniteGridLayout @Inject constructor(private val iconTilesInteractor: Ic
                .collectAsState(initial = tile.currentState.toUiState())
        val context = LocalContext.current

        Expandable(
            color = colorAttr(state.colors.background),
            shape = RoundedCornerShape(dimensionResource(R.dimen.qs_corner_radius)),
        ) {
            Row(
            modifier = modifier.clickable { tile.onClick(null) }.tileModifier(state.colors),
                modifier =
                    modifier
                        .combinedClickable(
                            onClick = { tile.onClick(it) },
                            onLongClick = { tile.onLongClick(it) }
                        )
                        .tileModifier(state.colors),
                verticalAlignment = Alignment.CenterVertically,
            horizontalArrangement = tileHorizontalArrangement(iconOnly)
                horizontalArrangement = tileHorizontalArrangement(iconOnly),
            ) {
                val icon =
                    remember(state.icon) {
@@ -164,13 +176,14 @@ class InfiniteGridLayout @Inject constructor(private val iconTilesInteractor: Ic
                    }
                TileContent(
                    label = state.label.toString(),
                secondaryLabel = state.secondaryLabel.toString(),
                    secondaryLabel = state.secondaryLabel?.toString(),
                    icon = icon,
                    colors = state.colors,
                    iconOnly = iconOnly
                )
            }
        }
    }

    @Composable
    override fun EditTileGrid(