From fb937d9ad6fce9a775d3cd0616319f3ca9fa8291 Mon Sep 17 00:00:00 2001 From: stevenyomi <95685115+stevenyomi@users.noreply.github.com> Date: Wed, 1 Feb 2023 11:36:53 +0800 Subject: [PATCH] Show exception class in snackbar message (#9006) * Show exception class in snackbar message * omit IOException too (cherry picked from commit 589bdba0b1538266b7786591046f88a1159cbb8c) # Conflicts: # app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt --- .../eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt index 71d43af16..0467448a9 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt @@ -402,8 +402,7 @@ class MangaInfoScreenModel( logcat(LogPriority.ERROR, e) coroutineScope.launch { - val errorMessage = e.message.orEmpty().ifEmpty { e.toString() } - snackbarHostState.showSnackbar(message = errorMessage) + snackbarHostState.showSnackbar(message = e.snackbarMessage) } } } @@ -995,7 +994,7 @@ class MangaInfoScreenModel( context.getString(R.string.no_chapters_error) } else { logcat(LogPriority.ERROR, e) - e.message.orEmpty().ifEmpty { e.toString() } + e.snackbarMessage } coroutineScope.launch { @@ -1647,6 +1646,13 @@ val chapterDecimalFormat = DecimalFormat( .apply { decimalSeparator = '.' }, ) +private val Throwable.snackbarMessage: String + get() = when (val className = this::class.simpleName) { + null -> message ?: "" + "Exception", "HttpException", "IOException" -> message ?: className + else -> "$className: $message" + } + // SY --> sealed class PagePreviewState { object Unused : PagePreviewState()