refactor: simplify Koin module definitions with DSL

This commit is contained in:
2026-06-23 14:56:03 +02:00
parent a3d1bb56a6
commit 3f64d62294
8 changed files with 29 additions and 13 deletions
@@ -5,9 +5,11 @@ import fr.ajaury.gwenedeg.player.data.AndroidAudioSessionManager
import fr.ajaury.gwenedeg.player.domain.AudioPlayer
import fr.ajaury.gwenedeg.player.domain.AudioSessionManager
import org.koin.core.module.Module
import org.koin.core.module.dsl.bind
import org.koin.core.module.dsl.singleOf
import org.koin.dsl.module
actual val audioPlayerModule: Module = module {
single<AudioPlayer> { AndroidAudioPlayer(context = get()) }
single<AudioSessionManager> { AndroidAudioSessionManager() }
singleOf(::AndroidAudioPlayer) { bind<AudioPlayer>() }
singleOf(::AndroidAudioSessionManager) { bind<AudioSessionManager>() }
}
@@ -1,13 +1,17 @@
package fr.ajaury.gwenedeg.player.di
import fr.ajaury.gwenedeg.core.logging.di.loggingModule
import fr.ajaury.gwenedeg.player.data.IosAudioPlayer
import fr.ajaury.gwenedeg.player.data.IosAudioSessionManager
import fr.ajaury.gwenedeg.player.domain.AudioPlayer
import fr.ajaury.gwenedeg.player.domain.AudioSessionManager
import org.koin.core.module.Module
import org.koin.core.module.dsl.bind
import org.koin.core.module.dsl.singleOf
import org.koin.dsl.module
actual val audioPlayerModule: Module = module {
single<AudioPlayer> { IosAudioPlayer() }
single<AudioSessionManager> { IosAudioSessionManager() }
includes(loggingModule)
singleOf(::IosAudioPlayer) { bind<AudioPlayer>() }
singleOf(::IosAudioSessionManager) { bind<AudioSessionManager>() }
}
@@ -5,9 +5,11 @@ import fr.ajaury.gwenedeg.player.data.JvmAudioSessionManager
import fr.ajaury.gwenedeg.player.domain.AudioPlayer
import fr.ajaury.gwenedeg.player.domain.AudioSessionManager
import org.koin.core.module.Module
import org.koin.core.module.dsl.bind
import org.koin.core.module.dsl.singleOf
import org.koin.dsl.module
actual val audioPlayerModule: Module = module {
single<AudioPlayer> { JvmAudioPlayer() }
single<AudioSessionManager> { JvmAudioSessionManager() }
singleOf(::JvmAudioPlayer) { bind<AudioPlayer>() }
singleOf(::JvmAudioSessionManager) { bind<AudioSessionManager>() }
}
@@ -5,9 +5,11 @@ import fr.ajaury.gwenedeg.player.data.WebAudioSessionManager
import fr.ajaury.gwenedeg.player.domain.AudioPlayer
import fr.ajaury.gwenedeg.player.domain.AudioSessionManager
import org.koin.core.module.Module
import org.koin.core.module.dsl.bind
import org.koin.core.module.dsl.singleOf
import org.koin.dsl.module
actual val audioPlayerModule: Module = module {
single<AudioPlayer> { WebAudioPlayer() }
single<AudioSessionManager> { WebAudioSessionManager() }
singleOf(::WebAudioPlayer) { bind<AudioPlayer>() }
singleOf(::WebAudioSessionManager) { bind<AudioSessionManager>() }
}