Load extensions off the main thread (#3788)

Assisted-by: Claude:claude-opus-5
This commit is contained in:
AntsyLich
2026-08-16 22:35:38 +06:00
committed by GitHub
parent 00fb597ae9
commit 5fa5f7e159
3 changed files with 11 additions and 3 deletions
@@ -14,6 +14,7 @@ import eu.kanade.tachiyomi.extension.util.ExtensionInstaller
import eu.kanade.tachiyomi.extension.util.ExtensionLoader
import eu.kanade.tachiyomi.util.system.toast
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.SupervisorJob
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.MutableStateFlow
@@ -23,6 +24,7 @@ import kotlinx.coroutines.flow.asStateFlow
import kotlinx.coroutines.flow.emptyFlow
import kotlinx.coroutines.flow.map
import kotlinx.coroutines.flow.stateIn
import kotlinx.coroutines.launch
import logcat.LogPriority
import tachiyomi.core.common.util.lang.withUIContext
import tachiyomi.core.common.util.system.logcat
@@ -72,8 +74,10 @@ class ExtensionManager(
val untrustedExtensionsFlow = untrustedExtensionMapFlow.mapExtensions(scope)
init {
initExtensions()
ExtensionInstallReceiver(InstallationListener()).register(context)
scope.launch(Dispatchers.IO) {
initExtensions()
ExtensionInstallReceiver(InstallationListener()).register(context)
}
}
private var subLanguagesEnabledOnFirstRun = preferences.enabledLanguages.isSet()