Skip to content

Instantly share code, notes, and snippets.

@3llomi
3llomi / EthreeExtensions.kt
Last active October 5, 2022 14:06
Kotlin Coroutines Extensions for E3Kit
import com.virgilsecurity.common.callback.OnCompleteListener
import com.virgilsecurity.common.callback.OnResultListener
import com.virgilsecurity.common.model.Completable
import com.virgilsecurity.common.model.Result
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.CoroutineScope
suspend fun Completable.await(scope: CoroutineScope) {
val deferred = CompletableDeferred<Unit>()
addCallback(object : OnCompleteListener {
@3llomi
3llomi / FBExtensions.kt
Created April 14, 2019 18:09
Kotlin Extensions to convert Firebase Database Ref or Query to Deferred that you can 'await' on
fun DatabaseReference.toDeffered(): Deferred<DataSnapshot> {
val deferred = CompletableDeferred<DataSnapshot>()
deferred.invokeOnCompletion {
if (deferred.isCancelled) {
// optional, handle coroutine cancellation however you'd like here
}
}
this.addListenerForSingleValueEvent(object : ValueEventListener {