Matrix rust sdk : SlidingSync updates
This commit is contained in:
parent
0fed1e0e8d
commit
c43c6e65d8
3 changed files with 9 additions and 8 deletions
|
|
@ -64,6 +64,7 @@ import org.matrix.rustcomponents.sdk.SlidingSyncList
|
||||||
import org.matrix.rustcomponents.sdk.SlidingSyncListBuilder
|
import org.matrix.rustcomponents.sdk.SlidingSyncListBuilder
|
||||||
import org.matrix.rustcomponents.sdk.SlidingSyncListOnceBuilt
|
import org.matrix.rustcomponents.sdk.SlidingSyncListOnceBuilt
|
||||||
import org.matrix.rustcomponents.sdk.SlidingSyncRequestListFilters
|
import org.matrix.rustcomponents.sdk.SlidingSyncRequestListFilters
|
||||||
|
import org.matrix.rustcomponents.sdk.SlidingSyncSelectiveModeBuilder
|
||||||
import org.matrix.rustcomponents.sdk.TaskHandle
|
import org.matrix.rustcomponents.sdk.TaskHandle
|
||||||
import org.matrix.rustcomponents.sdk.use
|
import org.matrix.rustcomponents.sdk.use
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
|
|
@ -124,8 +125,7 @@ class RustMatrixClient constructor(
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
.filters(visibleRoomsSlidingSyncFilters)
|
.filters(visibleRoomsSlidingSyncFilters)
|
||||||
.syncModeSelective()
|
.syncModeSelective(SlidingSyncSelectiveModeBuilder().addRange(0u, 20u))
|
||||||
.addRange(0u, 20u)
|
|
||||||
.onceBuilt(object : SlidingSyncListOnceBuilt {
|
.onceBuilt(object : SlidingSyncListOnceBuilt {
|
||||||
override fun updateList(list: SlidingSyncList): SlidingSyncList {
|
override fun updateList(list: SlidingSyncList): SlidingSyncList {
|
||||||
visibleRoomsSlidingSyncList.tryEmit(list)
|
visibleRoomsSlidingSyncList.tryEmit(list)
|
||||||
|
|
@ -146,8 +146,7 @@ class RustMatrixClient constructor(
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
.filters(invitesSlidingSyncFilters)
|
.filters(invitesSlidingSyncFilters)
|
||||||
.syncModeSelective()
|
.syncModeSelective(SlidingSyncSelectiveModeBuilder().addRange(0u, 20u))
|
||||||
.addRange(0u, 20u)
|
|
||||||
.onceBuilt(object : SlidingSyncListOnceBuilt {
|
.onceBuilt(object : SlidingSyncListOnceBuilt {
|
||||||
override fun updateList(list: SlidingSyncList): SlidingSyncList {
|
override fun updateList(list: SlidingSyncList): SlidingSyncList {
|
||||||
invitesSlidingSyncList.tryEmit(list)
|
invitesSlidingSyncList.tryEmit(list)
|
||||||
|
|
@ -156,10 +155,9 @@ class RustMatrixClient constructor(
|
||||||
})
|
})
|
||||||
|
|
||||||
private val slidingSync = client
|
private val slidingSync = client
|
||||||
.slidingSync()
|
.slidingSync("ElementX")
|
||||||
// .homeserver("https://slidingsync.lab.matrix.org")
|
// .homeserver("https://slidingsync.lab.matrix.org")
|
||||||
.withCommonExtensions()
|
.withCommonExtensions()
|
||||||
.storageKey("ElementX")
|
|
||||||
.addList(visibleRoomsSlidingSyncListBuilder)
|
.addList(visibleRoomsSlidingSyncListBuilder)
|
||||||
.addList(invitesSlidingSyncListBuilder)
|
.addList(invitesSlidingSyncListBuilder)
|
||||||
.use {
|
.use {
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,7 @@ import org.matrix.rustcomponents.sdk.RoomListEntry
|
||||||
import org.matrix.rustcomponents.sdk.SlidingSync
|
import org.matrix.rustcomponents.sdk.SlidingSync
|
||||||
import org.matrix.rustcomponents.sdk.SlidingSyncList
|
import org.matrix.rustcomponents.sdk.SlidingSyncList
|
||||||
import org.matrix.rustcomponents.sdk.SlidingSyncListRoomsListDiff
|
import org.matrix.rustcomponents.sdk.SlidingSyncListRoomsListDiff
|
||||||
|
import org.matrix.rustcomponents.sdk.SlidingSyncSelectiveModeBuilder
|
||||||
import org.matrix.rustcomponents.sdk.SlidingSyncState
|
import org.matrix.rustcomponents.sdk.SlidingSyncState
|
||||||
import org.matrix.rustcomponents.sdk.UpdateSummary
|
import org.matrix.rustcomponents.sdk.UpdateSummary
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
|
|
@ -98,7 +99,9 @@ internal class RustRoomSummaryDataSource(
|
||||||
override fun setSlidingSyncRange(range: IntRange) {
|
override fun setSlidingSyncRange(range: IntRange) {
|
||||||
Timber.v("setVisibleRange=$range")
|
Timber.v("setVisibleRange=$range")
|
||||||
coroutineScope.launch {
|
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
|
timelineLimit = null
|
||||||
)
|
)
|
||||||
listenerTokens += slidingSyncRoom.subscribeToRoom(settings)
|
slidingSyncRoom.subscribeToRoom(settings)
|
||||||
val result = slidingSyncRoom.addTimelineListener(timelineListener)
|
val result = slidingSyncRoom.addTimelineListener(timelineListener)
|
||||||
launch {
|
launch {
|
||||||
fetchMembers()
|
fetchMembers()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue