Advitiay Anand
07/11/2023, 4:42 PMdorche
07/12/2023, 7:29 PMsealed interface FieldValue {
object Loading: FieldValue
data class Error(val throwable: Throwable): FieldValue
data class Success<out T>(val data: T): FieldValue
}
Although someone might have to check my generics thereAdvitiay Anand
07/12/2023, 10:26 PMdorche
07/13/2023, 10:35 AMAdvitiay Anand
07/13/2023, 11:16 AMTom De Decker
07/13/2023, 12:05 PMFieldValue
which can have their own Loading/Error state independent of the other properties:
sealed interface FieldValue<T> {
class Loading<T>: FieldValue<T>
data class Error<T>(val throwable: Throwable): FieldValue<T>
data class Success<T>(val data: T): FieldValue<T>
}
class MyViewModel {
val data1 = mutableStateOf<FieldValue<List<String>>>(FieldValue.Loading())
val data2 = mutableStateOf<FieldValue<List<Int>>>(FieldValue.Loading())
val data3 = mutableStateOf<FieldValue<Boolean>>(FieldValue.Loading())
fun updateData1(newData: List<String>) {
data1.value = FieldValue.Success(newData)
}
}
Advitiay Anand
07/13/2023, 12:14 PMdorche
07/13/2023, 12:37 PMAdvitiay Anand
07/13/2023, 4:03 PMdorche
07/13/2023, 4:32 PM