From ec4a6bc0c42801ee07d201a1b12d96b0c4bd50c3 Mon Sep 17 00:00:00 2001 From: Rohit Verma <101377978+rohit9625@users.noreply.github.com> Date: Tue, 27 Aug 2024 19:37:12 +0530 Subject: [PATCH] remove asynchronous call to fetch local depictedItems (#5792) --- .../upload/depicts/DepictsPresenter.kt | 21 +++++-------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/upload/depicts/DepictsPresenter.kt b/app/src/main/java/fr/free/nrw/commons/upload/depicts/DepictsPresenter.kt index cd0033e08..d236292d1 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/depicts/DepictsPresenter.kt +++ b/app/src/main/java/fr/free/nrw/commons/upload/depicts/DepictsPresenter.kt @@ -16,12 +16,9 @@ import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.disposables.CompositeDisposable import io.reactivex.processors.PublishProcessor import io.reactivex.schedulers.Schedulers -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.launch +import kotlinx.coroutines.runBlocking import timber.log.Timber import java.lang.reflect.Proxy -import java.util.* import javax.inject.Inject import javax.inject.Named import javax.inject.Singleton @@ -88,7 +85,7 @@ class DepictsPresenter @Inject constructor( var recentDepictedItemList: MutableList = ArrayList(); //show recentDepictedItemList when queryString is empty if (querystring.isEmpty()) { - recentDepictedItemList = getRecentDepictedItems(); + recentDepictedItemList = getRecentDepictedItems().toMutableList() } if (media == null) { @@ -268,17 +265,9 @@ class DepictsPresenter @Inject constructor( /** * Get the depicts from DepictsRoomdataBase */ - fun getRecentDepictedItems(): MutableList { - val depictedItemList: MutableList = ArrayList() - CoroutineScope(Dispatchers.IO).launch { - val depictsList = depictsDao.depictsList().await() - - for (i in depictsList.indices) { - val depictedItem = depictsList[i].item - depictedItemList.add(depictedItem) - } - } - return depictedItemList + private fun getRecentDepictedItems(): List = runBlocking { + val depictsList = depictsDao.depictsList().await() + return@runBlocking depictsList.map { it.item } } }