Remove RetryStartDM action

This commit is contained in:
Florian Renaud 2023-04-05 17:33:52 +02:00
parent 86e260d298
commit 0da8b5a58d
4 changed files with 6 additions and 7 deletions

View file

@ -21,6 +21,5 @@ import io.element.android.libraries.matrix.ui.model.MatrixUser
sealed interface CreateRoomRootEvents {
object InvitePeople : CreateRoomRootEvents
data class StartDM(val matrixUser: MatrixUser) : CreateRoomRootEvents
object RetryStartDM : CreateRoomRootEvents
object CancelStartDM : CreateRoomRootEvents
}

View file

@ -69,10 +69,6 @@ class CreateRoomRootPresenter @Inject constructor(
fun handleEvents(event: CreateRoomRootEvents) {
when (event) {
is CreateRoomRootEvents.StartDM -> startDm(event.matrixUser)
CreateRoomRootEvents.RetryStartDM -> {
startDmAction.value = Async.Uninitialized
userListState.selectedUsers.firstOrNull()?.let { startDm(it) }
}
CreateRoomRootEvents.CancelStartDM -> startDmAction.value = Async.Uninitialized
CreateRoomRootEvents.InvitePeople -> Unit // Todo Handle invite people action
}

View file

@ -112,7 +112,11 @@ fun CreateRoomRootView(
RetryDialog(
content = stringResource(id = StringR.string.screen_start_chat_error_starting_chat),
onDismiss = { state.eventSink(CreateRoomRootEvents.CancelStartDM) },
onRetry = { state.eventSink(CreateRoomRootEvents.RetryStartDM) },
onRetry = {
state.userListState.selectedUsers.firstOrNull()?.let {
state.eventSink(CreateRoomRootEvents.StartDM(it))
}
},
)
}
else -> Unit

View file

@ -145,7 +145,7 @@ class CreateRoomRootPresenterTests {
// Retry with success
fakeMatrixClient.givenCreateDmError(null)
stateAfterSecondAttempt.eventSink(CreateRoomRootEvents.RetryStartDM)
stateAfterSecondAttempt.eventSink(CreateRoomRootEvents.StartDM(matrixUser))
assertThat(awaitItem().startDmAction).isInstanceOf(Async.Uninitialized::class.java)
assertThat(awaitItem().startDmAction).isInstanceOf(Async.Loading::class.java)
val stateAfterRetryStartDM = awaitItem()