|
|
@ -2,17 +2,17 @@ package io.element.android.x.matrix.room.message |
|
|
|
|
|
|
|
|
|
|
|
import io.element.android.x.matrix.core.EventId |
|
|
|
import io.element.android.x.matrix.core.EventId |
|
|
|
import io.element.android.x.matrix.core.UserId |
|
|
|
import io.element.android.x.matrix.core.UserId |
|
|
|
import org.matrix.rustcomponents.sdk.AnyMessage |
|
|
|
import org.matrix.rustcomponents.sdk.EventTimelineItem |
|
|
|
|
|
|
|
|
|
|
|
class RoomMessageFactory { |
|
|
|
class RoomMessageFactory { |
|
|
|
|
|
|
|
|
|
|
|
fun create(anyMessage: AnyMessage): RoomMessage? { |
|
|
|
fun create(eventTimelineItem: EventTimelineItem?): RoomMessage? { |
|
|
|
val textMessage = anyMessage.textMessage()?.baseMessage() ?: return null |
|
|
|
eventTimelineItem ?: return null |
|
|
|
return RoomMessage( |
|
|
|
return RoomMessage( |
|
|
|
eventId = EventId(textMessage.id()), |
|
|
|
eventId = EventId(eventTimelineItem.eventId() ?: ""), |
|
|
|
body = textMessage.body(), |
|
|
|
body = eventTimelineItem.content().asMessage()?.body() ?: "", |
|
|
|
sender = UserId(textMessage.sender()), |
|
|
|
sender = UserId(eventTimelineItem.sender()), |
|
|
|
originServerTs = textMessage.originServerTs().toLong() |
|
|
|
originServerTs = eventTimelineItem.originServerTs()?.toLong() ?: 0L |
|
|
|
) |
|
|
|
) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|