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>
This commit is contained in:
@@ -20,7 +20,6 @@ import android.annotation.StringRes
|
|||||||
import androidx.compose.foundation.Image
|
import androidx.compose.foundation.Image
|
||||||
import androidx.compose.foundation.clickable
|
import androidx.compose.foundation.clickable
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.PaddingValues
|
|
||||||
import androidx.compose.foundation.layout.Row
|
import androidx.compose.foundation.layout.Row
|
||||||
import androidx.compose.foundation.layout.Spacer
|
import androidx.compose.foundation.layout.Spacer
|
||||||
import androidx.compose.foundation.layout.fillMaxSize
|
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.height
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.layout.size
|
import androidx.compose.foundation.layout.size
|
||||||
import androidx.compose.foundation.lazy.LazyColumn
|
import androidx.compose.foundation.rememberScrollState
|
||||||
import androidx.compose.foundation.lazy.LazyListScope
|
|
||||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||||
|
import androidx.compose.foundation.verticalScroll
|
||||||
import androidx.compose.material3.Divider
|
import androidx.compose.material3.Divider
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.material3.Surface
|
import androidx.compose.material3.Surface
|
||||||
@@ -39,6 +38,7 @@ import androidx.compose.runtime.Composable
|
|||||||
import androidx.compose.runtime.LaunchedEffect
|
import androidx.compose.runtime.LaunchedEffect
|
||||||
import androidx.compose.runtime.collectAsState
|
import androidx.compose.runtime.collectAsState
|
||||||
import androidx.compose.runtime.getValue
|
import androidx.compose.runtime.getValue
|
||||||
|
import androidx.compose.runtime.key
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.graphics.asImageBitmap
|
import androidx.compose.ui.graphics.asImageBitmap
|
||||||
@@ -134,10 +134,11 @@ private fun PeopleScreenWithConversations(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
LazyColumn(
|
Column(
|
||||||
Modifier.fillMaxWidth().sysuiResTag("scroll_view"),
|
Modifier.fillMaxWidth()
|
||||||
contentPadding =
|
.sysuiResTag("scroll_view")
|
||||||
PaddingValues(
|
.verticalScroll(rememberScrollState())
|
||||||
|
.padding(
|
||||||
top = 16.dp,
|
top = 16.dp,
|
||||||
bottom = PeopleSpacePadding,
|
bottom = PeopleSpacePadding,
|
||||||
start = 8.dp,
|
start = 8.dp,
|
||||||
@@ -151,7 +152,7 @@ private fun PeopleScreenWithConversations(
|
|||||||
|
|
||||||
if (recentTiles.isNotEmpty()) {
|
if (recentTiles.isNotEmpty()) {
|
||||||
if (hasPriorityConversations) {
|
if (hasPriorityConversations) {
|
||||||
item { Spacer(Modifier.height(35.dp)) }
|
Spacer(Modifier.height(35.dp))
|
||||||
}
|
}
|
||||||
|
|
||||||
ConversationList(R.string.recent_conversations, recentTiles, onTileClicked)
|
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,
|
@StringRes headerTextResource: Int,
|
||||||
tiles: List<PeopleTileViewModel>,
|
tiles: List<PeopleTileViewModel>,
|
||||||
onTileClicked: (PeopleTileViewModel) -> Unit
|
onTileClicked: (PeopleTileViewModel) -> Unit
|
||||||
) {
|
) {
|
||||||
item {
|
Text(
|
||||||
Text(
|
stringResource(headerTextResource),
|
||||||
stringResource(headerTextResource),
|
Modifier.padding(start = 16.dp),
|
||||||
Modifier.padding(start = 16.dp),
|
style = MaterialTheme.typography.labelLarge,
|
||||||
style = MaterialTheme.typography.labelLarge,
|
color = LocalAndroidColorScheme.current.deprecated.colorAccentPrimaryVariant,
|
||||||
color = LocalAndroidColorScheme.current.deprecated.colorAccentPrimaryVariant,
|
)
|
||||||
)
|
|
||||||
|
|
||||||
Spacer(Modifier.height(10.dp))
|
Spacer(Modifier.height(10.dp))
|
||||||
}
|
|
||||||
|
|
||||||
tiles.forEachIndexed { index, tile ->
|
tiles.forEachIndexed { index, tile ->
|
||||||
if (index > 0) {
|
if (index > 0) {
|
||||||
item {
|
Divider(
|
||||||
Divider(
|
color = LocalAndroidColorScheme.current.deprecated.colorBackground,
|
||||||
color = LocalAndroidColorScheme.current.deprecated.colorBackground,
|
thickness = 2.dp,
|
||||||
thickness = 2.dp,
|
)
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
item(tile.key.toString()) {
|
key(tile.key.toString()) {
|
||||||
Tile(
|
Tile(
|
||||||
tile,
|
tile,
|
||||||
onTileClicked,
|
onTileClicked,
|
||||||
|
|||||||
Reference in New Issue
Block a user