diff options
| author | 2023-07-31 10:20:41 +0000 | |
|---|---|---|
| committer | 2023-07-31 10:20:41 +0000 | |
| commit | 491fb9560b4bb04d0438cd5f2757c778cd85c5dc (patch) | |
| tree | f35e0a6104864d6ba74d3a2cb3fb72ca45b7cbc7 | |
| parent | cf9ff2ab39eb29d7c419e068973967454fcd0c31 (diff) | |
| parent | 4526f941a1178c04d70b2ef1f978372cb247d1b6 (diff) | |
Merge "Do not recycle conversations in Compose PeopleSpace implementation" into udc-qpr-dev am: 4526f941a1
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/24189944
Change-Id: Ic314a5886a3021ebac54a039f9238d4d7fbc16c6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | packages/SystemUI/compose/features/src/com/android/systemui/people/ui/compose/PeopleScreen.kt | 50 |
1 files changed, 24 insertions, 26 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 f88fc21addff..d84e67620177 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 @@ -20,7 +20,6 @@ import android.annotation.StringRes import androidx.compose.foundation.Image import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxSize @@ -28,9 +27,9 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size -import androidx.compose.foundation.lazy.LazyColumn -import androidx.compose.foundation.lazy.LazyListScope +import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.foundation.verticalScroll import androidx.compose.material3.Divider import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface @@ -39,6 +38,7 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue +import androidx.compose.runtime.key import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.asImageBitmap @@ -134,10 +134,11 @@ private fun PeopleScreenWithConversations( ) } - LazyColumn( - Modifier.fillMaxWidth().sysuiResTag("scroll_view"), - contentPadding = - PaddingValues( + Column( + Modifier.fillMaxWidth() + .sysuiResTag("scroll_view") + .verticalScroll(rememberScrollState()) + .padding( top = 16.dp, bottom = PeopleSpacePadding, start = 8.dp, @@ -151,7 +152,7 @@ private fun PeopleScreenWithConversations( if (recentTiles.isNotEmpty()) { if (hasPriorityConversations) { - item { Spacer(Modifier.height(35.dp)) } + Spacer(Modifier.height(35.dp)) } ConversationList(R.string.recent_conversations, recentTiles, onTileClicked) @@ -160,33 +161,30 @@ private fun PeopleScreenWithConversations( } } -private fun LazyListScope.ConversationList( +@Composable +private fun ConversationList( @StringRes headerTextResource: Int, tiles: List<PeopleTileViewModel>, onTileClicked: (PeopleTileViewModel) -> Unit ) { - item { - Text( - stringResource(headerTextResource), - Modifier.padding(start = 16.dp), - style = MaterialTheme.typography.labelLarge, - color = LocalAndroidColorScheme.current.deprecated.colorAccentPrimaryVariant, - ) - - Spacer(Modifier.height(10.dp)) - } + Text( + stringResource(headerTextResource), + Modifier.padding(start = 16.dp), + style = MaterialTheme.typography.labelLarge, + color = LocalAndroidColorScheme.current.deprecated.colorAccentPrimaryVariant, + ) + + Spacer(Modifier.height(10.dp)) tiles.forEachIndexed { index, tile -> if (index > 0) { - item { - Divider( - color = LocalAndroidColorScheme.current.deprecated.colorBackground, - thickness = 2.dp, - ) - } + Divider( + color = LocalAndroidColorScheme.current.deprecated.colorBackground, + thickness = 2.dp, + ) } - item(tile.key.toString()) { + key(tile.key.toString()) { Tile( tile, onTileClicked, |