Add ability mark as unread / mark as read a room.

This commit is contained in:
Benoit Marty 2024-02-06 12:21:45 +01:00 committed by Benoit Marty
parent d06e5c23cb
commit 9d461a4917
21 changed files with 229 additions and 13 deletions

View file

@ -30,6 +30,7 @@ import io.element.android.libraries.matrix.api.media.VideoInfo
import io.element.android.libraries.matrix.api.poll.PollKind
import io.element.android.libraries.matrix.api.room.location.AssetType
import io.element.android.libraries.matrix.api.timeline.MatrixTimeline
import io.element.android.libraries.matrix.api.timeline.ReceiptType
import io.element.android.libraries.matrix.api.widget.MatrixWidgetDriver
import io.element.android.libraries.matrix.api.widget.MatrixWidgetSettings
import kotlinx.coroutines.flow.Flow
@ -150,6 +151,17 @@ interface MatrixRoom : Closeable {
suspend fun reportContent(eventId: EventId, reason: String, blockUserId: UserId?): Result<Unit>
/**
* Reverts a previously set unread flag, and eventually send a Read Receipt.
* @param receiptType The type of receipt to send. If null, no Read Receipt will be sent.
*/
suspend fun markAsRead(receiptType: ReceiptType?): Result<Unit>
/**
* Sets a flag on the room to indicate that the user has explicitly marked it as unread.
*/
suspend fun markAsUnread(): Result<Unit>
/**
* Share a location message in the room.
*

View file

@ -43,6 +43,7 @@ data class RoomSummaryDetails(
val numUnreadMessages: Int,
val numUnreadMentions: Int,
val numUnreadNotifications: Int,
val isMarkedUnread: Boolean,
val inviter: RoomMember?,
val userDefinedNotificationMode: RoomNotificationMode?,
val hasRoomCall: Boolean,