Room navigation : some clean up

This commit is contained in:
ganfra 2024-04-12 15:58:15 +02:00
parent c0918bd965
commit 8b80b2859f
28 changed files with 107 additions and 142 deletions

View file

@ -21,6 +21,7 @@ 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.RoomId
import kotlinx.parcelize.IgnoredOnParcel
import kotlinx.parcelize.Parcelize
@Parcelize
@ -34,15 +35,16 @@ data class RoomDescription(
val joinRule: JoinRule,
val numberOfMembers: Long,
) : Parcelable {
enum class JoinRule {
PUBLIC,
KNOCK,
UNKNOWN
}
@IgnoredOnParcel
val computedName = name ?: alias ?: roomId.value
@IgnoredOnParcel
val computedDescription: String
get() {
return when {
@ -53,7 +55,8 @@ data class RoomDescription(
}
}
fun canBeJoined() = joinRule == JoinRule.PUBLIC || joinRule == JoinRule.KNOCK
@IgnoredOnParcel
val canJoinOrKnock = joinRule == JoinRule.PUBLIC || joinRule == JoinRule.KNOCK
fun avatarData(size: AvatarSize) = AvatarData(
id = roomId.value,