new: integrate a dispatcher provider and dispatch work
This commit is contained in:
@@ -60,6 +60,7 @@ kotlin {
|
||||
commonMain.dependencies {
|
||||
// Core modules
|
||||
implementation(projects.core.audioplayer)
|
||||
implementation(projects.core.coroutines)
|
||||
implementation(projects.core.logging)
|
||||
|
||||
// Data modules
|
||||
|
||||
@@ -7,6 +7,7 @@ import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.navigation3.runtime.NavEntry
|
||||
import androidx.navigation3.ui.NavDisplay
|
||||
import androidx.savedstate.compose.serialization.serializers.SnapshotStateListSerializer
|
||||
import fr.ajaury.gwenedeg.core.coroutines.di.coroutinesModule
|
||||
import fr.ajaury.gwenedeg.core.logging.di.loggingModule
|
||||
import fr.ajaury.gwenedeg.di.sharedModule
|
||||
import fr.ajaury.gwenedeg.navigation.Route
|
||||
@@ -26,6 +27,7 @@ fun App() {
|
||||
modules(
|
||||
sharedModule,
|
||||
audioPlayerModule,
|
||||
coroutinesModule,
|
||||
loggingModule,
|
||||
subtitleModule
|
||||
)
|
||||
|
||||
+9
-2
@@ -1,8 +1,15 @@
|
||||
package fr.ajaury.gwenedeg.resourcereader.data
|
||||
|
||||
import fr.ajaury.gwenedeg.core.coroutines.domain.DispatcherProvider
|
||||
import fr.ajaury.gwenedeg.resourcereader.data.domain.ResourceReader
|
||||
import gwenedeg.shared.generated.resources.Res
|
||||
import kotlinx.coroutines.withContext
|
||||
|
||||
internal class ComposeResourceReader : ResourceReader {
|
||||
override suspend fun read(resourcePath: String): String = Res.readBytes(resourcePath).decodeToString()
|
||||
internal class ComposeResourceReader(
|
||||
private val dispatcherProvider: DispatcherProvider,
|
||||
) : ResourceReader {
|
||||
override suspend fun read(resourcePath: String): String =
|
||||
withContext(dispatcherProvider.io) {
|
||||
Res.readBytes(resourcePath).decodeToString()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user