Browse Source

Fix close error dialog has no effect.

misc/jme/add-logging-to-state-machine
Benoit Marty 2 years ago committed by Benoit Marty
parent
commit
8302af2dc6
  1. 2
      features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/bugreport/BugReportEvents.kt
  2. 4
      features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/bugreport/BugReportPresenter.kt
  3. 1
      features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/bugreport/BugReportView.kt
  4. 5
      features/rageshake/impl/src/test/kotlin/io/element/android/features/rageshake/impl/bugreport/BugReportPresenterTest.kt

2
features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/bugreport/BugReportEvents.kt

@ -19,6 +19,8 @@ package io.element.android.features.rageshake.impl.bugreport
sealed interface BugReportEvents { sealed interface BugReportEvents {
object SendBugReport : BugReportEvents object SendBugReport : BugReportEvents
object ResetAll : BugReportEvents object ResetAll : BugReportEvents
object ClearError : BugReportEvents
data class SetDescription(val description: String) : BugReportEvents data class SetDescription(val description: String) : BugReportEvents
data class SetSendLog(val sendLog: Boolean) : BugReportEvents data class SetSendLog(val sendLog: Boolean) : BugReportEvents
data class SetSendCrashLog(val sendCrashlog: Boolean) : BugReportEvents data class SetSendCrashLog(val sendCrashlog: Boolean) : BugReportEvents

4
features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/bugreport/BugReportPresenter.kt

@ -109,6 +109,10 @@ class BugReportPresenter @Inject constructor(
is BugReportEvents.SetSendScreenshot -> updateFormState(formState) { is BugReportEvents.SetSendScreenshot -> updateFormState(formState) {
copy(sendScreenshot = event.sendScreenshot) copy(sendScreenshot = event.sendScreenshot)
} }
BugReportEvents.ClearError -> {
sendingProgress.value = 0f
sendingAction.value = Async.Uninitialized
}
} }
} }

1
features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/bugreport/BugReportView.kt

@ -204,6 +204,7 @@ fun BugReportView(
} }
is Async.Failure -> ErrorDialog( is Async.Failure -> ErrorDialog(
content = state.sending.error.toString(), content = state.sending.error.toString(),
onDismiss = { state.eventSink(BugReportEvents.ClearError) }
) )
else -> Unit else -> Unit
} }

5
features/rageshake/impl/src/test/kotlin/io/element/android/features/rageshake/impl/bugreport/BugReportPresenterTest.kt

@ -222,6 +222,11 @@ class BugReportPresenterTest {
// Failure // Failure
assertThat(awaitItem().sendingProgress).isEqualTo(0f) assertThat(awaitItem().sendingProgress).isEqualTo(0f)
assertThat((awaitItem().sending as Async.Failure).error.message).isEqualTo(A_FAILURE_REASON) assertThat((awaitItem().sending as Async.Failure).error.message).isEqualTo(A_FAILURE_REASON)
// Reset failure
initialState.eventSink.invoke(BugReportEvents.ClearError)
val lastItem = awaitItem()
assertThat(lastItem.sendingProgress).isEqualTo(0f)
assertThat(lastItem.sending).isInstanceOf(Async.Uninitialized::class.java)
} }
} }

Loading…
Cancel
Save