diff --git a/app/src/main/java/ani/dantotsu/App.kt b/app/src/main/java/ani/dantotsu/App.kt index 7a9e39ac..74549a61 100644 --- a/app/src/main/java/ani/dantotsu/App.kt +++ b/app/src/main/java/ani/dantotsu/App.kt @@ -28,7 +28,9 @@ import eu.kanade.tachiyomi.data.notification.Notifications import eu.kanade.tachiyomi.extension.anime.AnimeExtensionManager import eu.kanade.tachiyomi.extension.manga.MangaExtensionManager import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.DelicateCoroutinesApi import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.flow.first import kotlinx.coroutines.launch import logcat.AndroidLogcatLogger @@ -57,6 +59,7 @@ class App : MultiDexApplication() { val mFTActivityLifecycleCallbacks = FTActivityLifecycleCallbacks() + @OptIn(DelicateCoroutinesApi::class) override fun onCreate() { super.onCreate() @@ -98,43 +101,29 @@ class App : MultiDexApplication() { LogcatLogger.install(AndroidLogcatLogger(LogPriority.VERBOSE)) } - animeExtensionManager = Injekt.get() - mangaExtensionManager = Injekt.get() - novelExtensionManager = Injekt.get() - torrentAddonManager = Injekt.get() - downloadAddonManager = Injekt.get() - - val animeScope = CoroutineScope(Dispatchers.Default) - animeScope.launch { + GlobalScope.launch { + animeExtensionManager = Injekt.get() + mangaExtensionManager = Injekt.get() + novelExtensionManager = Injekt.get() + torrentAddonManager = Injekt.get() + downloadAddonManager = Injekt.get() animeExtensionManager.findAvailableExtensions() Logger.log("Anime Extensions: ${animeExtensionManager.installedExtensionsFlow.first()}") AnimeSources.init(animeExtensionManager.installedExtensionsFlow) - } - val mangaScope = CoroutineScope(Dispatchers.Default) - mangaScope.launch { mangaExtensionManager.findAvailableExtensions() Logger.log("Manga Extensions: ${mangaExtensionManager.installedExtensionsFlow.first()}") MangaSources.init(mangaExtensionManager.installedExtensionsFlow) - } - val novelScope = CoroutineScope(Dispatchers.Default) - novelScope.launch { novelExtensionManager.findAvailableExtensions() Logger.log("Novel Extensions: ${novelExtensionManager.installedExtensionsFlow.first()}") NovelSources.init(novelExtensionManager.installedExtensionsFlow) - } - val addonScope = CoroutineScope(Dispatchers.Default) - addonScope.launch { torrentAddonManager.init() downloadAddonManager.init() - } - val commentsScope = CoroutineScope(Dispatchers.Default) - commentsScope.launch { CommentsAPI.fetchAuthToken() - } - val useAlarmManager = PrefManager.getVal(PrefName.UseAlarmManager) - val scheduler = TaskScheduler.create(this, useAlarmManager) - scheduler.scheduleAllTasks(this) + val useAlarmManager = PrefManager.getVal(PrefName.UseAlarmManager) + val scheduler = TaskScheduler.create(this@App, useAlarmManager) + scheduler.scheduleAllTasks(this@App) + } } private fun setupNotificationChannels() { diff --git a/app/src/main/java/ani/dantotsu/addons/download/DownloadAddonManager.kt b/app/src/main/java/ani/dantotsu/addons/download/DownloadAddonManager.kt index 6c704f83..7815c0ca 100644 --- a/app/src/main/java/ani/dantotsu/addons/download/DownloadAddonManager.kt +++ b/app/src/main/java/ani/dantotsu/addons/download/DownloadAddonManager.kt @@ -24,7 +24,7 @@ class DownloadAddonManager( override var name: String = "Download Addon" override var type = AddonType.DOWNLOAD - private val _isInitialized = MutableLiveData().apply { value = false } + private val _isInitialized = MutableLiveData().apply { postValue(false) } val isInitialized: LiveData = _isInitialized private var error: String? = null diff --git a/app/src/main/java/ani/dantotsu/addons/torrent/TorrentAddonManager.kt b/app/src/main/java/ani/dantotsu/addons/torrent/TorrentAddonManager.kt index 1dc7bfe5..cd713bae 100644 --- a/app/src/main/java/ani/dantotsu/addons/torrent/TorrentAddonManager.kt +++ b/app/src/main/java/ani/dantotsu/addons/torrent/TorrentAddonManager.kt @@ -25,7 +25,7 @@ class TorrentAddonManager( override var type: AddonType = AddonType.TORRENT var torrentHash: String? = null - private val _isInitialized = MutableLiveData().apply { value = false } + private val _isInitialized = MutableLiveData().apply { postValue(false) } val isInitialized: LiveData = _isInitialized private var error: String? = null