diff --git a/src/all/kavita/CHANGELOG.md b/src/all/kavita/CHANGELOG.md index 333fef450..2843891e9 100644 --- a/src/all/kavita/CHANGELOG.md +++ b/src/all/kavita/CHANGELOG.md @@ -1,12 +1,19 @@ +## 1.3.13 + +### Fixed + + * Fixed 'null cannot be cast to non-null type' exception + ## 1.3.12 -## Features +### Features * Migrate filters to v2 * Implemented smartFilters * Added localization support -## Fixed +### Fixed + * Fixed publication status not showing ## 1.3.10 diff --git a/src/all/kavita/build.gradle b/src/all/kavita/build.gradle index 4c45c9f12..838daa9dd 100644 --- a/src/all/kavita/build.gradle +++ b/src/all/kavita/build.gradle @@ -6,7 +6,7 @@ ext { extName = 'Kavita' pkgNameSuffix = 'all.kavita' extClass = '.KavitaFactory' - extVersionCode = 12 + extVersionCode = 13 } dependencies { diff --git a/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/Kavita.kt b/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/Kavita.kt index 7482e6cd6..079e457a9 100644 --- a/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/Kavita.kt +++ b/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/Kavita.kt @@ -125,12 +125,17 @@ class Kavita(private val suffix: String = "") : ConfigurableSource, UnmeteredSou // Get Http code val field = throwable.javaClass.getDeclaredField("code") field.isAccessible = true // Make the field accessible - var code = field.get(throwable) // Get the value of the code property - Log.e(LOG_TAG, "Error fetching manga: ${throwable.message}", throwable) - if (code as Int !in intArrayOf(401, 201, 500)) { - code = 500 + try { + var code = field.get(throwable) // Get the value of the code property + Log.e(LOG_TAG, "Error fetching manga: ${throwable.message}", throwable) + if (code as Int !in intArrayOf(401, 201, 500)) { + code = 500 + } + return@onErrorResumeNext Observable.error(IOException("Http Error: $code\n ${helper.intl["http_errors_$code"]}\n${helper.intl["check_version"]}")) + } catch (e: Exception) { + Log.e(LOG_TAG, e.toString(), e) + return@onErrorResumeNext Observable.error(e) } - return@onErrorResumeNext Observable.error(IOException("Http Error: $code\n ${helper.intl["http_errors_$code"]}\n${helper.intl["check_version"]}")) } .map { response -> popularMangaParse(response) @@ -188,10 +193,15 @@ class Kavita(private val suffix: String = "") : ConfigurableSource, UnmeteredSou override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { val newFilter = MetadataPayload() // need to reset it or will double val smartFilterFilter = filters.find { it is SmartFiltersFilter } - // If a SmartFilter selected, apply its filter and return that - if (smartFilterFilter?.state != 0) { - val index = smartFilterFilter?.state as Int - 1 + if (smartFilterFilter?.state != 0 && smartFilterFilter != null) { + val index = try { + smartFilterFilter?.state as Int - 1 + } catch (e: Exception) { + Log.e(LOG_TAG, e.toString(), e) + 0 + } + val filter: SmartFilter = smartFilters[index] val payload = buildJsonObject { put("EncodedFilter", filter.filter) diff --git a/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/KavitaInt.kt b/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/KavitaInt.kt index ed09e9769..fbaf93af0 100644 --- a/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/KavitaInt.kt +++ b/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/KavitaInt.kt @@ -11,7 +11,7 @@ object KavitaInt { SPANISH, SPANISH_LATAM, NORWEGIAN, - FRENCH + FRENCH, ) const val KAVITA_NAME = "Kavita" }