diff --git a/app/src/main/java/eu/kanade/tachiyomi/App.kt b/app/src/main/java/eu/kanade/tachiyomi/App.kt index 6f53425723..824431737a 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/App.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/App.kt @@ -20,6 +20,7 @@ import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.ProcessLifecycleOwner import androidx.lifecycle.lifecycleScope import androidx.multidex.MultiDex +import dev.yokai.domain.AppState import eu.kanade.tachiyomi.appwidget.TachiyomiWidgetManager import eu.kanade.tachiyomi.data.image.coil.CoilSetup import eu.kanade.tachiyomi.data.notification.Notifications @@ -47,6 +48,8 @@ open class App : Application(), DefaultLifecycleObserver { val preferences: PreferencesHelper by injectLazy() + val state: AppState by lazy { AppState() } + private val disableIncognitoReceiver = DisableIncognitoReceiver() @SuppressLint("LaunchActivityFromNotification") diff --git a/app/src/main/java/eu/kanade/tachiyomi/di/AppModule.kt b/app/src/main/java/eu/kanade/tachiyomi/di/AppModule.kt index e486c79ad7..c87aaa970a 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/di/AppModule.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/di/AppModule.kt @@ -2,17 +2,13 @@ package eu.kanade.tachiyomi.di import android.app.Application import androidx.core.content.ContextCompat -import dev.yokai.domain.AppState import dev.yokai.domain.extension.TrustExtension -import eu.kanade.tachiyomi.core.preference.AndroidPreferenceStore -import eu.kanade.tachiyomi.core.preference.PreferenceStore import eu.kanade.tachiyomi.data.cache.ChapterCache import eu.kanade.tachiyomi.data.cache.CoverCache import eu.kanade.tachiyomi.data.database.DatabaseHelper import eu.kanade.tachiyomi.data.download.DownloadManager import eu.kanade.tachiyomi.data.library.CustomMangaManager import eu.kanade.tachiyomi.data.track.TrackManager -import eu.kanade.tachiyomi.data.track.TrackPreferences import eu.kanade.tachiyomi.extension.ExtensionManager import eu.kanade.tachiyomi.network.JavaScriptEngine import eu.kanade.tachiyomi.network.NetworkHelper @@ -20,7 +16,11 @@ import eu.kanade.tachiyomi.source.SourceManager import eu.kanade.tachiyomi.util.chapter.ChapterFilter import eu.kanade.tachiyomi.util.manga.MangaShortcutManager import kotlinx.serialization.json.Json -import uy.kohesive.injekt.api.* +import uy.kohesive.injekt.api.InjektModule +import uy.kohesive.injekt.api.InjektRegistrar +import uy.kohesive.injekt.api.addSingleton +import uy.kohesive.injekt.api.addSingletonFactory +import uy.kohesive.injekt.api.get class AppModule(val app: Application) : InjektModule { @@ -59,8 +59,6 @@ class AppModule(val app: Application) : InjektModule { addSingletonFactory { TrustExtension() } - addSingletonFactory { AppState() } - // Asynchronously init expensive components for a faster cold start ContextCompat.getMainExecutor(app).execute { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt index 7d791aa474..ea9c6be8a2 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt @@ -74,7 +74,6 @@ import com.google.android.material.snackbar.Snackbar import com.google.android.material.transition.platform.MaterialContainerTransformSharedElementCallback import com.google.common.primitives.Floats.max import com.google.common.primitives.Ints.max -import dev.yokai.domain.AppState import dev.yokai.presentation.extension.repo.ExtensionRepoController import eu.kanade.tachiyomi.BuildConfig import eu.kanade.tachiyomi.Migrations @@ -112,6 +111,7 @@ import eu.kanade.tachiyomi.ui.source.BrowseController import eu.kanade.tachiyomi.ui.source.browse.BrowseSourceController import eu.kanade.tachiyomi.util.manga.MangaCoverMetadata import eu.kanade.tachiyomi.util.manga.MangaShortcutManager +import eu.kanade.tachiyomi.util.system.appState import eu.kanade.tachiyomi.util.system.contextCompatDrawable import eu.kanade.tachiyomi.util.system.dpToPx import eu.kanade.tachiyomi.util.system.getResourceColor @@ -241,7 +241,6 @@ open class MainActivity : BaseActivity() { } } - private val appState: AppState by injectLazy() var ready = false override fun onCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/eu/kanade/tachiyomi/util/system/ContextExtensions.kt b/app/src/main/java/eu/kanade/tachiyomi/util/system/ContextExtensions.kt index 6b317f6063..f1c39b98d7 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/util/system/ContextExtensions.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/util/system/ContextExtensions.kt @@ -36,6 +36,8 @@ import androidx.work.CoroutineWorker import androidx.work.WorkInfo import androidx.work.WorkManager import com.hippo.unifile.UniFile +import dev.yokai.domain.AppState +import eu.kanade.tachiyomi.App import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.preference.PreferencesHelper import eu.kanade.tachiyomi.extension.util.ExtensionLoader @@ -468,3 +470,9 @@ val Context.systemLangContext: Context configuration.setLocale(systemLocale) return createConfigurationContext(configuration) } + +val Context.application: App + get() = applicationContext as App + +val Context.appState: AppState + get() = application.state