AppModule.kt 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package eu.kanade.tachiyomi
  2. import android.app.Application
  3. import com.google.gson.Gson
  4. import eu.kanade.tachiyomi.data.cache.ChapterCache
  5. import eu.kanade.tachiyomi.data.cache.CoverCache
  6. import eu.kanade.tachiyomi.data.database.DatabaseHelper
  7. import eu.kanade.tachiyomi.data.download.DownloadManager
  8. import eu.kanade.tachiyomi.data.mangasync.MangaSyncManager
  9. import eu.kanade.tachiyomi.data.network.NetworkHelper
  10. import eu.kanade.tachiyomi.data.preference.PreferencesHelper
  11. import eu.kanade.tachiyomi.data.source.SourceManager
  12. import uy.kohesive.injekt.api.InjektModule
  13. import uy.kohesive.injekt.api.InjektRegistrar
  14. import uy.kohesive.injekt.api.addSingletonFactory
  15. class AppModule(val app: Application) : InjektModule {
  16. override fun InjektRegistrar.registerInjectables() {
  17. addSingletonFactory { PreferencesHelper(app) }
  18. addSingletonFactory { DatabaseHelper(app) }
  19. addSingletonFactory { ChapterCache(app) }
  20. addSingletonFactory { CoverCache(app) }
  21. addSingletonFactory { NetworkHelper(app) }
  22. addSingletonFactory { SourceManager(app) }
  23. addSingletonFactory { DownloadManager(app) }
  24. addSingletonFactory { MangaSyncManager(app) }
  25. addSingletonFactory { Gson() }
  26. }
  27. }