LibGroup: Fix app crash (#5624)

fix crash
This commit is contained in:
bapeey 2024-10-21 08:43:17 -05:00 committed by GitHub
parent 49f942a8cb
commit 59f3520be7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 15 additions and 14 deletions

View File

@ -2,4 +2,4 @@ plugins {
id("lib-multisrc")
}
baseVersionCode = 31
baseVersionCode = 32

View File

@ -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<Constants>>().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(