fix: avoid waiting on network for local exts
This commit is contained in:
parent
baffbc845c
commit
61a8350043
3 changed files with 17 additions and 10 deletions
|
@ -113,21 +113,28 @@ class App : MultiDexApplication() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
CoroutineScope(Dispatchers.IO).launch {
|
val scope = CoroutineScope(Dispatchers.IO)
|
||||||
|
scope.launch {
|
||||||
animeExtensionManager = Injekt.get()
|
animeExtensionManager = Injekt.get()
|
||||||
|
launch {
|
||||||
animeExtensionManager.findAvailableExtensions()
|
animeExtensionManager.findAvailableExtensions()
|
||||||
|
}
|
||||||
Logger.log("Anime Extensions: ${animeExtensionManager.installedExtensionsFlow.first()}")
|
Logger.log("Anime Extensions: ${animeExtensionManager.installedExtensionsFlow.first()}")
|
||||||
AnimeSources.init(animeExtensionManager.installedExtensionsFlow)
|
AnimeSources.init(animeExtensionManager.installedExtensionsFlow)
|
||||||
}
|
}
|
||||||
CoroutineScope(Dispatchers.IO).launch {
|
scope.launch {
|
||||||
mangaExtensionManager = Injekt.get()
|
mangaExtensionManager = Injekt.get()
|
||||||
|
launch {
|
||||||
mangaExtensionManager.findAvailableExtensions()
|
mangaExtensionManager.findAvailableExtensions()
|
||||||
|
}
|
||||||
Logger.log("Manga Extensions: ${mangaExtensionManager.installedExtensionsFlow.first()}")
|
Logger.log("Manga Extensions: ${mangaExtensionManager.installedExtensionsFlow.first()}")
|
||||||
MangaSources.init(mangaExtensionManager.installedExtensionsFlow)
|
MangaSources.init(mangaExtensionManager.installedExtensionsFlow)
|
||||||
}
|
}
|
||||||
CoroutineScope(Dispatchers.IO).launch {
|
scope.launch {
|
||||||
novelExtensionManager = Injekt.get()
|
novelExtensionManager = Injekt.get()
|
||||||
|
launch {
|
||||||
novelExtensionManager.findAvailableExtensions()
|
novelExtensionManager.findAvailableExtensions()
|
||||||
|
}
|
||||||
Logger.log("Novel Extensions: ${novelExtensionManager.installedExtensionsFlow.first()}")
|
Logger.log("Novel Extensions: ${novelExtensionManager.installedExtensionsFlow.first()}")
|
||||||
NovelSources.init(novelExtensionManager.installedExtensionsFlow)
|
NovelSources.init(novelExtensionManager.installedExtensionsFlow)
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,6 @@ object AnimeSources : WatchSources() {
|
||||||
)
|
)
|
||||||
isInitialized = true
|
isInitialized = true
|
||||||
|
|
||||||
// Update as StateFlow emits new values
|
|
||||||
fromExtensions.collect { extensions ->
|
fromExtensions.collect { extensions ->
|
||||||
list = sortPinnedAnimeSources(
|
list = sortPinnedAnimeSources(
|
||||||
createParsersFromExtensions(extensions),
|
createParsersFromExtensions(extensions),
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package eu.kanade.tachiyomi.extension.api
|
package eu.kanade.tachiyomi.extension.api
|
||||||
|
|
||||||
|
import ani.dantotsu.asyncMap
|
||||||
import ani.dantotsu.parsers.novel.AvailableNovelSources
|
import ani.dantotsu.parsers.novel.AvailableNovelSources
|
||||||
import ani.dantotsu.parsers.novel.NovelExtension
|
import ani.dantotsu.parsers.novel.NovelExtension
|
||||||
import ani.dantotsu.settings.saving.PrefManager
|
import ani.dantotsu.settings.saving.PrefManager
|
||||||
|
@ -67,7 +68,7 @@ internal class ExtensionGithubApi {
|
||||||
val repos =
|
val repos =
|
||||||
PrefManager.getVal<Set<String>>(PrefName.AnimeExtensionRepos).toMutableList()
|
PrefManager.getVal<Set<String>>(PrefName.AnimeExtensionRepos).toMutableList()
|
||||||
|
|
||||||
repos.forEach {
|
repos.asyncMap {
|
||||||
val repoUrl = if (it.contains("index.min.json")) {
|
val repoUrl = if (it.contains("index.min.json")) {
|
||||||
it
|
it
|
||||||
} else {
|
} else {
|
||||||
|
@ -155,7 +156,7 @@ internal class ExtensionGithubApi {
|
||||||
val repos =
|
val repos =
|
||||||
PrefManager.getVal<Set<String>>(PrefName.MangaExtensionRepos).toMutableList()
|
PrefManager.getVal<Set<String>>(PrefName.MangaExtensionRepos).toMutableList()
|
||||||
|
|
||||||
repos.forEach {
|
repos.asyncMap {
|
||||||
val repoUrl = if (it.contains("index.min.json")) {
|
val repoUrl = if (it.contains("index.min.json")) {
|
||||||
it
|
it
|
||||||
} else {
|
} else {
|
||||||
|
@ -207,7 +208,7 @@ internal class ExtensionGithubApi {
|
||||||
val repos =
|
val repos =
|
||||||
PrefManager.getVal<Set<String>>(PrefName.NovelExtensionRepos).toMutableList()
|
PrefManager.getVal<Set<String>>(PrefName.NovelExtensionRepos).toMutableList()
|
||||||
|
|
||||||
repos.forEach {
|
repos.asyncMap {
|
||||||
val repoUrl = if (it.contains("index.min.json")) {
|
val repoUrl = if (it.contains("index.min.json")) {
|
||||||
it
|
it
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue