RoomDirectory : use same logic for name description computation
This commit is contained in:
parent
5e4eed68b5
commit
0c3d872bcc
1 changed files with 19 additions and 3 deletions
|
|
@ -22,13 +22,29 @@ import io.element.android.libraries.designsystem.components.avatar.AvatarSize
|
||||||
import io.element.android.libraries.matrix.api.roomdirectory.RoomDescription as MatrixRoomDescription
|
import io.element.android.libraries.matrix.api.roomdirectory.RoomDescription as MatrixRoomDescription
|
||||||
|
|
||||||
fun MatrixRoomDescription.toFeatureModel(): RoomDescription {
|
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(
|
return RoomDescription(
|
||||||
roomId = roomId,
|
roomId = roomId,
|
||||||
name = name ?: "",
|
name = name(),
|
||||||
description = topic ?: alias ?: roomId.value,
|
description = description(),
|
||||||
avatarData = AvatarData(
|
avatarData = AvatarData(
|
||||||
id = roomId.value,
|
id = roomId.value,
|
||||||
name = name ?: "",
|
name = name,
|
||||||
url = avatarUrl,
|
url = avatarUrl,
|
||||||
size = AvatarSize.RoomDirectoryItem,
|
size = AvatarSize.RoomDirectoryItem,
|
||||||
),
|
),
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue