Increase usage of RoomAlias

This commit is contained in:
Benoit Marty 2024-04-16 12:27:26 +02:00 committed by Benoit Marty
parent fe7dfcb09b
commit a602849ec5
24 changed files with 60 additions and 38 deletions

View file

@ -20,6 +20,7 @@ import android.os.Parcelable
import androidx.compose.runtime.Immutable
import io.element.android.libraries.designsystem.components.avatar.AvatarData
import io.element.android.libraries.designsystem.components.avatar.AvatarSize
import io.element.android.libraries.matrix.api.core.RoomAlias
import io.element.android.libraries.matrix.api.core.RoomId
import kotlinx.parcelize.IgnoredOnParcel
import kotlinx.parcelize.Parcelize
@ -29,7 +30,7 @@ import kotlinx.parcelize.Parcelize
data class RoomDescription(
val roomId: RoomId,
val name: String?,
val alias: String?,
val alias: RoomAlias?,
val topic: String?,
val avatarUrl: String?,
val joinRule: JoinRule,
@ -42,14 +43,14 @@ data class RoomDescription(
}
@IgnoredOnParcel
val computedName = name ?: alias ?: roomId.value
val computedName = name ?: alias?.value ?: roomId.value
@IgnoredOnParcel
val computedDescription: String
get() {
return when {
topic != null -> topic
name != null && alias != null -> alias
name != null && alias != null -> alias.value
name == null && alias == null -> ""
else -> roomId.value
}

View file

@ -19,6 +19,7 @@ package io.element.android.features.roomdirectory.impl.root
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import io.element.android.features.roomdirectory.api.RoomDescription
import io.element.android.libraries.architecture.AsyncAction
import io.element.android.libraries.matrix.api.core.RoomAlias
import io.element.android.libraries.matrix.api.core.RoomId
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf
@ -69,7 +70,7 @@ fun aRoomDescriptionList(): ImmutableList<RoomDescription> {
roomId = RoomId("!exa:matrix.org"),
name = "Element X Android",
topic = "Element X is a secure, private and decentralized messenger.",
alias = "#element-x-android:matrix.org",
alias = RoomAlias("#element-x-android:matrix.org"),
avatarUrl = null,
joinRule = RoomDescription.JoinRule.PUBLIC,
numberOfMembers = 2765,
@ -78,7 +79,7 @@ fun aRoomDescriptionList(): ImmutableList<RoomDescription> {
roomId = RoomId("!exi:matrix.org"),
name = "Element X iOS",
topic = "Element X is a secure, private and decentralized messenger.",
alias = "#element-x-ios:matrix.org",
alias = RoomAlias("#element-x-ios:matrix.org"),
avatarUrl = null,
joinRule = RoomDescription.JoinRule.UNKNOWN,
numberOfMembers = 356,