From e853748cf76b3e77495a7ef642e038e19c0dc68e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Mlynari=C4=8D?= Date: Thu, 1 Feb 2024 13:50:01 +0100 Subject: [PATCH] Don't use runBlocking if async init completed Change-Id: I641187ce277f434c6fca49a11b3cfccd50ecf5da --- .../apps/nowinandroid/util/ImageLoaderAsyncFactory.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/google/samples/apps/nowinandroid/util/ImageLoaderAsyncFactory.kt b/app/src/main/java/com/google/samples/apps/nowinandroid/util/ImageLoaderAsyncFactory.kt index aa79b8261..0670f6dc8 100644 --- a/app/src/main/java/com/google/samples/apps/nowinandroid/util/ImageLoaderAsyncFactory.kt +++ b/app/src/main/java/com/google/samples/apps/nowinandroid/util/ImageLoaderAsyncFactory.kt @@ -55,5 +55,8 @@ class ImageLoaderAsyncFactory @Inject constructor( * Most likely this will be already initialized by the time we want to show an image on the screen. */ override fun newImageLoader() = - trace("NiaImageLoader.runBlocking") { runBlocking { asyncNewImageLoader.await() } } + trace("NiaImageLoader.runBlocking") { + if (asyncNewImageLoader.isCompleted) asyncNewImageLoader.getCompleted() + else runBlocking { asyncNewImageLoader.await() } + } }