mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-02 21:32:34 +00:00
RoomDirectory : use same logic for name description computation
This commit is contained in:
+19
-3
@@ -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,
|
||||||
),
|
),
|
||||||
|
|||||||
Reference in New Issue
Block a user