# HG changeset patch # User Da Risk # Date 1670459550 14400 # Node ID 626c1ea36cb923ce55758a45947e90ad8f65583b # Parent 3eccd62c03e9a873ac360cca434db87cdcf337e8 geekdroid-firebase: remove Play core task extensions as latest version use gms Tasks diff -r 3eccd62c03e9 -r 626c1ea36cb9 geekdroid-firebase/build.gradle.kts --- a/geekdroid-firebase/build.gradle.kts Thu Dec 01 19:52:51 2022 -0400 +++ b/geekdroid-firebase/build.gradle.kts Wed Dec 07 20:32:30 2022 -0400 @@ -59,9 +59,6 @@ // not firebase but they often work together so here we are implementation("com.google.android.gms:play-services-location:21.0.1") - // not firebase but similar to gms api - implementation("com.google.android.play:core:1.10.3") - // fix for guava conflict // firebase depends on a older version of these dependencies while testImplementation dependencies // depends on new version diff -r 3eccd62c03e9 -r 626c1ea36cb9 geekdroid-firebase/src/main/java/com/geekorum/geekdroid/gms/Tasks.kt --- a/geekdroid-firebase/src/main/java/com/geekorum/geekdroid/gms/Tasks.kt Thu Dec 01 19:52:51 2022 -0400 +++ b/geekdroid-firebase/src/main/java/com/geekorum/geekdroid/gms/Tasks.kt Wed Dec 07 20:32:30 2022 -0400 @@ -22,13 +22,11 @@ package com.geekorum.geekdroid.gms import com.google.android.gms.tasks.Task -import kotlinx.coroutines.CancellationException import kotlinx.coroutines.CompletableDeferred import kotlinx.coroutines.Deferred import kotlinx.coroutines.suspendCancellableCoroutine import kotlin.coroutines.resume import kotlin.coroutines.resumeWithException -import com.google.android.play.core.tasks.Task as PlayCoreTask /** * Await for the result of a [Task] @@ -84,7 +82,7 @@ /** * Converts this task to an instance of [Deferred]. */ -fun PlayCoreTask.asDeferred(): Deferred { +fun Task.asDeferred(): Deferred { if (isComplete) { val e = exception return if (e == null) { @@ -108,34 +106,3 @@ return result } -/** - * Awaits for completion of the task without blocking a thread. - * - * If the [Job] of the current coroutine is cancelled or completed while this suspending function is waiting, this function - * stops waiting for the completion stage and immediately resumes with [CancellationException]. - */ -suspend fun PlayCoreTask.await(): T { - // fast path - if (isComplete) { - val e = exception - return if (e == null) { - @Suppress("UNCHECKED_CAST") - result as T - } else { - throw e - } - } - - return suspendCancellableCoroutine { cont -> - addOnCompleteListener { - val e = exception - if (e == null) { - @Suppress("UNCHECKED_CAST") - cont.resume(result as T) - } else { - cont.resumeWithException(e) - } - } - } -} -