[Room details] DM designs (#313)
* Implement member details screen * Add DM-only sections to the room details screen.
This commit is contained in:
parent
97917e7a2d
commit
30eb794d9c
44 changed files with 379 additions and 113 deletions
|
|
@ -48,7 +48,7 @@ object PermalinkBuilder {
|
|||
}
|
||||
Result.success(url)
|
||||
} else {
|
||||
Result.failure(PermalinkBuilderError.InvalidRoomAlias)
|
||||
Result.failure(PermalinkBuilderError.InvalidUserId)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -87,4 +87,5 @@ object PermalinkBuilder {
|
|||
sealed class PermalinkBuilderError : Throwable() {
|
||||
object InvalidRoomAlias : PermalinkBuilderError()
|
||||
object InvalidRoomId : PermalinkBuilderError()
|
||||
object InvalidUserId : PermalinkBuilderError()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ interface MatrixRoom: Closeable {
|
|||
val topic: String?
|
||||
val avatarUrl: String?
|
||||
val isEncrypted: Boolean
|
||||
val isDirect: Boolean
|
||||
val isPublic: Boolean
|
||||
|
||||
suspend fun members() : List<RoomMember>
|
||||
|
|
@ -41,15 +42,17 @@ interface MatrixRoom: Closeable {
|
|||
|
||||
fun getMember(userId: UserId): RoomMember?
|
||||
|
||||
fun getDmMember(): RoomMember?
|
||||
|
||||
fun syncUpdateFlow(): Flow<Long>
|
||||
|
||||
fun timeline(): MatrixTimeline
|
||||
|
||||
suspend fun fetchMembers(): Result<Unit>
|
||||
|
||||
suspend fun userDisplayName(userId: String): Result<String?>
|
||||
suspend fun userDisplayName(userId: UserId): Result<String?>
|
||||
|
||||
suspend fun userAvatarUrl(userId: String): Result<String?>
|
||||
suspend fun userAvatarUrl(userId: UserId): Result<String?>
|
||||
|
||||
suspend fun sendMessage(message: String): Result<Unit>
|
||||
|
||||
|
|
|
|||
|
|
@ -17,11 +17,12 @@
|
|||
package io.element.android.libraries.matrix.api.room
|
||||
|
||||
import android.os.Parcelable
|
||||
import io.element.android.libraries.matrix.api.core.UserId
|
||||
import kotlinx.parcelize.Parcelize
|
||||
|
||||
@Parcelize
|
||||
data class RoomMember(
|
||||
val userId: String,
|
||||
val userId: UserId,
|
||||
val displayName: String?,
|
||||
val avatarUrl: String?,
|
||||
val membership: RoomMembershipState,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue