Merge "rename *Resolver to *Listener" into androidx-main
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/task/AppEntityResolver.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/task/AppEntityListListener.kt
similarity index 96%
copy from appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/task/AppEntityResolver.kt
copy to appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/task/AppEntityListListener.kt
index a3bb98a..5093c08 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/task/AppEntityResolver.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/task/AppEntityListListener.kt
@@ -26,7 +26,7 @@
  * @hide
  */
 @RestrictTo(RestrictTo.Scope.LIBRARY)
-interface AppEntityResolver : ValueListener {
+interface AppEntityListListener : ValueListener> {
     /**
      * Given a search criteria, looks up the inventory during runtime, renders the search result
      * within the app's own UI and then returns it to the Assistant so that the task can be kept in
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/task/AppEntityListResolver.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/task/AppEntityListResolver.kt
deleted file mode 100644
index b6187ba..0000000
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/task/AppEntityListResolver.kt
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package androidx.appactions.interaction.capabilities.core.task
-
-import androidx.annotation.RestrictTo
-import androidx.appactions.interaction.capabilities.core.values.SearchAction
-import androidx.concurrent.futures.await
-import com.google.common.util.concurrent.ListenableFuture
-
-/**
- * Similar to ValueListener, but also need to handle grounding of ungrounded values.
- *
- * @hide
- */
-@RestrictTo(RestrictTo.Scope.LIBRARY)
-interface AppEntityListResolver : ValueListener> {
-    /**
-     * Given a search criteria, looks up the inventory during runtime, renders the search result
-     * within the app's own UI and then returns it to the Assistant so that the task can be kept in
-     * sync with the app UI.
-     *
-     * @return a structured search result represented by [EntitySearchResult] for the given
-     *   [searchAction]
-     */
-    suspend fun lookupAndRender(searchAction: SearchAction): EntitySearchResult =
-        lookupAndRenderAsync(searchAction).await()
-
-    /**
-     * Given a search criteria, looks up the inventory during runtime, renders the search result
-     * within the app's own UI and then returns it to the Assistant so that the task can be kept in
-     * sync with the app UI.
-     *
-     * @return a [ListenableFuture] of the structured search result represented by
-     *   [EntitySearchResult] for the given [searchAction]
-     */
-    fun lookupAndRenderAsync(
-        searchAction: SearchAction
-    ): ListenableFuture> {
-        throw NotImplementedError()
-    }
-}
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/task/AppEntityResolver.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/task/AppEntityListener.kt
similarity index 97%
rename from appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/task/AppEntityResolver.kt
rename to appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/task/AppEntityListener.kt
index a3bb98a..ef0c47b 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/task/AppEntityResolver.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/task/AppEntityListener.kt
@@ -26,7 +26,7 @@
  * @hide
  */
 @RestrictTo(RestrictTo.Scope.LIBRARY)
-interface AppEntityResolver : ValueListener {
+interface AppEntityListener : ValueListener {
     /**
      * Given a search criteria, looks up the inventory during runtime, renders the search result
      * within the app's own UI and then returns it to the Assistant so that the task can be kept in
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/task/InventoryListResolver.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/task/InventoryListListener.kt
similarity index 93%
rename from appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/task/InventoryListResolver.kt
rename to appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/task/InventoryListListener.kt
index 13ad6a7..9450a1e 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/task/InventoryListResolver.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/task/InventoryListListener.kt
@@ -20,12 +20,12 @@
 import com.google.common.util.concurrent.ListenableFuture
 
 /**
- * Repeated version of [InventoryResolver].
+ * Repeated version of [InventoryListener].
  *
  * @hide
  */
 @RestrictTo(RestrictTo.Scope.LIBRARY)
-interface InventoryListResolver : ValueListener> {
+interface InventoryListListener : ValueListener> {
     /**
      * Renders the provided entities in the app UI for disambiguation.
      *
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/task/InventoryResolver.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/task/InventoryListener.kt
similarity index 96%
rename from appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/task/InventoryResolver.kt
rename to appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/task/InventoryListener.kt
index 56c635a..75d2764 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/task/InventoryResolver.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/task/InventoryListener.kt
@@ -25,7 +25,7 @@
  * @hide
  */
 @RestrictTo(RestrictTo.Scope.LIBRARY)
-interface InventoryResolver : ValueListener {
+interface InventoryListener : ValueListener {
     /**
      * Renders the provided entities in the app UI for disambiguation.
      *
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/task/impl/GenericResolverInternal.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/task/impl/GenericResolverInternal.kt
index e601a4a..eb30e5b 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/task/impl/GenericResolverInternal.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/task/impl/GenericResolverInternal.kt
@@ -18,11 +18,11 @@
 import androidx.appactions.interaction.capabilities.core.impl.converters.ParamValueConverter
 import androidx.appactions.interaction.capabilities.core.impl.converters.SlotTypeConverter
 import androidx.appactions.interaction.capabilities.core.impl.exceptions.StructConversionException
-import androidx.appactions.interaction.capabilities.core.task.AppEntityListResolver
-import androidx.appactions.interaction.capabilities.core.task.AppEntityResolver
+import androidx.appactions.interaction.capabilities.core.task.AppEntityListListener
+import androidx.appactions.interaction.capabilities.core.task.AppEntityListener
 import androidx.appactions.interaction.capabilities.core.task.EntitySearchResult
-import androidx.appactions.interaction.capabilities.core.task.InventoryListResolver
-import androidx.appactions.interaction.capabilities.core.task.InventoryResolver
+import androidx.appactions.interaction.capabilities.core.task.InventoryListListener
+import androidx.appactions.interaction.capabilities.core.task.InventoryListener
 import androidx.appactions.interaction.capabilities.core.task.ValidationResult
 import androidx.appactions.interaction.capabilities.core.task.ValueListener
 import androidx.appactions.interaction.capabilities.core.task.impl.exceptions.InvalidResolverException
@@ -41,10 +41,10 @@
 private constructor(
     val value: ValueListener? = null,
     val valueList: ValueListener>? = null,
-    val appEntityResolver: AppEntityResolver? = null,
-    val appEntityListResolver: AppEntityListResolver? = null,
-    val inventoryResolver: InventoryResolver? = null,
-    val inventoryListResolver: InventoryListResolver? = null,
+    val appEntity: AppEntityListener? = null,
+    val appEntityList: AppEntityListListener? = null,
+    val inventory: InventoryListener? = null,
+    val inventoryList: InventoryListListener? = null,
 ) {
 
     /** Wrapper which should invoke the `lookupAndRender` provided by the developer. */
@@ -52,10 +52,10 @@
     suspend fun invokeLookup(
         searchAction: SearchAction
     ): EntitySearchResult {
-        return if (appEntityResolver != null) {
-            appEntityResolver.lookupAndRender(searchAction)
-        } else if (appEntityListResolver != null) {
-            appEntityListResolver.lookupAndRender(searchAction)
+        return if (appEntity != null) {
+            appEntity.lookupAndRender(searchAction)
+        } else if (appEntityList != null) {
+            appEntityList.lookupAndRender(searchAction)
         } else {
             throw InvalidResolverException("invokeLookup is not supported on this resolver")
         }
@@ -67,9 +67,9 @@
      */
     @Throws(InvalidResolverException::class)
     suspend fun invokeEntityRender(entityIds: List) {
-        if (inventoryResolver != null) {
-            inventoryResolver.renderChoices(entityIds)
-        } else if (inventoryListResolver != null) inventoryListResolver.renderChoices(entityIds)
+        if (inventory != null) {
+            inventory.renderChoices(entityIds)
+        } else if (inventoryList != null) inventoryList.renderChoices(entityIds)
         else {
             throw InvalidResolverException("invokeEntityRender is not supported on this resolver")
         }
@@ -89,14 +89,14 @@
         return when {
             value != null -> value.onReceived(singularConverter.convert(paramValues))
             valueList != null -> valueList.onReceived(repeatedConverter.convert(paramValues))
-            appEntityResolver != null ->
-                appEntityResolver.onReceived(singularConverter.convert(paramValues))
-            appEntityListResolver != null ->
-                appEntityListResolver.onReceived(repeatedConverter.convert(paramValues))
-            inventoryResolver != null ->
-                inventoryResolver.onReceived(singularConverter.convert(paramValues))
-            inventoryListResolver != null ->
-                inventoryListResolver.onReceived(repeatedConverter.convert(paramValues))
+            appEntity != null ->
+                appEntity.onReceived(singularConverter.convert(paramValues))
+            appEntityList != null ->
+                appEntityList.onReceived(repeatedConverter.convert(paramValues))
+            inventory != null ->
+                inventory.onReceived(singularConverter.convert(paramValues))
+            inventoryList != null ->
+                inventoryList.onReceived(repeatedConverter.convert(paramValues))
             else -> throw IllegalStateException("unreachable")
         }
     }
@@ -108,18 +108,18 @@
         fun  fromValueListListener(valueListListener: ValueListener>) =
             GenericResolverInternal(valueList = valueListListener)
 
-        fun  fromAppEntityResolver(appEntityResolver: AppEntityResolver) =
-            GenericResolverInternal(appEntityResolver = appEntityResolver)
+        fun  fromAppEntityListener(appEntity: AppEntityListener) =
+            GenericResolverInternal(appEntity = appEntity)
 
-        fun  fromAppEntityListResolver(
-            appEntityListResolver: AppEntityListResolver
-        ) = GenericResolverInternal(appEntityListResolver = appEntityListResolver)
+        fun  fromAppEntityListListener(
+            appEntityList: AppEntityListListener
+        ) = GenericResolverInternal(appEntityList = appEntityList)
 
-        fun  fromInventoryResolver(inventoryResolver: InventoryResolver) =
-            GenericResolverInternal(inventoryResolver = inventoryResolver)
+        fun  fromInventoryListener(inventory: InventoryListener) =
+            GenericResolverInternal(inventory = inventory)
 
-        fun  fromInventoryListResolver(
-            inventoryListResolver: InventoryListResolver
-        ) = GenericResolverInternal(inventoryListResolver = inventoryListResolver)
+        fun  fromInventoryListListener(
+            inventoryList: InventoryListListener
+        ) = GenericResolverInternal(inventoryList = inventoryList)
     }
 }
diff --git a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/task/impl/TaskHandler.kt b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/task/impl/TaskHandler.kt
index 4d7f0a8..2df1d53 100644
--- a/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/task/impl/TaskHandler.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/main/java/androidx/appactions/interaction/capabilities/core/task/impl/TaskHandler.kt
@@ -20,10 +20,10 @@
 import androidx.appactions.interaction.capabilities.core.impl.converters.EntityConverter
 import androidx.appactions.interaction.capabilities.core.impl.converters.ParamValueConverter
 import androidx.appactions.interaction.capabilities.core.impl.converters.SearchActionConverter
-import androidx.appactions.interaction.capabilities.core.task.AppEntityListResolver
-import androidx.appactions.interaction.capabilities.core.task.AppEntityResolver
-import androidx.appactions.interaction.capabilities.core.task.InventoryListResolver
-import androidx.appactions.interaction.capabilities.core.task.InventoryResolver
+import androidx.appactions.interaction.capabilities.core.task.AppEntityListListener
+import androidx.appactions.interaction.capabilities.core.task.AppEntityListener
+import androidx.appactions.interaction.capabilities.core.task.InventoryListListener
+import androidx.appactions.interaction.capabilities.core.task.InventoryListener
 import androidx.appactions.interaction.capabilities.core.task.ValueListener
 import androidx.appactions.interaction.proto.ParamValue
 
@@ -47,14 +47,14 @@
 
         fun  registerInventoryTaskParam(
             paramName: String,
-            listener: InventoryResolver,
+            listener: InventoryListener,
             converter: ParamValueConverter,
         ): Builder = apply {
             mutableTaskParamMap[paramName] =
                 TaskParamBinding(
                     paramName,
                     GROUND_IF_NO_IDENTIFIER,
-                    GenericResolverInternal.fromInventoryResolver(listener),
+                    GenericResolverInternal.fromInventoryListener(listener),
                     converter,
                     null,
                     null,
@@ -63,14 +63,14 @@
 
         fun  registerInventoryListTaskParam(
             paramName: String,
-            listener: InventoryListResolver,
+            listener: InventoryListListener,
             converter: ParamValueConverter,
         ): Builder = apply {
             mutableTaskParamMap[paramName] =
                 TaskParamBinding(
                     paramName,
                     GROUND_IF_NO_IDENTIFIER,
-                    GenericResolverInternal.fromInventoryListResolver(listener),
+                    GenericResolverInternal.fromInventoryListListener(listener),
                     converter,
                     null,
                     null,
@@ -79,7 +79,7 @@
 
         fun  registerAppEntityTaskParam(
             paramName: String,
-            listener: AppEntityResolver,
+            listener: AppEntityListener,
             converter: ParamValueConverter,
             entityConverter: EntityConverter,
             searchActionConverter: SearchActionConverter,
@@ -88,7 +88,7 @@
                 TaskParamBinding(
                     paramName,
                     GROUND_IF_NO_IDENTIFIER,
-                    GenericResolverInternal.fromAppEntityResolver(listener),
+                    GenericResolverInternal.fromAppEntityListener(listener),
                     converter,
                     entityConverter,
                     searchActionConverter,
@@ -97,7 +97,7 @@
 
         fun  registerAppEntityListTaskParam(
             paramName: String,
-            listener: AppEntityListResolver,
+            listener: AppEntityListListener,
             converter: ParamValueConverter,
             entityConverter: EntityConverter,
             searchActionConverter: SearchActionConverter,
@@ -106,7 +106,7 @@
                 TaskParamBinding(
                     paramName,
                     GROUND_IF_NO_IDENTIFIER,
-                    GenericResolverInternal.fromAppEntityListResolver(listener),
+                    GenericResolverInternal.fromAppEntityListListener(listener),
                     converter,
                     entityConverter,
                     searchActionConverter,
diff --git a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/task/impl/TaskCapabilityImplTest.kt b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/task/impl/TaskCapabilityImplTest.kt
index b712cde..308135b 100644
--- a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/task/impl/TaskCapabilityImplTest.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/task/impl/TaskCapabilityImplTest.kt
@@ -32,7 +32,7 @@
 import androidx.appactions.interaction.capabilities.core.impl.spec.ActionSpecBuilder
 import androidx.appactions.interaction.capabilities.core.properties.StringValue
 import androidx.appactions.interaction.capabilities.core.properties.TypeProperty
-import androidx.appactions.interaction.capabilities.core.task.AppEntityResolver
+import androidx.appactions.interaction.capabilities.core.task.AppEntityListener
 import androidx.appactions.interaction.capabilities.core.task.EntitySearchResult
 import androidx.appactions.interaction.capabilities.core.task.ValidationResult
 import androidx.appactions.interaction.capabilities.core.task.ValueListener
@@ -521,7 +521,7 @@
                         override suspend fun onFinish(argument: Argument) =
                             ExecutionResult.getDefaultInstance()
                         override fun getRequiredEntityListener() =
-                            object : AppEntityResolver {
+                            object : AppEntityListener {
                                 override fun lookupAndRenderAsync(
                                     searchAction: SearchAction,
                                 ): ListenableFuture> {
@@ -546,7 +546,7 @@
                     SessionBridge { session ->
                         val builder = TaskHandler.Builder()
                         session.getRequiredEntityListener()?.let {
-                            listener: AppEntityResolver ->
+                            listener: AppEntityListener ->
                             builder.registerAppEntityTaskParam(
                                 "required",
                                 listener,
@@ -680,7 +680,7 @@
                     }
 
                     override fun getListItemListener() =
-                        object : AppEntityResolver {
+                        object : AppEntityListener {
                             override fun onReceivedAsync(
                                 value: ListItem,
                             ): ListenableFuture {
@@ -902,8 +902,8 @@
 
     companion object {
 
-        private val AUTO_ACCEPT_ENTITY_VALUE: AppEntityResolver =
-            object : AppEntityResolver {
+        private val AUTO_ACCEPT_ENTITY_VALUE: AppEntityListener =
+            object : AppEntityListener {
                 override fun lookupAndRenderAsync(
                     searchAction: SearchAction,
                 ): ListenableFuture> {
@@ -920,8 +920,8 @@
                     return Futures.immediateFuture(ValidationResult.newAccepted())
                 }
             }
-        private val AUTO_REJECT_ENTITY_VALUE: AppEntityResolver =
-            object : AppEntityResolver {
+        private val AUTO_REJECT_ENTITY_VALUE: AppEntityListener =
+            object : AppEntityListener {
                 override fun lookupAndRenderAsync(
                     searchAction: SearchAction,
                 ): ListenableFuture> {
diff --git a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/task/impl/TaskSlotProcessorTest.kt b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/task/impl/TaskSlotProcessorTest.kt
index c1a8cc7..83e3f69 100644
--- a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/task/impl/TaskSlotProcessorTest.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/task/impl/TaskSlotProcessorTest.kt
@@ -17,10 +17,10 @@
 
 import androidx.appactions.interaction.capabilities.core.impl.concurrent.Futures
 import androidx.appactions.interaction.capabilities.core.impl.converters.TypeConverters
-import androidx.appactions.interaction.capabilities.core.task.AppEntityResolver
+import androidx.appactions.interaction.capabilities.core.task.AppEntityListener
 import androidx.appactions.interaction.capabilities.core.task.EntitySearchResult
 import androidx.appactions.interaction.capabilities.core.task.EntitySearchResult.Companion.empty
-import androidx.appactions.interaction.capabilities.core.task.InventoryResolver
+import androidx.appactions.interaction.capabilities.core.task.InventoryListener
 import androidx.appactions.interaction.capabilities.core.task.ValidationResult
 import androidx.appactions.interaction.capabilities.core.task.ValidationResult.Companion.newAccepted
 import androidx.appactions.interaction.capabilities.core.task.ValidationResult.Companion.newRejected
@@ -48,8 +48,8 @@
         valueConsumer: (T) -> Unit,
         renderConsumer: (List) -> Unit,
     ): GenericResolverInternal {
-        return GenericResolverInternal.fromInventoryResolver(
-            object : InventoryResolver {
+        return GenericResolverInternal.fromInventoryListener(
+            object : InventoryListener {
                 override fun onReceivedAsync(value: T): ListenableFuture {
                     valueConsumer.invoke(value)
                     return Futures.immediateFuture(validationResult)
@@ -97,14 +97,14 @@
         )
     }
 
-    private fun  createAppEntityResolver(
+    private fun  createAppEntityListener(
         validationResult: ValidationResult,
         valueConsumer: (T) -> Unit,
         appSearchResult: EntitySearchResult,
         appSearchConsumer: (SearchAction) -> Unit,
     ): GenericResolverInternal {
-        return GenericResolverInternal.fromAppEntityResolver(
-            object : AppEntityResolver {
+        return GenericResolverInternal.fromAppEntityListener(
+            object : AppEntityListener {
                 override fun onReceivedAsync(value: T): ListenableFuture {
                     valueConsumer.invoke(value)
                     return Futures.immediateFuture(validationResult)
@@ -336,7 +336,7 @@
         val appSearchCb = SettableFutureWrapper>()
         val entitySearchResult = empty()
         val resolver =
-            createAppEntityResolver(
+            createAppEntityListener(
                 newAccepted(),
                 { result: String -> onReceivedCb.set(result) },
                 entitySearchResult
diff --git a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/testing/spec/CapabilityStructFill.java b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/testing/spec/CapabilityStructFill.java
index 4e5e386..1cc4526 100644
--- a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/testing/spec/CapabilityStructFill.java
+++ b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/testing/spec/CapabilityStructFill.java
@@ -25,7 +25,7 @@
 import androidx.appactions.interaction.capabilities.core.impl.spec.ActionSpecBuilder;
 import androidx.appactions.interaction.capabilities.core.properties.StringValue;
 import androidx.appactions.interaction.capabilities.core.properties.TypeProperty;
-import androidx.appactions.interaction.capabilities.core.task.AppEntityResolver;
+import androidx.appactions.interaction.capabilities.core.task.AppEntityListener;
 import androidx.appactions.interaction.capabilities.core.values.ListItem;
 
 import com.google.auto.value.AutoValue;
@@ -110,6 +110,6 @@
 
     public interface Session extends BaseSession {
         @NonNull
-        AppEntityResolver getListItemListener();
+        AppEntityListener getListItemListener();
     }
 }
diff --git a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/testing/spec/Session.kt b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/testing/spec/Session.kt
index 2a42788..8acbac8 100644
--- a/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/testing/spec/Session.kt
+++ b/appactions/interaction/interaction-capabilities-core/src/test/java/androidx/appactions/interaction/capabilities/core/testing/spec/Session.kt
@@ -19,12 +19,12 @@
 import androidx.appactions.interaction.capabilities.core.BaseSession
 import androidx.appactions.interaction.capabilities.core.ExecutionResult
 import androidx.appactions.interaction.capabilities.core.impl.concurrent.Futures
-import androidx.appactions.interaction.capabilities.core.task.AppEntityResolver
+import androidx.appactions.interaction.capabilities.core.task.AppEntityListener
 import androidx.appactions.interaction.capabilities.core.values.EntityValue
 
 interface Session : BaseSession {
 
-    fun getRequiredEntityListener(): AppEntityResolver? = null
+    fun getRequiredEntityListener(): AppEntityListener? = null
 
     companion object {
         @JvmStatic