Use ImmutableList in Composable.
This commit is contained in:
parent
09f3868b53
commit
a2ff1dc933
3 changed files with 15 additions and 12 deletions
|
|
@ -443,7 +443,7 @@ private fun MessagesViewComposerBottomSheetContents(
|
|||
private fun MessagesViewTopBar(
|
||||
roomName: String?,
|
||||
roomAvatar: AvatarData?,
|
||||
heroes: List<AvatarData>,
|
||||
heroes: ImmutableList<AvatarData>,
|
||||
callState: RoomCallState,
|
||||
onRoomDetailsClick: () -> Unit,
|
||||
onJoinCallClick: () -> Unit,
|
||||
|
|
@ -503,7 +503,7 @@ private fun CallMenuItem(
|
|||
private fun RoomAvatarAndNameRow(
|
||||
roomName: String,
|
||||
roomAvatar: AvatarData,
|
||||
heroes: List<AvatarData>,
|
||||
heroes: ImmutableList<AvatarData>,
|
||||
modifier: Modifier = Modifier
|
||||
) {
|
||||
Row(
|
||||
|
|
|
|||
|
|
@ -26,7 +26,6 @@ import androidx.compose.foundation.layout.consumeWindowInsets
|
|||
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.rememberScrollState
|
||||
import androidx.compose.foundation.verticalScroll
|
||||
import androidx.compose.material.icons.Icons
|
||||
|
|
@ -85,6 +84,8 @@ import io.element.android.libraries.matrix.api.user.MatrixUser
|
|||
import io.element.android.libraries.testtags.TestTags
|
||||
import io.element.android.libraries.testtags.testTag
|
||||
import io.element.android.libraries.ui.strings.CommonStrings
|
||||
import kotlinx.collections.immutable.ImmutableList
|
||||
import kotlinx.collections.immutable.toPersistentList
|
||||
|
||||
@Composable
|
||||
fun RoomDetailsView(
|
||||
|
|
@ -326,7 +327,7 @@ private fun RoomHeaderSection(
|
|||
roomAlias: RoomAlias?,
|
||||
isEncrypted: Boolean,
|
||||
isPublic: Boolean,
|
||||
heroes: List<MatrixUser> = emptyList(),
|
||||
heroes: ImmutableList<MatrixUser>,
|
||||
openAvatarPreview: (url: String) -> Unit,
|
||||
) {
|
||||
Column(
|
||||
|
|
@ -344,7 +345,7 @@ private fun RoomHeaderSection(
|
|||
url = user.avatarUrl,
|
||||
size = AvatarSize.RoomHeader
|
||||
)
|
||||
},
|
||||
}.toPersistentList(),
|
||||
modifier = Modifier
|
||||
.clickable(enabled = avatarUrl != null) { openAvatarPreview(avatarUrl!!) }
|
||||
.testTag(TestTags.roomDetailAvatar)
|
||||
|
|
|
|||
|
|
@ -30,6 +30,8 @@ import androidx.compose.ui.tooling.preview.Preview
|
|||
import androidx.compose.ui.unit.dp
|
||||
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
|
||||
import io.element.android.libraries.designsystem.preview.PreviewGroup
|
||||
import kotlinx.collections.immutable.ImmutableList
|
||||
import kotlinx.collections.immutable.toPersistentList
|
||||
import java.util.Collections
|
||||
import kotlin.math.PI
|
||||
import kotlin.math.cos
|
||||
|
|
@ -38,7 +40,7 @@ import kotlin.math.sin
|
|||
@Composable
|
||||
fun CompositeAvatar(
|
||||
avatarData: AvatarData,
|
||||
heroes: List<AvatarData>,
|
||||
heroes: ImmutableList<AvatarData>,
|
||||
modifier: Modifier = Modifier,
|
||||
contentDescription: String? = null,
|
||||
) {
|
||||
|
|
@ -122,27 +124,27 @@ internal fun CompositeAvatarPreview() = ElementThemedPreview {
|
|||
) {
|
||||
CompositeAvatar(
|
||||
avatarData = mainAvatar,
|
||||
heroes = List(0) { aHeroAvatarData(it) },
|
||||
heroes = List(0) { aHeroAvatarData(it) }.toPersistentList(),
|
||||
)
|
||||
CompositeAvatar(
|
||||
avatarData = mainAvatar,
|
||||
heroes = List(1) { aHeroAvatarData(it) },
|
||||
heroes = List(1) { aHeroAvatarData(it) }.toPersistentList(),
|
||||
)
|
||||
CompositeAvatar(
|
||||
avatarData = mainAvatar,
|
||||
heroes = List(2) { aHeroAvatarData(it) },
|
||||
heroes = List(2) { aHeroAvatarData(it) }.toPersistentList(),
|
||||
)
|
||||
CompositeAvatar(
|
||||
avatarData = mainAvatar,
|
||||
heroes = List(3) { aHeroAvatarData(it) },
|
||||
heroes = List(3) { aHeroAvatarData(it) }.toPersistentList(),
|
||||
)
|
||||
CompositeAvatar(
|
||||
avatarData = mainAvatar,
|
||||
heroes = List(4) { aHeroAvatarData(it) },
|
||||
heroes = List(4) { aHeroAvatarData(it) }.toPersistentList(),
|
||||
)
|
||||
CompositeAvatar(
|
||||
avatarData = mainAvatar,
|
||||
heroes = List(5) { aHeroAvatarData(it) },
|
||||
heroes = List(5) { aHeroAvatarData(it) }.toPersistentList(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue