diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt index f28ff69905..2da1d64642 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt @@ -443,7 +443,7 @@ private fun MessagesViewComposerBottomSheetContents( private fun MessagesViewTopBar( roomName: String?, roomAvatar: AvatarData?, - heroes: List, + heroes: ImmutableList, callState: RoomCallState, onRoomDetailsClick: () -> Unit, onJoinCallClick: () -> Unit, @@ -503,7 +503,7 @@ private fun CallMenuItem( private fun RoomAvatarAndNameRow( roomName: String, roomAvatar: AvatarData, - heroes: List, + heroes: ImmutableList, modifier: Modifier = Modifier ) { Row( diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt index a243e34315..1269ff1f4d 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt @@ -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 = emptyList(), + heroes: ImmutableList, 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) diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/CompositeAvatar.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/CompositeAvatar.kt index ada1671eea..2422f32c92 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/CompositeAvatar.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/CompositeAvatar.kt @@ -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, + heroes: ImmutableList, 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(), ) } }