From 1ac47217808a478af7d6de87524ecd04b31d89bd Mon Sep 17 00:00:00 2001 From: Gauthier <gotson@users.noreply.github.com> Date: Mon, 8 Mar 2021 11:10:53 +0800 Subject: [PATCH] fix: logs and try/catch (#6092) exception catching while building filter list (#6074) error logs whiloe loading filter values (#6047) --- src/all/komga/CHANGELOG.md | 8 +++ src/all/komga/build.gradle | 2 +- .../tachiyomi/extension/all/komga/Komga.kt | 62 +++++++++++++------ 3 files changed, 52 insertions(+), 20 deletions(-) diff --git a/src/all/komga/CHANGELOG.md b/src/all/komga/CHANGELOG.md index a383e6550..734abc237 100644 --- a/src/all/komga/CHANGELOG.md +++ b/src/all/komga/CHANGELOG.md @@ -1,3 +1,11 @@ +## 1.2.22 + +Minimum Komga version required: `0.75.0` + +### Features + +* add error logs and better catch exceptions + ## 1.2.21 Minimum Komga version required: `0.75.0` diff --git a/src/all/komga/build.gradle b/src/all/komga/build.gradle index 81da679c5..f47589531 100644 --- a/src/all/komga/build.gradle +++ b/src/all/komga/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'Komga' pkgNameSuffix = 'all.komga' extClass = '.KomgaFactory' - extVersionCode = 21 + extVersionCode = 22 libVersion = '1.2' } diff --git a/src/all/komga/src/eu/kanade/tachiyomi/extension/all/komga/Komga.kt b/src/all/komga/src/eu/kanade/tachiyomi/extension/all/komga/Komga.kt index cab017162..9a826aa2d 100644 --- a/src/all/komga/src/eu/kanade/tachiyomi/extension/all/komga/Komga.kt +++ b/src/all/komga/src/eu/kanade/tachiyomi/extension/all/komga/Komga.kt @@ -5,6 +5,7 @@ import android.content.SharedPreferences import android.support.v7.preference.EditTextPreference import android.support.v7.preference.PreferenceScreen import android.text.InputType +import android.util.Log import android.widget.Toast import com.github.salomonbrys.kotson.fromJson import com.google.gson.Gson @@ -302,19 +303,28 @@ open class Komga(suffix: String = "") : ConfigurableSource, HttpSource() { override fun toString() = name } - override fun getFilterList(): FilterList = - FilterList( - UnreadOnly(), - TypeSelect(), - CollectionSelect(listOf(CollectionFilterEntry("None")) + collections.map { CollectionFilterEntry(it.name, it.id) }), - LibraryGroup(libraries.map { LibraryFilter(it.id, it.name) }.sortedBy { it.name.toLowerCase() }), - StatusGroup(listOf("Ongoing", "Ended", "Abandoned", "Hiatus").map { StatusFilter(it) }), - GenreGroup(genres.map { GenreFilter(it) }), - TagGroup(tags.map { TagFilter(it) }), - PublisherGroup(publishers.map { PublisherFilter(it) }), - *authors.map { (role, authors) -> AuthorGroup(role, authors.map { AuthorFilter(it) }) }.toTypedArray(), - SeriesSort() - ) + override fun getFilterList(): FilterList { + val filters = try { + mutableListOf<Filter<*>>( + UnreadOnly(), + TypeSelect(), + CollectionSelect(listOf(CollectionFilterEntry("None")) + collections.map { CollectionFilterEntry(it.name, it.id) }), + LibraryGroup(libraries.map { LibraryFilter(it.id, it.name) }.sortedBy { it.name.toLowerCase() }), + StatusGroup(listOf("Ongoing", "Ended", "Abandoned", "Hiatus").map { StatusFilter(it) }), + GenreGroup(genres.map { GenreFilter(it) }), + TagGroup(tags.map { TagFilter(it) }), + PublisherGroup(publishers.map { PublisherFilter(it) }) + ).also { + it.addAll(authors.map { (role, authors) -> AuthorGroup(role, authors.map { AuthorFilter(it) }) }) + it.add(SeriesSort()) + } + } catch (e: Exception) { + Log.e(LOG_TAG, "error while creating filter list", e) + emptyList() + } + + return FilterList(filters) + } private var libraries = emptyList<LibraryDto>() private var collections = emptyList<CollectionDto>() @@ -431,7 +441,9 @@ open class Komga(suffix: String = "") : ConfigurableSource, HttpSource() { emptyList() } }, - {} + { tr -> + Log.e(LOG_TAG, "error while loading libraries for filters", tr) + } ) Single.fromCallable { @@ -447,7 +459,9 @@ open class Komga(suffix: String = "") : ConfigurableSource, HttpSource() { emptyList() } }, - {} + { tr -> + Log.e(LOG_TAG, "error while loading collections for filters", tr) + } ) Single.fromCallable { @@ -463,7 +477,9 @@ open class Komga(suffix: String = "") : ConfigurableSource, HttpSource() { emptySet() } }, - {} + { tr -> + Log.e(LOG_TAG, "error while loading genres for filters", tr) + } ) Single.fromCallable { @@ -479,7 +495,9 @@ open class Komga(suffix: String = "") : ConfigurableSource, HttpSource() { emptySet() } }, - {} + { tr -> + Log.e(LOG_TAG, "error while loading tags for filters", tr) + } ) Single.fromCallable { @@ -495,7 +513,9 @@ open class Komga(suffix: String = "") : ConfigurableSource, HttpSource() { emptySet() } }, - {} + { tr -> + Log.e(LOG_TAG, "error while loading publishers for filters", tr) + } ) Single.fromCallable { @@ -512,7 +532,9 @@ open class Komga(suffix: String = "") : ConfigurableSource, HttpSource() { emptyMap() } }, - {} + { tr -> + Log.e(LOG_TAG, "error while loading authors for filters", tr) + } ) } @@ -528,5 +550,7 @@ open class Komga(suffix: String = "") : ConfigurableSource, HttpSource() { private const val TYPE_SERIES = "Series" private const val TYPE_READLISTS = "Read lists" + + private const val LOG_TAG = "extension.all.komga" } }