Fix API break.
This commit is contained in:
parent
47d132ef1b
commit
286aa56145
4 changed files with 11 additions and 11 deletions
|
|
@ -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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue