Migrate datastore module to use koin

pull/2064/head
lihenggui 2 years ago
parent d018cf5789
commit 5e219e0f8c

@ -16,7 +16,7 @@
plugins {
alias(libs.plugins.nowinandroid.kmp.library)
alias(libs.plugins.nowinandroid.kotlin.inject)
alias(libs.plugins.nowinandroid.di.koin)
alias(libs.plugins.nowinandroid.android.library.jacoco)
}

@ -31,12 +31,10 @@ import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.map
import kotlinx.coroutines.withContext
import kotlinx.serialization.ExperimentalSerializationApi
import me.tatarka.inject.annotations.Inject
private const val USER_DATA_KEY = "userData"
@OptIn(ExperimentalSerializationApi::class, ExperimentalSettingsApi::class)
@Inject
class NiaPreferencesDataSource(
private val settings: Settings,
@Dispatcher(IO) private val dispatcher: CoroutineDispatcher,

@ -16,12 +16,17 @@
package com.google.samples.apps.nowinandroid.core.datastore.di
import com.google.samples.apps.nowinandroid.core.datastore.NiaPreferencesDataSource
import com.russhwolf.settings.Settings
import me.tatarka.inject.annotations.Component
import me.tatarka.inject.annotations.Provides
import org.koin.core.qualifier.named
import org.koin.dsl.module
@Component
abstract class SettingsComponent {
@Provides
fun providesSettings(): Settings = Settings()
val settingsModule = module {
single { Settings() }
single {
NiaPreferencesDataSource(
settings = get(),
dispatcher = get(named("IoDispatcher")),
)
}
}

Loading…
Cancel
Save