RoomDirectory : use same logic for name description computation

This commit is contained in:
ganfra
2024-03-29 11:37:29 +01:00
parent 5e4eed68b5
commit 0c3d872bcc

View File

@@ -22,13 +22,29 @@ import io.element.android.libraries.designsystem.components.avatar.AvatarSize
import io.element.android.libraries.matrix.api.roomdirectory.RoomDescription as MatrixRoomDescription
fun MatrixRoomDescription.toFeatureModel(): RoomDescription {
fun name(): String {
return name ?: alias ?: roomId.value
}
fun description(): String {
val topic = topic
val alias = alias
val name = name
return when {
topic != null -> topic
name != null && alias != null -> alias
name == null && alias == null -> ""
else -> roomId.value
}
}
return RoomDescription(
roomId = roomId,
name = name ?: "",
description = topic ?: alias ?: roomId.value,
name = name(),
description = description(),
avatarData = AvatarData(
id = roomId.value,
name = name ?: "",
name = name,
url = avatarUrl,
size = AvatarSize.RoomDirectoryItem,
),