Prompt user to open WebView on HTTP errors

This commit is contained in:
arkon
2020-03-24 18:19:15 -04:00
parent 5fd1865504
commit 896b34d1a2
2 changed files with 14 additions and 4 deletions

View File

@ -352,10 +352,7 @@ open class BrowseCatalogueController(bundle: Bundle) :
snack?.dismiss()
if (catalogue_view != null) {
val message = if (error is NoResultsException) catalogue_view.context.getString(R.string.no_results_found) else (error.message
?: "")
snack = catalogue_view.snack(message, Snackbar.LENGTH_INDEFINITE) {
snack = catalogue_view.snack(getErrorMessage(error), Snackbar.LENGTH_INDEFINITE) {
setAction(R.string.action_retry) {
// If not the first page, show bottom progress bar.
if (adapter.mainItemCount > 0) {
@ -370,6 +367,18 @@ open class BrowseCatalogueController(bundle: Bundle) :
}
}
private fun getErrorMessage(error: Throwable): String {
if (error is NoResultsException) {
return catalogue_view.context.getString(R.string.no_results_found)
}
return when {
error.message == null -> ""
error.message!!.startsWith("HTTP error") -> "${error.message}: ${catalogue_view.context.getString(R.string.http_error_hint)}"
else -> error.message!!
}
}
/**
* Sets a new progress item and reenables the scroll listener.
*/