Skip to content

Commit ad23678

Browse files
authored
Merge pull request #14904 from woocommerce/bug/run-DB-query-on-IO-dispatcher
[Woo POS][Local Catalog][Bug] Invoke DB query on `IO` dispatcher
2 parents a6dbaa3 + d0a183e commit ad23678

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/localcatalog/WooPosIsLocalCatalogVariationsEndpointAvailable.kt

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,22 @@ package com.woocommerce.android.ui.woopos.localcatalog
22

33
import com.woocommerce.android.extensions.semverCompareTo
44
import com.woocommerce.android.ui.woopos.common.util.WooPosLogWrapper
5+
import com.woocommerce.android.util.CoroutineDispatchers
56
import com.woocommerce.android.util.GetWooCorePluginCachedVersion
7+
import kotlinx.coroutines.withContext
68
import javax.inject.Inject
79

810
class WooPosIsLocalCatalogVariationsEndpointAvailable @Inject constructor(
911
private val getWooVersion: GetWooCorePluginCachedVersion,
10-
private val logger: WooPosLogWrapper
12+
private val logger: WooPosLogWrapper,
13+
private val dispatchers: CoroutineDispatchers,
1114
) {
12-
operator fun invoke(): Boolean {
13-
val currentWooCoreVersion = getWooVersion() ?: return false.also {
15+
suspend operator fun invoke(): Boolean = withContext(dispatchers.io) {
16+
val currentWooCoreVersion = getWooVersion() ?: return@withContext false.also {
1417
logger.d("Unknown WooCommerce version - assuming variations endpoint not available.")
1518
}
1619

17-
return currentWooCoreVersion.semverCompareTo(WC_VARIATIONS_ENDPOINT_AVAILABLE) >= 0
20+
return@withContext currentWooCoreVersion.semverCompareTo(WC_VARIATIONS_ENDPOINT_AVAILABLE) >= 0
1821
}
1922

2023
companion object {

WooCommerce/src/test/kotlin/com/woocommerce/android/ui/woopos/localcatalog/WooPosIsLocalCatalogSupportedTest.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@ class WooPosIsLocalCatalogSupportedTest : BaseUnitTest() {
3636

3737
val variationsEndpointChecker = WooPosIsLocalCatalogVariationsEndpointAvailable(
3838
getWooVersion = getWooVersion,
39-
logger = logger
39+
logger = logger,
40+
dispatchers = coroutinesTestRule.testDispatchers
4041
)
4142

4243
isLocalCatalogSupported = WooPosIsLocalCatalogSupported(

0 commit comments

Comments
 (0)