Room navigation : make it working with RoomDirectory

This commit is contained in:
ganfra 2024-04-10 15:14:59 +02:00
parent fc20b7399a
commit bf7a94cc93
20 changed files with 226 additions and 163 deletions

View file

@ -16,6 +16,7 @@
plugins {
id("io.element.android-library")
id("kotlin-parcelize")
}
android {

View file

@ -16,13 +16,26 @@
package io.element.android.features.roomdirectory.api
import android.os.Parcelable
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.Parcelize
@Parcelize
data class RoomDescription(
val roomId: RoomId,
val name: String,
val description: String,
val avatarData: AvatarData,
val avatarUrl: String?,
val canBeJoined: Boolean,
)
val numberOfMembers: Long,
) : Parcelable {
fun avatarData(size: AvatarSize) = AvatarData(
id = roomId.value,
name = name,
url = avatarUrl,
size = size,
)
}

View file

@ -31,6 +31,7 @@ interface RoomDirectoryEntryPoint : FeatureEntryPoint {
}
interface Callback : Plugin {
fun onOpenRoom(roomId: RoomId)
fun onRoomJoined(roomId: RoomId)
fun onResultClicked(roomDescription: RoomDescription)
}
}