Matrix rust sdk : SlidingSync updates
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -159,7 +159,7 @@ class RustMatrixTimeline(
|
||||
),
|
||||
timelineLimit = null
|
||||
)
|
||||
listenerTokens += slidingSyncRoom.subscribeToRoom(settings)
|
||||
slidingSyncRoom.subscribeToRoom(settings)
|
||||
val result = slidingSyncRoom.addTimelineListener(timelineListener)
|
||||
launch {
|
||||
fetchMembers()
|
||||
|
||||
Reference in New Issue
Block a user