Add reset method to SpaceRoomList
This commit is contained in:
parent
bcd707d307
commit
5f52b38de6
4 changed files with 17 additions and 0 deletions
|
|
@ -26,6 +26,7 @@ interface SpaceRoomList {
|
|||
val spaceRoomsFlow: Flow<List<SpaceRoom>>
|
||||
val paginationStatusFlow: StateFlow<PaginationStatus>
|
||||
suspend fun paginate(): Result<Unit>
|
||||
suspend fun reset(): Result<Unit>
|
||||
|
||||
fun destroy()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -81,6 +81,12 @@ class RustSpaceRoomList(
|
|||
}
|
||||
}
|
||||
|
||||
override suspend fun reset(): Result<Unit> {
|
||||
return runCatchingExceptions {
|
||||
innerCompletable.await().reset()
|
||||
}
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalCoroutinesApi::class)
|
||||
override fun destroy() {
|
||||
Timber.d("Destroying SpaceRoomList $roomId")
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ import uniffi.matrix_sdk_ui.SpaceRoomListPaginationState
|
|||
|
||||
class FakeFfiSpaceRoomList(
|
||||
private val paginateResult: () -> Unit = { lambdaError() },
|
||||
private val resetResult: () -> Unit = { lambdaError() },
|
||||
private val paginationStateResult: () -> SpaceRoomListPaginationState = { lambdaError() },
|
||||
private val roomsResult: () -> List<SpaceRoom> = { lambdaError() },
|
||||
) : SpaceRoomList(NoHandle) {
|
||||
|
|
@ -31,6 +32,10 @@ class FakeFfiSpaceRoomList(
|
|||
paginateResult()
|
||||
}
|
||||
|
||||
override suspend fun reset() = simulateLongTask {
|
||||
resetResult()
|
||||
}
|
||||
|
||||
override fun paginationState(): SpaceRoomListPaginationState {
|
||||
return paginationStateResult()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ class FakeSpaceRoomList(
|
|||
initialSpaceRoomsValue: List<SpaceRoom> = emptyList(),
|
||||
initialSpaceRoomList: SpaceRoomList.PaginationStatus = SpaceRoomList.PaginationStatus.Loading,
|
||||
private val paginateResult: () -> Result<Unit> = { lambdaError() },
|
||||
private val resetResult: () -> Result<Unit> = { lambdaError() },
|
||||
) : SpaceRoomList {
|
||||
private val currentSpaceMutableStateFlow: MutableStateFlow<Optional<SpaceRoom>> = MutableStateFlow(Optional.ofNullable(initialSpaceFlowValue))
|
||||
override val currentSpaceFlow: StateFlow<Optional<SpaceRoom>> = currentSpaceMutableStateFlow.asStateFlow()
|
||||
|
|
@ -52,6 +53,10 @@ class FakeSpaceRoomList(
|
|||
paginateResult()
|
||||
}
|
||||
|
||||
override suspend fun reset(): Result<Unit> = simulateLongTask {
|
||||
resetResult()
|
||||
}
|
||||
|
||||
override fun destroy() {
|
||||
// No op
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue