Browse Source

Use latest matrix-rust-sdk and enable encryption

feature/bma/flipper
ganfra 2 years ago
parent
commit
30665b2594
  1. 2
      features/roomlist/src/main/java/io/element/android/x/features/roomlist/LastMessageFormatter.kt
  2. 6
      libraries/matrix/src/main/java/io/element/android/x/matrix/MatrixClient.kt
  3. 14
      libraries/matrix/src/main/java/io/element/android/x/matrix/room/message/RoomMessageFactory.kt

2
features/roomlist/src/main/java/io/element/android/x/features/roomlist/LastMessageFormatter.kt

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

6
libraries/matrix/src/main/java/io/element/android/x/matrix/MatrixClient.kt

@ -39,7 +39,10 @@ class MatrixClient internal constructor(
private val slidingSyncView = SlidingSyncViewBuilder() private val slidingSyncView = SlidingSyncViewBuilder()
.timelineLimit(limit = 1u) .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") .name(name = "HomeScreenView")
.syncMode(mode = SlidingSyncMode.FULL_SYNC) .syncMode(mode = SlidingSyncMode.FULL_SYNC)
.build() .build()
@ -47,6 +50,7 @@ class MatrixClient internal constructor(
private val slidingSync = client private val slidingSync = client
.slidingSync() .slidingSync()
.homeserver("https://slidingsync.lab.element.dev") .homeserver("https://slidingsync.lab.element.dev")
.withCommonExtensions()
.addView(slidingSyncView) .addView(slidingSyncView)
.build() .build()

14
libraries/matrix/src/main/java/io/element/android/x/matrix/room/message/RoomMessageFactory.kt

@ -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
) )
} }

Loading…
Cancel
Save