Add executeAppFunction API
The method would return a sealed class ExecuteAppFunctionResponse to
represent either success or failure result instead of throwing an
exception. The reasons are
* The chance that executeAppFunction would end up with an error is
higher than "normal" functions as this is part of the communication
protocol between app and agent
* We would like to encourage agent developers to handle the error cases
whenever it is possible. And making it to return a result-like API can
achieve this
Relnote: Add executeAppFunction API
Bug: 394018622
Test: ./gradlew :appfunctions:appfunctions-runtime:connectedAndroidTest
Change-Id: I1eefb1f85b48c44d5508aea572fc0b84916d0874
diff --git a/appfunctions/appfunctions-runtime/build.gradle b/appfunctions/appfunctions-runtime/build.gradle
index 7246365..47c43fc 100644
--- a/appfunctions/appfunctions-runtime/build.gradle
+++ b/appfunctions/appfunctions-runtime/build.gradle
@@ -33,11 +33,12 @@
api(libs.kotlinStdlib)
// Internal dependencies
+ implementation("androidx.appsearch:appsearch:1.1.0-alpha07")
+ implementation("androidx.appsearch:appsearch-platform-storage:1.1.0-alpha07")
implementation(libs.kotlinCoroutinesAndroid)
implementation("androidx.annotation:annotation:1.9.0-rc01")
implementation project(":appfunctions:appfunctions-common")
implementation(libs.kotlinCoroutinesAndroid)
-
// Compile only dependencies
compileOnly(project(":appfunctions:appfunctions-stubs"))
@@ -49,6 +50,7 @@
testImplementation(libs.truth)
testImplementation(libs.mockitoCore4)
+ androidTestCompileOnly(project(":appfunctions:appfunctions-stubs"))
androidTestImplementation("androidx.appsearch:appsearch:1.1.0-alpha07")
androidTestImplementation("androidx.appsearch:appsearch-platform-storage:1.1.0-alpha07")
androidTestImplementation(libs.testCore)