Remove RetryStartDM action

This commit is contained in:
Florian Renaud
2023-04-05 17:33:52 +02:00
parent 831eb7c840
commit 73e67b638d
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()