summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/compose/features/src/com/android/systemui/people/ui/compose/PeopleScreen.kt54
-rw-r--r--packages/SystemUI/compose/features/src/com/android/systemui/people/ui/compose/PeopleScreenEmpty.kt7
2 files changed, 33 insertions, 28 deletions
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/people/ui/compose/PeopleScreen.kt b/packages/SystemUI/compose/features/src/com/android/systemui/people/ui/compose/PeopleScreen.kt
index f948ba1a2ac2..2e1100a219cf 100644
--- a/packages/SystemUI/compose/features/src/com/android/systemui/people/ui/compose/PeopleScreen.kt
+++ b/packages/SystemUI/compose/features/src/com/android/systemui/people/ui/compose/PeopleScreen.kt
@@ -19,6 +19,7 @@ package com.android.systemui.people.ui.compose
import android.annotation.StringRes
import androidx.compose.foundation.Image
import androidx.compose.foundation.clickable
+import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
@@ -31,7 +32,6 @@ import androidx.compose.foundation.layout.size
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.foundation.verticalScroll
-import androidx.compose.material3.HorizontalDivider
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
@@ -61,7 +61,11 @@ import com.android.systemui.res.R
* the Activity/Fragment/View hosting this Composable once a result is available.
*/
@Composable
-fun PeopleScreen(viewModel: PeopleViewModel, onResult: (PeopleViewModel.Result) -> Unit) {
+fun PeopleScreen(
+ viewModel: PeopleViewModel,
+ onResult: (PeopleViewModel.Result) -> Unit,
+ modifier: Modifier = Modifier,
+) {
val priorityTiles by viewModel.priorityTiles.collectAsStateWithLifecycle()
val recentTiles by viewModel.recentTiles.collectAsStateWithLifecycle()
@@ -75,7 +79,7 @@ fun PeopleScreen(viewModel: PeopleViewModel, onResult: (PeopleViewModel.Result)
}
}
- Surface(color = MaterialTheme.colorScheme.background, modifier = Modifier.fillMaxSize()) {
+ Surface(color = MaterialTheme.colorScheme.background, modifier = modifier.fillMaxSize()) {
if (priorityTiles.isNotEmpty() || recentTiles.isNotEmpty()) {
PeopleScreenWithConversations(priorityTiles, recentTiles, viewModel.onTileClicked)
} else {
@@ -89,9 +93,10 @@ private fun PeopleScreenWithConversations(
priorityTiles: List<PeopleTileViewModel>,
recentTiles: List<PeopleTileViewModel>,
onTileClicked: (PeopleTileViewModel) -> Unit,
+ modifier: Modifier = Modifier,
) {
Column(
- Modifier.fillMaxSize().safeDrawingPadding().sysuiResTag("top_level_with_conversations")
+ modifier.fillMaxSize().safeDrawingPadding().sysuiResTag("top_level_with_conversations")
) {
Column(
Modifier.fillMaxWidth().padding(PeopleSpacePadding),
@@ -140,16 +145,8 @@ private fun ConversationList(
@StringRes headerTextResource: Int,
tiles: List<PeopleTileViewModel>,
onTileClicked: (PeopleTileViewModel) -> Unit,
+ modifier: Modifier = Modifier,
) {
- Text(
- stringResource(headerTextResource),
- Modifier.padding(start = 16.dp),
- style = MaterialTheme.typography.labelLarge,
- color = MaterialTheme.colorScheme.primary,
- )
-
- Spacer(Modifier.height(10.dp))
-
val largeCornerRadius = dimensionResource(R.dimen.people_space_widget_radius)
val smallCornerRadius = 4.dp
@@ -157,18 +154,23 @@ private fun ConversationList(
fun bottomRadius(i: Int): Dp =
if (i == tiles.lastIndex) largeCornerRadius else smallCornerRadius
- tiles.forEachIndexed { index, tile ->
- if (index > 0) {
- HorizontalDivider(color = MaterialTheme.colorScheme.background, thickness = 2.dp)
- }
-
- key(tile.key.toString()) {
- Tile(
- tile,
- onTileClicked,
- topCornerRadius = topRadius(index),
- bottomCornerRadius = bottomRadius(index),
- )
+ Column(modifier, verticalArrangement = Arrangement.spacedBy(2.dp)) {
+ Text(
+ stringResource(headerTextResource),
+ Modifier.padding(start = 16.dp, bottom = 8.dp),
+ style = MaterialTheme.typography.labelLarge,
+ color = MaterialTheme.colorScheme.primary,
+ )
+
+ tiles.forEachIndexed { index, tile ->
+ key(tile.key.toString()) {
+ Tile(
+ tile,
+ onTileClicked,
+ topCornerRadius = topRadius(index),
+ bottomCornerRadius = bottomRadius(index),
+ )
+ }
}
}
}
@@ -179,8 +181,10 @@ private fun Tile(
onTileClicked: (PeopleTileViewModel) -> Unit,
topCornerRadius: Dp,
bottomCornerRadius: Dp,
+ modifier: Modifier = Modifier,
) {
Surface(
+ modifier,
color = MaterialTheme.colorScheme.secondaryContainer,
shape =
RoundedCornerShape(
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/people/ui/compose/PeopleScreenEmpty.kt b/packages/SystemUI/compose/features/src/com/android/systemui/people/ui/compose/PeopleScreenEmpty.kt
index 527314d8c03e..d4dea65a7c73 100644
--- a/packages/SystemUI/compose/features/src/com/android/systemui/people/ui/compose/PeopleScreenEmpty.kt
+++ b/packages/SystemUI/compose/features/src/com/android/systemui/people/ui/compose/PeopleScreenEmpty.kt
@@ -44,9 +44,9 @@ import androidx.compose.ui.unit.dp
import com.android.systemui.res.R
@Composable
-internal fun PeopleScreenEmpty(onGotItClicked: () -> Unit) {
+internal fun PeopleScreenEmpty(onGotItClicked: () -> Unit, modifier: Modifier = Modifier) {
Column(
- Modifier.fillMaxSize().safeDrawingPadding().padding(PeopleSpacePadding),
+ modifier.fillMaxSize().safeDrawingPadding().padding(PeopleSpacePadding),
horizontalAlignment = Alignment.CenterHorizontally,
) {
Text(
@@ -74,8 +74,9 @@ internal fun PeopleScreenEmpty(onGotItClicked: () -> Unit) {
}
@Composable
-private fun ExampleTile() {
+private fun ExampleTile(modifier: Modifier = Modifier) {
Surface(
+ modifier,
shape = RoundedCornerShape(28.dp),
color = MaterialTheme.colorScheme.secondaryContainer,
) {