Reply : refactor so we can use ReplyToDetails in Composer and Timeline
This commit is contained in:
parent
78da033541
commit
71667dc235
18 changed files with 290 additions and 460 deletions
|
|
@ -582,9 +582,22 @@ class RustTimeline(
|
|||
}
|
||||
}
|
||||
|
||||
override suspend fun loadReplyDetails(eventId: EventId): Result<InReplyTo> {
|
||||
return runCatching {
|
||||
inner.loadReplyDetails(eventId.value).use(inReplyToMapper::map)
|
||||
override suspend fun loadReplyDetails(eventId: EventId): Result<InReplyTo> = withContext(dispatcher) {
|
||||
runCatching {
|
||||
val timelineItem = _timelineItems.value.firstOrNull { timelineItem ->
|
||||
timelineItem is MatrixTimelineItem.Event && timelineItem.eventId == eventId
|
||||
} as? MatrixTimelineItem.Event
|
||||
|
||||
if (timelineItem != null) {
|
||||
InReplyTo.Ready(
|
||||
eventId = eventId,
|
||||
content = timelineItem.event.content,
|
||||
senderId = timelineItem.event.sender,
|
||||
senderProfile = timelineItem.event.senderProfile,
|
||||
)
|
||||
} else {
|
||||
inner.loadReplyDetails(eventId.value).use(inReplyToMapper::map)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue