From c43c6e65d8d4a5813077e279ca02aa763479f7e2 Mon Sep 17 00:00:00 2001 From: ganfra Date: Thu, 8 Jun 2023 17:03:05 +0200 Subject: [PATCH] Matrix rust sdk : SlidingSync updates --- .../android/libraries/matrix/impl/RustMatrixClient.kt | 10 ++++------ .../matrix/impl/room/RustRoomSummaryDataSource.kt | 5 ++++- .../matrix/impl/timeline/RustMatrixTimeline.kt | 2 +- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt index 51fc903d8d..d8cd8c480f 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt @@ -64,6 +64,7 @@ import org.matrix.rustcomponents.sdk.SlidingSyncList import org.matrix.rustcomponents.sdk.SlidingSyncListBuilder import org.matrix.rustcomponents.sdk.SlidingSyncListOnceBuilt import org.matrix.rustcomponents.sdk.SlidingSyncRequestListFilters +import org.matrix.rustcomponents.sdk.SlidingSyncSelectiveModeBuilder import org.matrix.rustcomponents.sdk.TaskHandle import org.matrix.rustcomponents.sdk.use import timber.log.Timber @@ -124,8 +125,7 @@ class RustMatrixClient constructor( ) ) .filters(visibleRoomsSlidingSyncFilters) - .syncModeSelective() - .addRange(0u, 20u) + .syncModeSelective(SlidingSyncSelectiveModeBuilder().addRange(0u, 20u)) .onceBuilt(object : SlidingSyncListOnceBuilt { override fun updateList(list: SlidingSyncList): SlidingSyncList { visibleRoomsSlidingSyncList.tryEmit(list) @@ -146,8 +146,7 @@ class RustMatrixClient constructor( ) ) .filters(invitesSlidingSyncFilters) - .syncModeSelective() - .addRange(0u, 20u) + .syncModeSelective(SlidingSyncSelectiveModeBuilder().addRange(0u, 20u)) .onceBuilt(object : SlidingSyncListOnceBuilt { override fun updateList(list: SlidingSyncList): SlidingSyncList { invitesSlidingSyncList.tryEmit(list) @@ -156,10 +155,9 @@ class RustMatrixClient constructor( }) private val slidingSync = client - .slidingSync() + .slidingSync("ElementX") // .homeserver("https://slidingsync.lab.matrix.org") .withCommonExtensions() - .storageKey("ElementX") .addList(visibleRoomsSlidingSyncListBuilder) .addList(invitesSlidingSyncListBuilder) .use { diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustRoomSummaryDataSource.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustRoomSummaryDataSource.kt index 2574e96d3b..ab94298418 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustRoomSummaryDataSource.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustRoomSummaryDataSource.kt @@ -38,6 +38,7 @@ import org.matrix.rustcomponents.sdk.RoomListEntry import org.matrix.rustcomponents.sdk.SlidingSync import org.matrix.rustcomponents.sdk.SlidingSyncList import org.matrix.rustcomponents.sdk.SlidingSyncListRoomsListDiff +import org.matrix.rustcomponents.sdk.SlidingSyncSelectiveModeBuilder import org.matrix.rustcomponents.sdk.SlidingSyncState import org.matrix.rustcomponents.sdk.UpdateSummary import timber.log.Timber @@ -98,7 +99,9 @@ internal class RustRoomSummaryDataSource( override fun setSlidingSyncRange(range: IntRange) { Timber.v("setVisibleRange=$range") coroutineScope.launch { - slidingSyncListFlow.first().setRange(range.first.toUInt(), range.last.toUInt()) + val slidingSyncMode = SlidingSyncSelectiveModeBuilder() + .addRange(range.first.toUInt(), range.last.toUInt()) + slidingSyncListFlow.first().setSyncMode(slidingSyncMode) } } diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustMatrixTimeline.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustMatrixTimeline.kt index 408861226b..af27aedc13 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustMatrixTimeline.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustMatrixTimeline.kt @@ -159,7 +159,7 @@ class RustMatrixTimeline( ), timelineLimit = null ) - listenerTokens += slidingSyncRoom.subscribeToRoom(settings) + slidingSyncRoom.subscribeToRoom(settings) val result = slidingSyncRoom.addTimelineListener(timelineListener) launch { fetchMembers()