Аv
Size: a a a
Аv
Аv
Аv
SP
Аv
Аv
SP
Аv
Аv
SP
Аv
Аv
AU
R
AU
AU
AU
internal class MainViewModel(private val testConnectionInteractor: TestConnectionInteractor) :
ViewModel() {
private val _viewState: MutableStateFlow<ViewState?> = MutableStateFlow(null)
val viewState: StateFlow<ViewState?> = _viewState.asStateFlow()
private val _ping: MutableStateFlow<ServerSuccessResponse?> = MutableStateFlow(null)
val ping: StateFlow<ServerSuccessResponse?> = _ping.asStateFlow()
fun ping() {
viewModelScope.launch {
_viewState.value = ViewState(true)
try {
val serverSuccessResponse = testConnectionInteractor.ping()
_ping.value = serverSuccessResponse
} catch (exception: RequestException) {
when (exception) {
is RequestException.ResponseBodyNull -> Log.d("TAG", "ResponseBodyNull")
is RequestException.ResponseErrorBodyNull -> Log.d("TAG", "ResponseErrorBodyNull")
is RequestException.Runtime -> Log.d("TAG", "Runtime ${exception.throwable.message}")
is RequestException.ServerError -> Log.d("TAG", "ServerError ${exception.errorBody.string()}")
}
}
_viewState.value = ViewState(false)
}
}
data class ViewState(
val progressBarVisibility: Boolean,
)
}
R
D
AU