Remove dependency injection from core module and data module from presentation-widget module

Includes side effects:
- No longer need to restart app for user agent string change to take effect
- parseAs extension function requires a Json instance in the calling context, which doesn't necessarily need to be the default one provided by Injekt

(cherry picked from commit 93523ef50b80ef294866bfb0da54e236cdf2d9f6)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateChecker.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
#	core/src/main/java/eu/kanade/tachiyomi/network/NetworkHelper.kt
#	core/src/main/java/eu/kanade/tachiyomi/network/OkHttpExtensions.kt
#	domain/build.gradle.kts
#	source-api/build.gradle.kts
This commit is contained in:
arkon
2023-02-20 19:02:38 -05:00
committed by Jobobby04
parent 2e1c83442e
commit 6563490513
42 changed files with 864 additions and 657 deletions
@@ -38,7 +38,7 @@ abstract class HttpSource : CatalogueSource {
// SY -->
protected val network: NetworkHelper by lazy {
val network = Injekt.get<NetworkHelper>()
object : NetworkHelper(Injekt.get<Application>()) {
object : NetworkHelper(Injekt.get<Application>(), Injekt.get()) {
override val client: OkHttpClient
get() = delegate?.networkHttpClient ?: network.client
.newBuilder()
@@ -51,8 +51,8 @@ abstract class HttpSource : CatalogueSource {
.maybeInjectEHLogger()
.build()
override val cookieManager: AndroidCookieJar
get() = network.cookieManager
override val cookieJar: AndroidCookieJar
get() = network.cookieJar
}
}
// SY <--
@@ -97,7 +97,7 @@ abstract class HttpSource : CatalogueSource {
* Headers builder for requests. Implementations can override this method for custom headers.
*/
protected open fun headersBuilder() = Headers.Builder().apply {
add("User-Agent", network.defaultUserAgent)
add("User-Agent", network.defaultUserAgentProvider())
}
/**