diff --git a/app/build.gradle b/app/build.gradle index 034457931..0b94a0515 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -16,7 +16,7 @@ android { applicationId 'org.koitharu.kotatsu' minSdk = 21 targetSdk = 35 - versionCode = 660 + versionCode = 661 versionName = '7.5-a1' generatedDensities = [] testInstrumentationRunner 'org.koitharu.kotatsu.HiltTestRunner' @@ -82,7 +82,7 @@ afterEvaluate { } dependencies { //noinspection GradleDependency - implementation('com.github.KotatsuApp:kotatsu-parsers:ca212ca692') { + implementation('com.github.KotatsuApp:kotatsu-parsers:98cbee11b9') { exclude group: 'org.json', module: 'json' } diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/browser/BrowserActivity.kt b/app/src/main/kotlin/org/koitharu/kotatsu/browser/BrowserActivity.kt index a3a5bb1f0..1da50cefb 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/browser/BrowserActivity.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/browser/BrowserActivity.kt @@ -45,7 +45,7 @@ class BrowserActivity : BaseActivity(), BrowserCallback } val mangaSource = MangaSource(intent?.getStringExtra(EXTRA_SOURCE)) val repository = mangaRepositoryFactory.create(mangaSource) as? ParserMangaRepository - repository?.headers?.get(CommonHeaders.USER_AGENT) + repository?.getRequestHeaders()?.get(CommonHeaders.USER_AGENT) viewBinding.webView.configureForParser(userAgent) CookieManager.getInstance().setAcceptThirdPartyCookies(viewBinding.webView, true) viewBinding.webView.webViewClient = BrowserClient(this) diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/core/network/CommonHeadersInterceptor.kt b/app/src/main/kotlin/org/koitharu/kotatsu/core/network/CommonHeadersInterceptor.kt index a1aa3bf86..8a8094a14 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/core/network/CommonHeadersInterceptor.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/core/network/CommonHeadersInterceptor.kt @@ -38,7 +38,7 @@ class CommonHeadersInterceptor @Inject constructor( null } val headersBuilder = request.headers.newBuilder() - repository?.headers?.let { + repository?.getRequestHeaders()?.let { headersBuilder.mergeWith(it, replaceExisting = false) } if (headersBuilder[CommonHeaders.USER_AGENT] == null) { diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/core/parser/ParserMangaRepository.kt b/app/src/main/kotlin/org/koitharu/kotatsu/core/parser/ParserMangaRepository.kt index f2f3a7b42..c54e35d97 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/core/parser/ParserMangaRepository.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/core/parser/ParserMangaRepository.kt @@ -1,6 +1,5 @@ package org.koitharu.kotatsu.core.parser -import okhttp3.Headers import okhttp3.Interceptor import okhttp3.Response import org.koitharu.kotatsu.core.cache.MemoryContentCache @@ -65,9 +64,6 @@ class ParserMangaRepository( val domains: Array get() = parser.configKeyDomain.presetValues - val headers: Headers - get() = parser.headers - override fun intercept(chain: Interceptor.Chain): Response { return if (parser is Interceptor) { parser.intercept(chain) @@ -112,6 +108,8 @@ class ParserMangaRepository( fun getAuthProvider(): MangaParserAuthProvider? = parser as? MangaParserAuthProvider + fun getRequestHeaders() = parser.getRequestHeaders() + fun getConfigKeys(): List> = ArrayList>().also { parser.onCreateConfig(it) } diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/settings/sources/auth/SourceAuthActivity.kt b/app/src/main/kotlin/org/koitharu/kotatsu/settings/sources/auth/SourceAuthActivity.kt index 588dda11a..6cf680fdf 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/settings/sources/auth/SourceAuthActivity.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/settings/sources/auth/SourceAuthActivity.kt @@ -66,7 +66,7 @@ class SourceAuthActivity : BaseActivity(), BrowserCallba setDisplayHomeAsUpEnabled(true) setHomeAsUpIndicator(materialR.drawable.abc_ic_clear_material) } - viewBinding.webView.configureForParser(repository.headers[CommonHeaders.USER_AGENT]) + viewBinding.webView.configureForParser(repository.getRequestHeaders()[CommonHeaders.USER_AGENT]) CookieManager.getInstance().setAcceptThirdPartyCookies(viewBinding.webView, true) viewBinding.webView.webViewClient = BrowserClient(this) viewBinding.webView.webChromeClient = ProgressChromeClient(viewBinding.progressBar)