Remove RetryStartDM action
This commit is contained in:
parent
831eb7c840
commit
73e67b638d
4 changed files with 6 additions and 7 deletions
|
|
@ -21,6 +21,5 @@ import io.element.android.libraries.matrix.ui.model.MatrixUser
|
||||||
sealed interface CreateRoomRootEvents {
|
sealed interface CreateRoomRootEvents {
|
||||||
object InvitePeople : CreateRoomRootEvents
|
object InvitePeople : CreateRoomRootEvents
|
||||||
data class StartDM(val matrixUser: MatrixUser) : CreateRoomRootEvents
|
data class StartDM(val matrixUser: MatrixUser) : CreateRoomRootEvents
|
||||||
object RetryStartDM : CreateRoomRootEvents
|
|
||||||
object CancelStartDM : CreateRoomRootEvents
|
object CancelStartDM : CreateRoomRootEvents
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -69,10 +69,6 @@ class CreateRoomRootPresenter @Inject constructor(
|
||||||
fun handleEvents(event: CreateRoomRootEvents) {
|
fun handleEvents(event: CreateRoomRootEvents) {
|
||||||
when (event) {
|
when (event) {
|
||||||
is CreateRoomRootEvents.StartDM -> startDm(event.matrixUser)
|
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.CancelStartDM -> startDmAction.value = Async.Uninitialized
|
||||||
CreateRoomRootEvents.InvitePeople -> Unit // Todo Handle invite people action
|
CreateRoomRootEvents.InvitePeople -> Unit // Todo Handle invite people action
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -112,7 +112,11 @@ fun CreateRoomRootView(
|
||||||
RetryDialog(
|
RetryDialog(
|
||||||
content = stringResource(id = StringR.string.screen_start_chat_error_starting_chat),
|
content = stringResource(id = StringR.string.screen_start_chat_error_starting_chat),
|
||||||
onDismiss = { state.eventSink(CreateRoomRootEvents.CancelStartDM) },
|
onDismiss = { state.eventSink(CreateRoomRootEvents.CancelStartDM) },
|
||||||
onRetry = { state.eventSink(CreateRoomRootEvents.RetryStartDM) },
|
onRetry = {
|
||||||
|
state.userListState.selectedUsers.firstOrNull()?.let {
|
||||||
|
state.eventSink(CreateRoomRootEvents.StartDM(it))
|
||||||
|
}
|
||||||
|
},
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
else -> Unit
|
else -> Unit
|
||||||
|
|
|
||||||
|
|
@ -145,7 +145,7 @@ class CreateRoomRootPresenterTests {
|
||||||
|
|
||||||
// Retry with success
|
// Retry with success
|
||||||
fakeMatrixClient.givenCreateDmError(null)
|
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.Uninitialized::class.java)
|
||||||
assertThat(awaitItem().startDmAction).isInstanceOf(Async.Loading::class.java)
|
assertThat(awaitItem().startDmAction).isInstanceOf(Async.Loading::class.java)
|
||||||
val stateAfterRetryStartDM = awaitItem()
|
val stateAfterRetryStartDM = awaitItem()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue