Handle errors on create DM

This commit is contained in:
Florian Renaud 2023-03-29 13:48:54 +02:00
parent 6ab128ba4d
commit 36afd71c29
7 changed files with 130 additions and 16 deletions

View file

@ -37,7 +37,9 @@ fun ErrorDialog(
modifier: Modifier = Modifier,
title: String = ErrorDialogDefaults.title,
submitText: String = ErrorDialogDefaults.submitText,
dismissText: String? = null,
onDismiss: () -> Unit = {},
onSubmit: () -> Unit = onDismiss,
shape: Shape = AlertDialogDefaults.shape,
containerColor: Color = AlertDialogDefaults.containerColor,
iconContentColor: Color = AlertDialogDefaults.iconContentColor,
@ -55,10 +57,17 @@ fun ErrorDialog(
Text(content)
},
confirmButton = {
TextButton(onClick = onDismiss) {
TextButton(onClick = onSubmit) {
Text(submitText)
}
},
dismissButton = dismissText?.let {
{
TextButton(onClick = onDismiss) {
Text(it)
}
}
},
shape = shape,
containerColor = containerColor,
iconContentColor = iconContentColor,

View file

@ -39,6 +39,7 @@ class FakeMatrixClient(
) : MatrixClient {
private var createDmResult: Result<RoomId> = Result.success(A_ROOM_ID)
private var createDmFailure: Throwable? = null
private var findDmResult: MatrixRoom? = FakeMatrixRoom()
private var logoutFailure: Throwable? = null
@ -47,6 +48,8 @@ class FakeMatrixClient(
}
override suspend fun createDM(userId: UserId): Result<RoomId> {
delay(100)
createDmFailure?.let { throw it }
return createDmResult
}
@ -91,7 +94,7 @@ class FakeMatrixClient(
// Mocks
fun givenLogoutError(failure: Throwable) {
fun givenLogoutError(failure: Throwable?) {
logoutFailure = failure
}
@ -99,6 +102,10 @@ class FakeMatrixClient(
createDmResult = result
}
fun givenCreateDmError(failure: Throwable?) {
createDmFailure = failure
}
fun givenFindDmResult(result: MatrixRoom?) {
findDmResult = result
}