Use latest matrix-rust-sdk and enable encryption

This commit is contained in:
ganfra 2022-11-03 10:27:57 +01:00
parent 87e6bd1210
commit 30665b2594
3 changed files with 13 additions and 9 deletions

View file

@ -33,7 +33,7 @@ class LastMessageFormatter(
fun format(timestamp: Long?): String {
if (timestamp == null) return ""
val now: Instant = clock.now()
val tsInstant = Instant.fromEpochSeconds(timestamp)
val tsInstant = Instant.fromEpochMilliseconds(timestamp)
val nowDateTime = now.toLocalDateTime(TimeZone.currentSystemDefault())
val tsDateTime = tsInstant.toLocalDateTime(TimeZone.currentSystemDefault())
val isSameDay = nowDateTime.date == tsDateTime.date

View file

@ -39,7 +39,10 @@ class MatrixClient internal constructor(
private val slidingSyncView = SlidingSyncViewBuilder()
.timelineLimit(limit = 1u)
.requiredState(requiredState = listOf(RequiredState(key = "m.room.avatar", value = "")))
.requiredState(requiredState = listOf(
RequiredState(key = "m.room.avatar", value = ""),
RequiredState(key = "m.room.encryption", value = ""),
))
.name(name = "HomeScreenView")
.syncMode(mode = SlidingSyncMode.FULL_SYNC)
.build()
@ -47,6 +50,7 @@ class MatrixClient internal constructor(
private val slidingSync = client
.slidingSync()
.homeserver("https://slidingsync.lab.element.dev")
.withCommonExtensions()
.addView(slidingSyncView)
.build()

View file

@ -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.UserId
import org.matrix.rustcomponents.sdk.AnyMessage
import org.matrix.rustcomponents.sdk.EventTimelineItem
class RoomMessageFactory {
fun create(anyMessage: AnyMessage): RoomMessage? {
val textMessage = anyMessage.textMessage()?.baseMessage() ?: return null
fun create(eventTimelineItem: EventTimelineItem?): RoomMessage? {
eventTimelineItem ?: return null
return RoomMessage(
eventId = EventId(textMessage.id()),
body = textMessage.body(),
sender = UserId(textMessage.sender()),
originServerTs = textMessage.originServerTs().toLong()
eventId = EventId(eventTimelineItem.eventId() ?: ""),
body = eventTimelineItem.content().asMessage()?.body() ?: "",
sender = UserId(eventTimelineItem.sender()),
originServerTs = eventTimelineItem.originServerTs()?.toLong() ?: 0L
)
}