Updated on 2026-08-14

This commit is contained in:
Tangem 2023-04-11 15:58:00 +03:00
parent aa3d131e57
commit 8fbb94cd99
4 changed files with 11 additions and 3 deletions

View file

@ -2,19 +2,24 @@ package com.tangem.utils.coroutines
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.asCoroutineDispatcher
import java.util.concurrent.Executors
import javax.inject.Inject
interface CoroutineDispatcherProvider {
val main: CoroutineDispatcher
val io: CoroutineDispatcher
val single: CoroutineDispatcher
}
class AppCoroutineDispatcherProvider @Inject constructor() : CoroutineDispatcherProvider {
override val main: CoroutineDispatcher = Dispatchers.Main
override val io: CoroutineDispatcher = Dispatchers.IO
override val single: CoroutineDispatcher = Executors.newFixedThreadPool(1).asCoroutineDispatcher()
}
class TestingCoroutineDispatcherProvider(
override val main: CoroutineDispatcher = Dispatchers.Unconfined,
override val io: CoroutineDispatcher = Dispatchers.Unconfined,
override val single: CoroutineDispatcher = Executors.newFixedThreadPool(1).asCoroutineDispatcher(),
) : CoroutineDispatcherProvider

View file

@ -23,7 +23,9 @@ suspend inline fun ifActive(crossinline block: suspend () -> Unit) = coroutineSc
}
}
class Debouncer {
class Debouncer(
val name: String = "Default",
) {
private var debounceJob: Job? = null