mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-03 06:55:41 +00:00
Add reset method to SpaceRoomList
This commit is contained in:
+1
@@ -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()
|
||||
}
|
||||
|
||||
+6
@@ -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")
|
||||
|
||||
+5
@@ -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()
|
||||
}
|
||||
|
||||
+5
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user