Introduce a localId for event, to avoid blink effect when sending

This commit is contained in:
ganfra
2018-12-17 18:25:02 +01:00
parent 0f667fe6e8
commit 4656429d83
4 changed files with 17 additions and 8 deletions

View File

@ -5,6 +5,7 @@ import com.airbnb.epoxy.EpoxyAsyncUtil
import com.airbnb.epoxy.EpoxyController
import im.vector.matrix.android.api.session.events.model.EnrichedEvent
import im.vector.matrix.android.api.session.events.model.EventType
import im.vector.matrix.android.api.session.events.model.localId
import im.vector.riotredesign.core.extensions.localDateTime
import im.vector.riotredesign.features.home.LoadingItemModel_
@ -62,11 +63,11 @@ class TimelineEventController(private val roomId: String,
val item = when (event.root.type) {
EventType.MESSAGE -> messageItemFactory.create(event, nextEvent, addDaySeparator, date)
else -> textItemFactory.create(event)
else -> textItemFactory.create(event)
}
item
?.onBind { timeline?.loadAround(index) }
?.id(event.root.eventId)
?.id(event.localId())
?.addTo(this)
if (addDaySeparator) {