This commit is contained in:
Benoit Marty 2024-09-18 18:07:57 +02:00
parent 85ff062c73
commit e9a898ff82
41 changed files with 327 additions and 176 deletions

View file

@ -15,7 +15,7 @@ import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.sync.Mutex
import kotlinx.coroutines.sync.withLock
import org.matrix.rustcomponents.sdk.TimelineChange
import org.matrix.rustcomponents.sdk.TimelineDiffInterface
import org.matrix.rustcomponents.sdk.TimelineDiff
import org.matrix.rustcomponents.sdk.TimelineItem
import timber.log.Timber
@ -36,7 +36,7 @@ internal class MatrixTimelineDiffProcessor(
}
}
suspend fun postDiffs(diffs: List<TimelineDiffInterface>) {
suspend fun postDiffs(diffs: List<TimelineDiff>) {
updateTimelineItems {
Timber.v("Update timeline items from postDiffs (with ${diffs.size} items) on ${Thread.currentThread()}")
diffs.forEach { diff ->
@ -52,7 +52,7 @@ internal class MatrixTimelineDiffProcessor(
timelineItems.value = mutableTimelineItems
}
private fun MutableList<MatrixTimelineItem>.applyDiff(diff: TimelineDiffInterface) {
private fun MutableList<MatrixTimelineItem>.applyDiff(diff: TimelineDiff) {
when (diff.change()) {
TimelineChange.APPEND -> {
val items = diff.append()?.map { it.asMatrixTimelineItem() } ?: return