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() snack?.dismiss()
if (catalogue_view != null) { 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(getErrorMessage(error), Snackbar.LENGTH_INDEFINITE) {
?: "")
snack = catalogue_view.snack(message, Snackbar.LENGTH_INDEFINITE) {
setAction(R.string.action_retry) { setAction(R.string.action_retry) {
// If not the first page, show bottom progress bar. // If not the first page, show bottom progress bar.
if (adapter.mainItemCount > 0) { 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. * Sets a new progress item and reenables the scroll listener.
*/ */

View File

@ -378,6 +378,7 @@
<string name="no_valid_sources">Please enable at least one valid source</string> <string name="no_valid_sources">Please enable at least one valid source</string>
<string name="no_more_results">No more results</string> <string name="no_more_results">No more results</string>
<string name="no_results_found">No results found</string> <string name="no_results_found">No results found</string>
<string name="http_error_hint">Check website in WebView</string>
<string name="local_source">Local manga</string> <string name="local_source">Local manga</string>
<string name="other_source">Other</string> <string name="other_source">Other</string>
<string name="invalid_combination">Default can\'t be selected with other categories</string> <string name="invalid_combination">Default can\'t be selected with other categories</string>