Fix singletons

This commit is contained in:
Syer10
2022-02-26 15:11:05 -05:00
parent a423090052
commit 6878b24570
2 changed files with 58 additions and 11 deletions

View File

@@ -44,57 +44,102 @@ actual abstract class DataComponent {
abstract val serverService: ServerService
abstract val http: Http
abstract val serverHostPreferences: ServerHostPreferences
abstract val serverPreferences: ServerPreferences
abstract val extensionPreferences: ExtensionPreferences
abstract val catalogPreferences: CatalogPreferences
abstract val libraryPreferences: LibraryPreferences
abstract val readerPreferences: ReaderPreferences
abstract val uiPreferences: UiPreferences
abstract val migrationPreferences: MigrationPreferences
abstract val updatePreferences: UpdatePreferences
@get:AppScope
@get:Provides
val serverHostPreferences: ServerHostPreferences
protected val serverHostPreferencesFactory: ServerHostPreferences
get() = ServerHostPreferences(preferenceFactory.create("host"))
@get:AppScope
@get:Provides
val serverPreferences: ServerPreferences
protected val serverPreferencesFactory: ServerPreferences
get() = ServerPreferences(preferenceFactory.create("server"))
@get:AppScope
@get:Provides
val extensionPreferences: ExtensionPreferences
protected val extensionPreferencesFactory: ExtensionPreferences
get() = ExtensionPreferences(preferenceFactory.create("extension"))
@get:AppScope
@get:Provides
val catalogPreferences: CatalogPreferences
protected val catalogPreferencesFactory: CatalogPreferences
get() = CatalogPreferences(preferenceFactory.create("catalog"))
@get:AppScope
@get:Provides
val libraryPreferences: LibraryPreferences
protected val libraryPreferencesFactory: LibraryPreferences
get() = LibraryPreferences(preferenceFactory.create("library"))
@get:AppScope
@get:Provides
val readerPreferences: ReaderPreferences
protected val readerPreferencesFactory: ReaderPreferences
get() = ReaderPreferences(preferenceFactory.create("reader")) { name ->
preferenceFactory.create("reader", name)
}
@get:AppScope
@get:Provides
val uiPreferences: UiPreferences
protected val uiPreferencesFactory: UiPreferences
get() = UiPreferences(preferenceFactory.create("ui"))
@get:AppScope
@get:Provides
val migrationPreferences: MigrationPreferences
protected val migrationPreferencesFactory: MigrationPreferences
get() = MigrationPreferences(preferenceFactory.create("migration"))
@get:AppScope
@get:Provides
val updatePreferences: UpdatePreferences
protected val updatePreferencesFactory: UpdatePreferences
get() = UpdatePreferences(preferenceFactory.create("update"))
@get:AppScope
@get:Provides
val http: Http
protected val httpFactory: Http
get() = httpProvider.get(serverPreferences)
@get:AppScope
@get:Provides
protected val serverServiceFactory: ServerService
get() = ServerService(serverHostPreferences)
@get:AppScope
@get:Provides
protected val libraryUpdateServiceFactory: LibraryUpdateService
get() = LibraryUpdateService(serverPreferences, http)
@get:AppScope
@get:Provides
protected val downloadServiceFactory: DownloadService
get() = DownloadService(serverPreferences, http)
@get:AppScope
@get:Provides
protected val migrationsFactory: Migrations
get() = Migrations(migrationPreferences, readerPreferences)
@get:AppScope
@get:Provides
protected val updateCheckerFactory: UpdateChecker
get() = UpdateChecker(updatePreferences, http)
companion object
}

View File

@@ -25,9 +25,11 @@ abstract class UiComponent(
abstract val viewModelFactory: ViewModelFactoryImpl
abstract val kamelConfig: KamelConfig
@get:AppScope
@get:Provides
val kamelConfig: KamelConfig
protected val kamelConfigFactory: KamelConfig
get() = kamelConfigProvider.get()
fun getHooks() = arrayOf(