Timeline: first version of diff/cache

This commit is contained in:
ganfra
2022-12-06 13:17:33 +01:00
parent e10c94b654
commit 81d2ca02c2
6 changed files with 157 additions and 28 deletions

View File

@@ -2,9 +2,17 @@ package io.element.android.x.matrix.timeline
import org.matrix.rustcomponents.sdk.EventTimelineItem
import org.matrix.rustcomponents.sdk.TimelineItem
import org.matrix.rustcomponents.sdk.TimelineKey
sealed interface MatrixTimelineItem {
data class Event(val event: EventTimelineItem) : MatrixTimelineItem
data class Event(val event: EventTimelineItem) : MatrixTimelineItem {
val uniqueId: String
get() = when (val eventKey = event.key()) {
is TimelineKey.TransactionId -> eventKey.txnId
is TimelineKey.EventId -> eventKey.eventId
}
}
object Virtual : MatrixTimelineItem
object Other : MatrixTimelineItem
}