diff --git a/app/src/main/java/dev/lowrespalmtree/comet/MainActivity.kt b/app/src/main/java/dev/lowrespalmtree/comet/MainActivity.kt index 5e3a3a6..2546b31 100644 --- a/app/src/main/java/dev/lowrespalmtree/comet/MainActivity.kt +++ b/app/src/main/java/dev/lowrespalmtree/comet/MainActivity.kt @@ -130,6 +130,7 @@ class MainActivity : AppCompatActivity(), ContentAdapter.ContentAdapterListen { if (!event.serverDetails.isNullOrEmpty()) message += "\n\n" + "Server details: ${event.serverDetails}" alert(message, title = event.short) + updateState(PageViewModel.State.IDLE) } } event.handled = true diff --git a/app/src/main/java/dev/lowrespalmtree/comet/PageViewModel.kt b/app/src/main/java/dev/lowrespalmtree/comet/PageViewModel.kt index a5df0f5..24ef1cb 100644 --- a/app/src/main/java/dev/lowrespalmtree/comet/PageViewModel.kt +++ b/app/src/main/java/dev/lowrespalmtree/comet/PageViewModel.kt @@ -74,11 +74,11 @@ class PageViewModel : ViewModel() { Log.i(TAG, "sendRequest: got ${response.code} with meta \"${response.meta}\"") when (response.code.getCategory()) { Response.Code.Category.SUCCESS -> - handleRequestSuccess(response, uri) + handleSuccessResponse(response, uri) Response.Code.Category.REDIRECT -> - handleRedirect(response, redirects = redirects + 1) + handleRedirectResponse(response, redirects = redirects + 1) Response.Code.Category.SERVER_ERROR, Response.Code.Category.CLIENT_ERROR -> - handleError(response) + handleErrorResponse(response) else -> signalError("Can't handle code ${response.code}.") } @@ -87,10 +87,9 @@ class PageViewModel : ViewModel() { private fun signalError(message: String) { event.postValue(FailureEvent("Error", message)) - state.postValue(State.IDLE) } - private suspend fun handleRequestSuccess(response: Response, uri: Uri) { + private suspend fun handleSuccessResponse(response: Response, uri: Uri) { state.postValue(State.RECEIVING) linesList.clear() @@ -135,11 +134,11 @@ class PageViewModel : ViewModel() { state.postValue(State.IDLE) } - private fun handleRedirect(response: Response, redirects: Int) { + private fun handleRedirectResponse(response: Response, redirects: Int) { event.postValue(RedirectEvent(response.meta, redirects)) } - private fun handleError(response: Response) { + private fun handleErrorResponse(response: Response) { val briefMessage = when (response.code) { Response.Code.TEMPORARY_FAILURE -> "40 Temporary failure" Response.Code.SERVER_UNAVAILABLE -> "41 Server unavailable"