Refactor a bit EnrichedEvent and Content. Metadata will only be used for unexpected data.

This commit is contained in:
ganfra
2018-12-18 12:13:46 +01:00
parent de4281c954
commit 39ad44e9aa
16 changed files with 73 additions and 129 deletions

View File

@ -1,7 +1,7 @@
package im.vector.riotredesign.features.home.room.detail.timeline
import im.vector.matrix.android.api.session.events.model.EnrichedEvent
import im.vector.matrix.android.api.session.events.model.roomMember
import im.vector.matrix.android.api.session.events.model.toModel
import im.vector.matrix.android.api.session.room.model.MessageContent
import org.threeten.bp.LocalDateTime
@ -10,12 +10,12 @@ class MessageItemFactory(private val timelineDateFormatter: TimelineDateFormatte
private val messagesDisplayedWithInformation = HashSet<String?>()
fun create(event: EnrichedEvent, nextEvent: EnrichedEvent?, addDaySeparator: Boolean, date: LocalDateTime): MessageItem? {
val messageContent = event.root.content<MessageContent>()
val roomMember = event.roomMember()
val messageContent: MessageContent? = event.root.content.toModel()
val roomMember = event.roomMember
if (messageContent == null || roomMember == null) {
return null
}
val nextRoomMember = nextEvent?.roomMember()
val nextRoomMember = nextEvent?.roomMember
if (addDaySeparator || nextRoomMember != roomMember) {
messagesDisplayedWithInformation.add(event.root.eventId)
}

View File

@ -5,7 +5,6 @@ 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_
@ -67,7 +66,7 @@ class TimelineEventController(private val roomId: String,
}
item
?.onBind { timeline?.loadAround(index) }
?.id(event.localId())
?.id(event.localId)
?.addTo(this)
if (addDaySeparator) {