Pass a list of event ids to the forward screen

This commit is contained in:
ganfra
2026-09-25 18:47:17 +02:00
parent 93831ffcbc
commit a0bfdd379c
6 changed files with 18 additions and 18 deletions
@@ -201,7 +201,7 @@ class JoinedRoomLoadedFlowNode(
} else {
(graph as TimelineBindings).timelineProvider
}
val params = ForwardEntryPoint.Params(navTarget.eventId, timelineProvider)
val params = ForwardEntryPoint.Params(listOf(navTarget.eventId), timelineProvider)
val callback = object : ForwardEntryPoint.Callback {
override fun onDone(roomIds: List<RoomId>) {
backstack.pop()
@@ -179,7 +179,7 @@ class MessagesFlowNode(
@Parcelize
data class ForwardEvent(
val eventId: EventId,
val eventIds: List<EventId>,
val fromPinnedEvents: Boolean,
) : NavTarget
@@ -303,8 +303,8 @@ class MessagesFlowNode(
backstack.push(NavTarget.EventDebugInfo(eventId, debugInfo))
}
override fun forwardEvent(eventId: EventId) {
backstack.push(NavTarget.ForwardEvent(eventId, fromPinnedEvents = false))
override fun forwardEvents(eventIds: List<EventId>) {
backstack.push(NavTarget.ForwardEvent(eventIds, fromPinnedEvents = false))
}
override fun navigateToReportMessage(eventId: EventId, senderId: UserId) {
@@ -464,7 +464,7 @@ class MessagesFlowNode(
} else {
timelineController
}
val params = ForwardEntryPoint.Params(navTarget.eventId, timelineProvider)
val params = ForwardEntryPoint.Params(navTarget.eventIds, timelineProvider)
val callback = object : ForwardEntryPoint.Callback {
override fun onDone(roomIds: List<RoomId>) {
backstack.pop()
@@ -551,7 +551,7 @@ class MessagesFlowNode(
}
override fun handleForwardEventClick(eventId: EventId) {
backstack.push(NavTarget.ForwardEvent(eventId = eventId, fromPinnedEvents = true))
backstack.push(NavTarget.ForwardEvent(eventIds = listOf(eventId), fromPinnedEvents = true))
}
override fun navigateToThread(threadRootId: ThreadId) {
@@ -617,8 +617,8 @@ class MessagesFlowNode(
backstack.push(NavTarget.EventDebugInfo(eventId, debugInfo))
}
override fun handleForwardEventClick(eventId: EventId) {
backstack.push(NavTarget.ForwardEvent(eventId, fromPinnedEvents = false))
override fun handleForwardEventClick(eventIds: List<EventId>) {
backstack.push(NavTarget.ForwardEvent(eventIds, fromPinnedEvents = false))
}
override fun navigateToReportMessage(eventId: EventId, senderId: UserId) {
@@ -18,7 +18,7 @@ import kotlinx.collections.immutable.ImmutableList
interface MessagesNavigator {
fun navigateToEventDebugInfo(eventId: EventId?, debugInfo: TimelineItemDebugInfo)
fun forwardEvent(eventId: EventId)
fun forwardEvents(eventIds: List<EventId>)
fun navigateToReportMessage(eventId: EventId, senderId: UserId)
fun navigateToEditPoll(eventId: EventId)
fun navigateToPreviewAttachments(attachments: ImmutableList<Attachment>, inReplyToEventId: EventId?)
@@ -130,7 +130,7 @@ class MessagesNode(
fun navigateToRoomMemberDetails(userId: UserId)
fun handlePermalinkClick(data: PermalinkData)
fun navigateToEventDebugInfo(eventId: EventId?, debugInfo: TimelineItemDebugInfo)
fun forwardEvent(eventId: EventId)
fun forwardEvents(eventIds: List<EventId>)
fun navigateToReportMessage(eventId: EventId, senderId: UserId)
fun navigateToSendLocation()
fun navigateToCreatePoll()
@@ -213,8 +213,8 @@ class MessagesNode(
callback.navigateToEventDebugInfo(eventId, debugInfo)
}
override fun forwardEvent(eventId: EventId) {
callback.forwardEvent(eventId)
override fun forwardEvents(eventIds: List<EventId>) {
callback.forwardEvents(eventIds)
}
override fun navigateToReportMessage(eventId: EventId, senderId: UserId) {
@@ -135,7 +135,7 @@ class ThreadedMessagesNode(
fun navigateToRoomMemberDetails(userId: UserId)
fun handlePermalinkClick(data: PermalinkData)
fun navigateToEventDebugInfo(eventId: EventId?, debugInfo: TimelineItemDebugInfo)
fun handleForwardEventClick(eventId: EventId)
fun handleForwardEventClick(eventIds: List<EventId>)
fun navigateToReportMessage(eventId: EventId, senderId: UserId)
fun navigateToSendLocation()
fun navigateToCreatePoll()
@@ -219,8 +219,8 @@ class ThreadedMessagesNode(
callback.navigateToEventDebugInfo(eventId, debugInfo)
}
override fun forwardEvent(eventId: EventId) {
callback.handleForwardEventClick(eventId)
override fun forwardEvents(eventIds: List<EventId>) {
callback.handleForwardEventClick(eventIds)
}
override fun navigateToReportMessage(eventId: EventId, senderId: UserId) {
@@ -19,7 +19,7 @@ import kotlinx.collections.immutable.ImmutableList
class FakeMessagesNavigator(
private val onShowEventDebugInfoClickLambda: (eventId: EventId?, debugInfo: TimelineItemDebugInfo) -> Unit = { _, _ -> lambdaError() },
private val onForwardEventClickLambda: (eventId: EventId) -> Unit = { _ -> lambdaError() },
private val onForwardEventClickLambda: (eventIds: List<EventId>) -> Unit = { _ -> lambdaError() },
private val onReportContentClickLambda: (eventId: EventId, senderId: UserId) -> Unit = { _, _ -> lambdaError() },
private val onEditPollClickLambda: (eventId: EventId) -> Unit = { _ -> lambdaError() },
private val onPreviewAttachmentLambda: (attachments: ImmutableList<Attachment>, inReplyToEventId: EventId?) -> Unit = { _, _ -> lambdaError() },
@@ -34,8 +34,8 @@ class FakeMessagesNavigator(
onShowEventDebugInfoClickLambda(eventId, debugInfo)
}
override fun forwardEvent(eventId: EventId) {
onForwardEventClickLambda(eventId)
override fun forwardEvents(eventIds: List<EventId>) {
onForwardEventClickLambda(eventIds)
}
override fun navigateToReportMessage(eventId: EventId, senderId: UserId) {