Migrate GuavaListenableFutureQueryResultBinder to driver APIs
Two key changes to enable Room's Guava integration to use driver APIs:
* Use kotlinx-coroutines-guava to bridge between suspending Room driver APIs to Futures.
* Due to conversion of GuavaRoom utility functions to top-level Kotlin functions a new marker class was created to identify if the dependency is in the classpath since in KSP top-level containers are not discoverable.
Test: Existing
Relnote: "Added code gen APIs to support GuavaRoom with driver APIs."
Change-Id: Ic9fbddec12af20a86642054a0a4137bc82fa07d8
diff --git a/room/room-guava/build.gradle b/room/room-guava/build.gradle
index 3ca92ce..82f0229 100644
--- a/room/room-guava/build.gradle
+++ b/room/room-guava/build.gradle
@@ -37,6 +37,9 @@
implementation("androidx.arch.core:core-runtime:2.2.0")
api("androidx.annotation:annotation:1.0.0")
implementation("androidx.concurrent:concurrent-futures:1.0.0")
+ implementation(libs.kotlinCoroutinesGuava) {
+ exclude group: "com.google.guava", module: "guava"
+ }
androidTestImplementation(libs.testRunner)
androidTestImplementation(libs.truth)
}