new: modularize data.preferences
This commit is contained in:
@@ -0,0 +1,20 @@
|
|||||||
|
plugins {
|
||||||
|
id("gwenedeg.kmp.library")
|
||||||
|
}
|
||||||
|
|
||||||
|
kotlin {
|
||||||
|
androidLibrary {
|
||||||
|
namespace = "fr.ajaury.gwenedeg.preferences"
|
||||||
|
}
|
||||||
|
|
||||||
|
sourceSets {
|
||||||
|
commonMain.dependencies {
|
||||||
|
// Coroutines
|
||||||
|
implementation(libs.kotlinx.coroutinesCore)
|
||||||
|
|
||||||
|
// DI
|
||||||
|
implementation(project.dependencies.platform(libs.koin.bom))
|
||||||
|
implementation(libs.koin.core)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+12
@@ -0,0 +1,12 @@
|
|||||||
|
package fr.ajaury.gwenedeg.preferences.di
|
||||||
|
|
||||||
|
import fr.ajaury.gwenedeg.preferences.data.PreferencesRepositoryImpl
|
||||||
|
import fr.ajaury.gwenedeg.preferences.domain.PreferencesRepository
|
||||||
|
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
|
||||||
|
|
||||||
|
val preferencesModule: Module = module {
|
||||||
|
singleOf(::PreferencesRepositoryImpl) { bind<PreferencesRepository>() }
|
||||||
|
}
|
||||||
@@ -45,6 +45,7 @@ include(":core:logging")
|
|||||||
include(":core:model")
|
include(":core:model")
|
||||||
|
|
||||||
// Data modules
|
// Data modules
|
||||||
|
include(":data:preferences")
|
||||||
include(":data:records")
|
include(":data:records")
|
||||||
include(":data:resources")
|
include(":data:resources")
|
||||||
include(":data:subtitle")
|
include(":data:subtitle")
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ kotlin {
|
|||||||
implementation(projects.core.model)
|
implementation(projects.core.model)
|
||||||
|
|
||||||
// Data modules
|
// Data modules
|
||||||
|
implementation(projects.data.preferences)
|
||||||
implementation(projects.data.records)
|
implementation(projects.data.records)
|
||||||
implementation(projects.data.resources)
|
implementation(projects.data.resources)
|
||||||
implementation(projects.data.subtitle)
|
implementation(projects.data.subtitle)
|
||||||
|
|||||||
@@ -4,8 +4,7 @@ import fr.ajaury.gwenedeg.core.logging.di.loggingModule
|
|||||||
import fr.ajaury.gwenedeg.player.data.PlaybackRepositoryImpl
|
import fr.ajaury.gwenedeg.player.data.PlaybackRepositoryImpl
|
||||||
import fr.ajaury.gwenedeg.player.domain.PlaybackRepository
|
import fr.ajaury.gwenedeg.player.domain.PlaybackRepository
|
||||||
import fr.ajaury.gwenedeg.player.ui.viewmodel.PlayerViewModel
|
import fr.ajaury.gwenedeg.player.ui.viewmodel.PlayerViewModel
|
||||||
import fr.ajaury.gwenedeg.preferences.data.PreferencesRepositoryImpl
|
import fr.ajaury.gwenedeg.preferences.di.preferencesModule
|
||||||
import fr.ajaury.gwenedeg.preferences.domain.PreferencesRepository
|
|
||||||
import fr.ajaury.gwenedeg.records.di.recordsModule
|
import fr.ajaury.gwenedeg.records.di.recordsModule
|
||||||
import fr.ajaury.gwenedeg.records.ui.viewmodel.RecordsViewModel
|
import fr.ajaury.gwenedeg.records.ui.viewmodel.RecordsViewModel
|
||||||
import fr.ajaury.gwenedeg.resources.di.resourcesModule
|
import fr.ajaury.gwenedeg.resources.di.resourcesModule
|
||||||
@@ -16,10 +15,10 @@ import org.koin.dsl.module
|
|||||||
|
|
||||||
val sharedModule = module {
|
val sharedModule = module {
|
||||||
includes(loggingModule)
|
includes(loggingModule)
|
||||||
|
includes(preferencesModule)
|
||||||
includes(recordsModule)
|
includes(recordsModule)
|
||||||
includes(resourcesModule)
|
includes(resourcesModule)
|
||||||
singleOf(::PlaybackRepositoryImpl) { bind<PlaybackRepository>() }
|
singleOf(::PlaybackRepositoryImpl) { bind<PlaybackRepository>() }
|
||||||
singleOf(::PreferencesRepositoryImpl) { bind<PreferencesRepository>() }
|
|
||||||
viewModelOf(::RecordsViewModel)
|
viewModelOf(::RecordsViewModel)
|
||||||
viewModelOf(::PlayerViewModel)
|
viewModelOf(::PlayerViewModel)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user