Fix API break.

This commit is contained in:
Benoit Marty 2026-03-02 09:18:43 +01:00
parent 47d132ef1b
commit 286aa56145
4 changed files with 11 additions and 11 deletions

View file

@ -21,11 +21,11 @@ import org.matrix.rustcomponents.sdk.TimelineDiff
import org.matrix.rustcomponents.sdk.TimelineInterface import org.matrix.rustcomponents.sdk.TimelineInterface
import org.matrix.rustcomponents.sdk.TimelineListener import org.matrix.rustcomponents.sdk.TimelineListener
import timber.log.Timber import timber.log.Timber
import uniffi.matrix_sdk.RoomPaginationStatus import uniffi.matrix_sdk.PaginationStatus
internal fun TimelineInterface.liveBackPaginationStatus(): Flow<RoomPaginationStatus> = callbackFlow { internal fun TimelineInterface.liveBackPaginationStatus(): Flow<PaginationStatus> = callbackFlow {
val listener = object : PaginationStatusListener { val listener = object : PaginationStatusListener {
override fun onUpdate(status: RoomPaginationStatus) { override fun onUpdate(status: PaginationStatus) {
trySend(status) trySend(status)
} }
} }

View file

@ -71,7 +71,7 @@ import org.matrix.rustcomponents.sdk.UploadParameters
import org.matrix.rustcomponents.sdk.UploadSource import org.matrix.rustcomponents.sdk.UploadSource
import org.matrix.rustcomponents.sdk.use import org.matrix.rustcomponents.sdk.use
import timber.log.Timber import timber.log.Timber
import uniffi.matrix_sdk.RoomPaginationStatus import uniffi.matrix_sdk.PaginationStatus
import java.io.File import java.io.File
import org.matrix.rustcomponents.sdk.EventOrTransactionId as RustEventOrTransactionId import org.matrix.rustcomponents.sdk.EventOrTransactionId as RustEventOrTransactionId
import org.matrix.rustcomponents.sdk.Timeline as InnerTimeline import org.matrix.rustcomponents.sdk.Timeline as InnerTimeline
@ -147,8 +147,8 @@ class RustTimeline(
.onEach { backPaginationStatus -> .onEach { backPaginationStatus ->
updatePaginationStatus(Timeline.PaginationDirection.BACKWARDS) { updatePaginationStatus(Timeline.PaginationDirection.BACKWARDS) {
when (backPaginationStatus) { when (backPaginationStatus) {
is RoomPaginationStatus.Idle -> it.copy(isPaginating = false, hasMoreToLoad = !backPaginationStatus.hitTimelineStart) is PaginationStatus.Idle -> it.copy(isPaginating = false, hasMoreToLoad = !backPaginationStatus.hitTimelineStart)
is RoomPaginationStatus.Paginating -> it.copy(isPaginating = true, hasMoreToLoad = true) is PaginationStatus.Paginating -> it.copy(isPaginating = true, hasMoreToLoad = true)
} }
} }
} }

View file

@ -14,7 +14,7 @@ import org.matrix.rustcomponents.sdk.TaskHandle
import org.matrix.rustcomponents.sdk.Timeline import org.matrix.rustcomponents.sdk.Timeline
import org.matrix.rustcomponents.sdk.TimelineDiff import org.matrix.rustcomponents.sdk.TimelineDiff
import org.matrix.rustcomponents.sdk.TimelineListener import org.matrix.rustcomponents.sdk.TimelineListener
import uniffi.matrix_sdk.RoomPaginationStatus import uniffi.matrix_sdk.PaginationStatus
class FakeFfiTimeline : Timeline(NoHandle) { class FakeFfiTimeline : Timeline(NoHandle) {
private var listener: TimelineListener? = null private var listener: TimelineListener? = null
@ -33,7 +33,7 @@ class FakeFfiTimeline : Timeline(NoHandle) {
return FakeFfiTaskHandle() return FakeFfiTaskHandle()
} }
fun emitPaginationStatus(status: RoomPaginationStatus) { fun emitPaginationStatus(status: PaginationStatus) {
paginationStatusListener!!.onUpdate(status) paginationStatusListener!!.onUpdate(status)
} }

View file

@ -32,7 +32,7 @@ import kotlinx.coroutines.test.runCurrent
import kotlinx.coroutines.test.runTest import kotlinx.coroutines.test.runTest
import org.junit.Test import org.junit.Test
import org.matrix.rustcomponents.sdk.TimelineDiff import org.matrix.rustcomponents.sdk.TimelineDiff
import uniffi.matrix_sdk.RoomPaginationStatus import uniffi.matrix_sdk.PaginationStatus
import org.matrix.rustcomponents.sdk.Timeline as InnerTimeline import org.matrix.rustcomponents.sdk.Timeline as InnerTimeline
class RustTimelineTest { class RustTimelineTest {
@ -68,10 +68,10 @@ class RustTimelineTest {
// Start pagination // Start pagination
sut.paginate(Timeline.PaginationDirection.BACKWARDS) sut.paginate(Timeline.PaginationDirection.BACKWARDS)
// Simulate SDK starting pagination // Simulate SDK starting pagination
inner.emitPaginationStatus(RoomPaginationStatus.Paginating) inner.emitPaginationStatus(PaginationStatus.Paginating)
// No new events received // No new events received
// Simulate SDK stopping pagination, more event to load // Simulate SDK stopping pagination, more event to load
inner.emitPaginationStatus(RoomPaginationStatus.Idle(hitTimelineStart = false)) inner.emitPaginationStatus(PaginationStatus.Idle(hitTimelineStart = false))
// expect an item to be emitted, with an updated timestamp // expect an item to be emitted, with an updated timestamp
with(awaitItem()) { with(awaitItem()) {
assertThat(size).isEqualTo(2) assertThat(size).isEqualTo(2)