Rename Async to AsyncData

This commit is contained in:
Benoit Marty 2024-01-04 16:30:56 +01:00
parent 3b2882ce2f
commit 7b2341aec7
139 changed files with 745 additions and 745 deletions

View file

@ -30,7 +30,7 @@ import io.element.android.features.rageshake.api.reporter.BugReporter
import io.element.android.features.rageshake.api.reporter.BugReporterListener
import io.element.android.features.rageshake.api.screenshot.ScreenshotHolder
import io.element.android.features.rageshake.impl.logs.VectorFileLogger
import io.element.android.libraries.architecture.Async
import io.element.android.libraries.architecture.AsyncData
import io.element.android.libraries.architecture.Presenter
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.launch
@ -45,27 +45,27 @@ class BugReportPresenter @Inject constructor(
private class BugReporterUploadListener(
private val sendingProgress: MutableFloatState,
private val sendingAction: MutableState<Async<Unit>>
private val sendingAction: MutableState<AsyncData<Unit>>
) : BugReporterListener {
override fun onUploadCancelled() {
sendingProgress.floatValue = 0f
sendingAction.value = Async.Uninitialized
sendingAction.value = AsyncData.Uninitialized
}
override fun onUploadFailed(reason: String?) {
sendingProgress.floatValue = 0f
sendingAction.value = Async.Failure(Exception(reason))
sendingAction.value = AsyncData.Failure(Exception(reason))
}
override fun onProgress(progress: Int) {
sendingProgress.floatValue = progress.toFloat() / 100
sendingAction.value = Async.Loading()
sendingAction.value = AsyncData.Loading()
}
override fun onUploadSucceed() {
sendingProgress.floatValue = 0f
sendingAction.value = Async.Success(Unit)
sendingAction.value = AsyncData.Success(Unit)
}
}
@ -83,8 +83,8 @@ class BugReportPresenter @Inject constructor(
val sendingProgress = remember {
mutableFloatStateOf(0f)
}
val sendingAction: MutableState<Async<Unit>> = remember {
mutableStateOf(Async.Uninitialized)
val sendingAction: MutableState<AsyncData<Unit>> = remember {
mutableStateOf(AsyncData.Uninitialized)
}
val formState: MutableState<BugReportFormState> = remember {
mutableStateOf(BugReportFormState.Default)
@ -109,7 +109,7 @@ class BugReportPresenter @Inject constructor(
}
BugReportEvents.ClearError -> {
sendingProgress.floatValue = 0f
sendingAction.value = Async.Uninitialized
sendingAction.value = AsyncData.Uninitialized
}
}
}

View file

@ -17,7 +17,7 @@
package io.element.android.features.rageshake.impl.bugreport
import android.os.Parcelable
import io.element.android.libraries.architecture.Async
import io.element.android.libraries.architecture.AsyncData
import kotlinx.parcelize.Parcelize
data class BugReportState(
@ -25,11 +25,11 @@ data class BugReportState(
val hasCrashLogs: Boolean,
val screenshotUri: String?,
val sendingProgress: Float,
val sending: Async<Unit>,
val sending: AsyncData<Unit>,
val eventSink: (BugReportEvents) -> Unit
) {
val submitEnabled =
formState.description.length > 10 && sending !is Async.Loading
formState.description.length > 10 && sending !is AsyncData.Loading
}
@Parcelize

View file

@ -17,7 +17,7 @@
package io.element.android.features.rageshake.impl.bugreport
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import io.element.android.libraries.architecture.Async
import io.element.android.libraries.architecture.AsyncData
open class BugReportStateProvider : PreviewParameterProvider<BugReportState> {
override val values: Sequence<BugReportState>
@ -31,8 +31,8 @@ open class BugReportStateProvider : PreviewParameterProvider<BugReportState> {
hasCrashLogs = true,
screenshotUri = "aUri"
),
aBugReportState().copy(sending = Async.Loading()),
aBugReportState().copy(sending = Async.Success(Unit)),
aBugReportState().copy(sending = AsyncData.Loading()),
aBugReportState().copy(sending = AsyncData.Success(Unit)),
)
}
@ -41,6 +41,6 @@ fun aBugReportState() = BugReportState(
hasCrashLogs = false,
screenshotUri = null,
sendingProgress = 0F,
sending = Async.Uninitialized,
sending = AsyncData.Uninitialized,
eventSink = {}
)

View file

@ -37,7 +37,7 @@ import androidx.compose.ui.unit.dp
import coil.compose.AsyncImage
import coil.request.ImageRequest
import io.element.android.features.rageshake.impl.R
import io.element.android.libraries.architecture.Async
import io.element.android.libraries.architecture.AsyncData
import io.element.android.libraries.designsystem.components.async.AsyncView
import io.element.android.libraries.designsystem.components.form.textFieldState
import io.element.android.libraries.designsystem.components.preferences.PreferencePage
@ -67,7 +67,7 @@ fun BugReportView(
title = stringResource(id = CommonStrings.common_report_a_problem),
onBackPressed = onBackPressed
) {
val isFormEnabled = state.sending !is Async.Loading
val isFormEnabled = state.sending !is AsyncData.Loading
var descriptionFieldState by textFieldState(
stateValue = state.formState.description
)

View file

@ -24,7 +24,7 @@ import io.element.android.features.rageshake.test.crash.A_CRASH_DATA
import io.element.android.features.rageshake.test.crash.FakeCrashDataStore
import io.element.android.features.rageshake.test.screenshot.A_SCREENSHOT_URI
import io.element.android.features.rageshake.test.screenshot.FakeScreenshotHolder
import io.element.android.libraries.architecture.Async
import io.element.android.libraries.architecture.AsyncData
import io.element.android.libraries.matrix.test.A_FAILURE_REASON
import io.element.android.tests.testutils.WarmUpRule
import kotlinx.coroutines.test.runTest
@ -53,7 +53,7 @@ class BugReportPresenterTest {
val initialState = awaitItem()
assertThat(initialState.hasCrashLogs).isFalse()
assertThat(initialState.formState).isEqualTo(BugReportFormState.Default)
assertThat(initialState.sending).isEqualTo(Async.Uninitialized)
assertThat(initialState.sending).isEqualTo(AsyncData.Uninitialized)
assertThat(initialState.screenshotUri).isNull()
assertThat(initialState.sendingProgress).isEqualTo(0f)
assertThat(initialState.submitEnabled).isFalse()
@ -174,13 +174,13 @@ class BugReportPresenterTest {
initialState.eventSink.invoke(BugReportEvents.SendBugReport)
skipItems(1)
val progressState = awaitItem()
assertThat(progressState.sending).isEqualTo(Async.Loading(null))
assertThat(progressState.sending).isEqualTo(AsyncData.Loading(null))
assertThat(progressState.sendingProgress).isEqualTo(0f)
assertThat(progressState.submitEnabled).isFalse()
assertThat(awaitItem().sendingProgress).isEqualTo(0.5f)
assertThat(awaitItem().sendingProgress).isEqualTo(1f)
skipItems(1)
assertThat(awaitItem().sending).isEqualTo(Async.Success(Unit))
assertThat(awaitItem().sending).isEqualTo(AsyncData.Success(Unit))
}
}
@ -199,17 +199,17 @@ class BugReportPresenterTest {
initialState.eventSink.invoke(BugReportEvents.SendBugReport)
skipItems(1)
val progressState = awaitItem()
assertThat(progressState.sending).isEqualTo(Async.Loading(null))
assertThat(progressState.sending).isEqualTo(AsyncData.Loading(null))
assertThat(progressState.sendingProgress).isEqualTo(0f)
assertThat(awaitItem().sendingProgress).isEqualTo(0.5f)
// Failure
assertThat(awaitItem().sendingProgress).isEqualTo(0f)
assertThat((awaitItem().sending as Async.Failure).error.message).isEqualTo(A_FAILURE_REASON)
assertThat((awaitItem().sending as AsyncData.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)
assertThat(lastItem.sending).isInstanceOf(AsyncData.Uninitialized::class.java)
}
}
@ -228,12 +228,12 @@ class BugReportPresenterTest {
initialState.eventSink.invoke(BugReportEvents.SendBugReport)
skipItems(1)
val progressState = awaitItem()
assertThat(progressState.sending).isEqualTo(Async.Loading(null))
assertThat(progressState.sending).isEqualTo(AsyncData.Loading(null))
assertThat(progressState.sendingProgress).isEqualTo(0f)
assertThat(awaitItem().sendingProgress).isEqualTo(0.5f)
// Cancelled
assertThat(awaitItem().sendingProgress).isEqualTo(0f)
assertThat(awaitItem().sending).isEqualTo(Async.Uninitialized)
assertThat(awaitItem().sending).isEqualTo(AsyncData.Uninitialized)
}
}
}