Draft : branch reply mode
This commit is contained in:
parent
71667dc235
commit
1b1b556aa4
5 changed files with 31 additions and 32 deletions
|
|
@ -170,5 +170,5 @@ interface Timeline : AutoCloseable {
|
|||
progressCallback: ProgressCallback?
|
||||
): Result<MediaUploadHandler>
|
||||
|
||||
suspend fun loadReplyDetails(eventId: EventId): Result<InReplyTo>
|
||||
suspend fun loadReplyDetails(eventId: EventId): InReplyTo
|
||||
}
|
||||
|
|
|
|||
|
|
@ -582,22 +582,20 @@ class RustTimeline(
|
|||
}
|
||||
}
|
||||
|
||||
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
|
||||
override suspend fun loadReplyDetails(eventId: EventId): InReplyTo = withContext(dispatcher) {
|
||||
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)
|
||||
}
|
||||
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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -371,8 +371,8 @@ class FakeTimeline(
|
|||
}
|
||||
}
|
||||
|
||||
var loadReplyDetailsLambda: (eventId: EventId) -> Result<InReplyTo> = {
|
||||
Result.success(InReplyTo.NotLoaded(it))
|
||||
var loadReplyDetailsLambda: (eventId: EventId) -> InReplyTo = {
|
||||
InReplyTo.NotLoaded(it)
|
||||
}
|
||||
|
||||
override suspend fun loadReplyDetails(eventId: EventId) = loadReplyDetailsLambda(eventId)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue