@@ -19,11 +19,11 @@ package com.google.samples.apps.nowinandroid.util
1919import androidx.tracing.trace
2020import coil.ImageLoader
2121import coil.ImageLoaderFactory
22+ import com.google.samples.apps.nowinandroid.core.network.NiaDispatchers.Default
2223import com.google.samples.apps.nowinandroid.core.network.di.ApplicationScope
2324import kotlinx.coroutines.CoroutineScope
2425import kotlinx.coroutines.Deferred
2526import kotlinx.coroutines.async
26- import kotlinx.coroutines.launch
2727import kotlinx.coroutines.runBlocking
2828import javax.inject.Inject
2929
@@ -41,14 +41,12 @@ class ImageLoaderAsyncFactory @Inject constructor(
4141 appScope : CoroutineScope ,
4242 private val imageLoader : dagger.Lazy <ImageLoader >,
4343) : ImageLoaderFactory {
44- private lateinit var asyncNewImageLoader: Deferred <ImageLoader >
4544
46- init {
47- asyncNewImageLoader = appScope.async {
48- // Initialize immediately, but need a Deferred for callers
49- imageLoader.get()
50- }
51- }
45+ /* *
46+ * Initialize immediately, but need a Deferred for callers
47+ * [ApplicationScope] already uses [Default] dispatcher, so we don't have to switch it here.
48+ */
49+ private val asyncNewImageLoader: Deferred <ImageLoader > = appScope.async { imageLoader.get() }
5250
5351 /* *
5452 * This runBlocking here is on purpose to prevent any unfinished Coil initialization.
0 commit comments