diff --git a/lib-multisrc/libgroup/build.gradle.kts b/lib-multisrc/libgroup/build.gradle.kts index 87841af2c..759e0cf39 100644 --- a/lib-multisrc/libgroup/build.gradle.kts +++ b/lib-multisrc/libgroup/build.gradle.kts @@ -2,4 +2,4 @@ plugins { id("lib-multisrc") } -baseVersionCode = 31 +baseVersionCode = 32 diff --git a/lib-multisrc/libgroup/src/eu/kanade/tachiyomi/multisrc/libgroup/LibGroup.kt b/lib-multisrc/libgroup/src/eu/kanade/tachiyomi/multisrc/libgroup/LibGroup.kt index bd7551f40..9dbb1afef 100644 --- a/lib-multisrc/libgroup/src/eu/kanade/tachiyomi/multisrc/libgroup/LibGroup.kt +++ b/lib-multisrc/libgroup/src/eu/kanade/tachiyomi/multisrc/libgroup/LibGroup.kt @@ -5,6 +5,7 @@ import android.app.Application import android.content.SharedPreferences import android.os.Handler import android.os.Looper +import android.util.Log import android.webkit.WebView import android.webkit.WebViewClient import android.widget.Toast @@ -102,18 +103,18 @@ abstract class LibGroup( } private var _constants: Constants? = null - private fun getConstants(): Constants { + private fun getConstants(): Constants? { if (_constants == null) { try { _constants = client.newCall( GET("$apiDomain/api/constants?fields[]=genres&fields[]=tags&fields[]=types&fields[]=scanlateStatus&fields[]=status&fields[]=format&fields[]=ageRestriction&fields[]=imageServers", headers), ).execute().parseAs>().data - return _constants!! - } catch (ex: SerializationException) { - throw Exception("Ошибка сериализации. Проверьте сайт.") + return _constants + } catch (ex: Exception) { + Log.d("LibGroup", "Error getting constants: $ex") } } - return _constants!! + return _constants } private fun checkForToken(chain: Interceptor.Chain): Response { @@ -376,7 +377,7 @@ abstract class LibGroup( if (page.imageUrl != null) { return Observable.just(page.imageUrl) } - val server = getConstants().getServer(isServer(), siteId).url + val server = getConstants()?.getServer(isServer(), siteId)?.url ?: throw Exception("Ошибка получения сервера изображений") return Observable.just("$server${page.url}") } @@ -508,13 +509,13 @@ abstract class LibGroup( filters += if (_constants != null) { listOf( - CategoryList(getConstants().getCategories(siteId).map { CheckFilter(it.label, it.id.toString()) }), - FormatList(getConstants().getFormats(siteId).map { SearchFilter(it.name, it.id.toString()) }), - GenreList(getConstants().getGenres(siteId).map { SearchFilter(it.name, it.id.toString()) }), - TagList(getConstants().getTags(siteId).map { SearchFilter(it.name, it.id.toString()) }), - StatusList(getConstants().getScanlateStatuses(siteId).map { CheckFilter(it.label, it.id.toString()) }), - StatusTitleList(getConstants().getTitleStatuses(siteId).map { CheckFilter(it.label, it.id.toString()) }), - AgeList(getConstants().getAgeRestrictions(siteId).map { CheckFilter(it.label, it.id.toString()) }), + CategoryList(getConstants()!!.getCategories(siteId).map { CheckFilter(it.label, it.id.toString()) }), + FormatList(getConstants()!!.getFormats(siteId).map { SearchFilter(it.name, it.id.toString()) }), + GenreList(getConstants()!!.getGenres(siteId).map { SearchFilter(it.name, it.id.toString()) }), + TagList(getConstants()!!.getTags(siteId).map { SearchFilter(it.name, it.id.toString()) }), + StatusList(getConstants()!!.getScanlateStatuses(siteId).map { CheckFilter(it.label, it.id.toString()) }), + StatusTitleList(getConstants()!!.getTitleStatuses(siteId).map { CheckFilter(it.label, it.id.toString()) }), + AgeList(getConstants()!!.getAgeRestrictions(siteId).map { CheckFilter(it.label, it.id.toString()) }), ) } else { listOf(