# android.support.test.espresso.remote

# android.support.test.espresso.remote

| This package is part of the Android[support library](https://developer.android.com/topic/libraries/support-library)which is no longer maintained. The support library has been superseded by[AndroidX](https://developer.android.com/jetpack/androidx)which is part of[Jetpack](https://developer.android.com/jetpack). We recommend using the AndroidX libraries in all new projects. You should also consider[migrating](https://developer.android.com/jetpack/androidx/migrate)existing projects to AndroidX. To find the AndroidX class that maps to this deprecated class, see the AndroidX support library[class mappings](https://developer.android.com/jetpack/androidx/migrate/class-mappings).

## Interfaces

|-----------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------|
| [Bindable](https://developer.android.com/reference/android/support/test/espresso/remote/Bindable)                                             | Interface that can be implemented by classes that provide an[IBinder](https://developer.android.com/reference/android/os/IBinder.html). |
| [Converter](https://developer.android.com/reference/android/support/test/espresso/remote/Converter)\<I, O\>                                   | Converts input to output.                                                                                                               |
| [EspressoRemoteMessage](https://developer.android.com/reference/android/support/test/espresso/remote/EspressoRemoteMessage)                   | Transforms an Espresso remote message from and to a proto message.                                                                      |
| [EspressoRemoteMessage.From](https://developer.android.com/reference/android/support/test/espresso/remote/EspressoRemoteMessage.From)\<T, M\> | Transforms a proto message of type M into a class of type T.                                                                            |
| [EspressoRemoteMessage.To](https://developer.android.com/reference/android/support/test/espresso/remote/EspressoRemoteMessage.To)\<M\>        | Transforms a class implementing this interface to a proto message.                                                                      |
| [RemoteInteraction](https://developer.android.com/reference/android/support/test/espresso/remote/RemoteInteraction)                           | Facilitates communication between other Espresso instance that may be running in different processes.                                   |

## Classes

|-------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [ConstructorInvocation](https://developer.android.com/reference/android/support/test/espresso/remote/ConstructorInvocation)                     | Reflectively invokes the constructor of a declared class.                                                                                                                                                                                     |
| [EspressoRemote](https://developer.android.com/reference/android/support/test/espresso/remote/EspressoRemote)                                   | A singleton class that facilitates communication between other Espresso instance that may be running in different processes.                                                                                                                  |
| [FieldDescriptor](https://developer.android.com/reference/android/support/test/espresso/remote/FieldDescriptor)                                 | Provides additional meta data about a[Field](https://developer.android.com/reference/java/lang/reflect/Field.html)declared in a class.                                                                                                        |
| [GenericRemoteMessage](https://developer.android.com/reference/android/support/test/espresso/remote/GenericRemoteMessage)                       | Generic implementation of the[EspressoRemoteMessage](https://developer.android.com/reference/android/support/test/espresso/remote/EspressoRemoteMessage)interface, which uses reflection for proto message serialization and deserialization. |
| [InteractionRequest](https://developer.android.com/reference/android/support/test/espresso/remote/InteractionRequest)                           | Encapsulates an[UiInteraction.InteractionRequestProto](https://developer.android.com/reference/android/support/test/espresso/proto/UiInteraction.InteractionRequestProto)request.                                                             |
| [InteractionRequest.Builder](https://developer.android.com/reference/android/support/test/espresso/remote/InteractionRequest.Builder)           | Creates an instance of[InteractionRequest](https://developer.android.com/reference/android/support/test/espresso/remote/InteractionRequest)from a View matcher and action.                                                                    |
| [InteractionResponse](https://developer.android.com/reference/android/support/test/espresso/remote/InteractionResponse)                         | Encapsulates a[UiInteraction.InteractionResultProto](https://developer.android.com/reference/android/support/test/espresso/proto/UiInteraction.InteractionResultProto)request.                                                                |
| [InteractionResponse.Builder](https://developer.android.com/reference/android/support/test/espresso/remote/InteractionResponse.Builder)         | Builder for[InteractionResponse](https://developer.android.com/reference/android/support/test/espresso/remote/InteractionResponse)                                                                                                            |
| [InteractionResponse.RemoteError](https://developer.android.com/reference/android/support/test/espresso/remote/InteractionResponse.RemoteError) | TODO(b/31122396): parse this from a proto Enum representing wire protocol error codes and their default description.                                                                                                                          |
| [NoopRemoteInteraction](https://developer.android.com/reference/android/support/test/espresso/remote/NoopRemoteInteraction)                     | Noop RemoteInteraction object                                                                                                                                                                                                                 |
| [ProtoUtils](https://developer.android.com/reference/android/support/test/espresso/remote/ProtoUtils)                                           | Contains various utility methods to ease use of protos and increased readability in code.                                                                                                                                                     |
| [RemoteDescriptor](https://developer.android.com/reference/android/support/test/espresso/remote/RemoteDescriptor)                               | Descriptor object containing all the required information to serialize and deserialize a type to and from a proto.                                                                                                                            |
| [RemoteDescriptor.Builder](https://developer.android.com/reference/android/support/test/espresso/remote/RemoteDescriptor.Builder)               | Builder for[RemoteDescriptor](https://developer.android.com/reference/android/support/test/espresso/remote/RemoteDescriptor)                                                                                                                  |
| [RemoteDescriptorRegistry](https://developer.android.com/reference/android/support/test/espresso/remote/RemoteDescriptorRegistry)               | A registry for registering remote descriptors.                                                                                                                                                                                                |
| [RemoteInteractionRegistry](https://developer.android.com/reference/android/support/test/espresso/remote/RemoteInteractionRegistry)             | An exposed registry instance to make it easy for callers to get a hold of Remote Interaction                                                                                                                                                  |
| [TypeProtoConverters](https://developer.android.com/reference/android/support/test/espresso/remote/TypeProtoConverters)                         | Converters from[Any](https://developer.android.com/reference/com/google/protobuf/Any)proto messages to their unwrapped target types.                                                                                                          |

## Enums

|---------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------|
| [InteractionResponse.Status](https://developer.android.com/reference/android/support/test/espresso/remote/InteractionResponse.Status) | The status of this interaction response. |

## Exceptions

|-----------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------|
| [NoRemoteEspressoInstanceException](https://developer.android.com/reference/android/support/test/espresso/remote/NoRemoteEspressoInstanceException) | An[Exception](https://developer.android.com/reference/java/lang/Exception.html)which indicates that there are no remote Espresso clients present. |
| [RemoteEspressoException](https://developer.android.com/reference/android/support/test/espresso/remote/RemoteEspressoException)                     | Espresso exception representing any runtime related errors in a multi-process environment                                                         |
| [RemoteProtocolException](https://developer.android.com/reference/android/support/test/espresso/remote/RemoteProtocolException)                     | Espresso exception representing any protocol related errors in a multi-process environment                                                        |

-

  ## Interfaces

  - [Bindable](https://developer.android.com/reference/android/support/test/espresso/remote/Bindable)
  - [Converter](https://developer.android.com/reference/android/support/test/espresso/remote/Converter)
  - [EspressoRemoteMessage](https://developer.android.com/reference/android/support/test/espresso/remote/EspressoRemoteMessage)
  - [EspressoRemoteMessage.From](https://developer.android.com/reference/android/support/test/espresso/remote/EspressoRemoteMessage.From)
  - [EspressoRemoteMessage.To](https://developer.android.com/reference/android/support/test/espresso/remote/EspressoRemoteMessage.To)
  - [RemoteInteraction](https://developer.android.com/reference/android/support/test/espresso/remote/RemoteInteraction)
-

  ## Classes

  - [ConstructorInvocation](https://developer.android.com/reference/android/support/test/espresso/remote/ConstructorInvocation)
  - [EspressoRemote](https://developer.android.com/reference/android/support/test/espresso/remote/EspressoRemote)
  - [FieldDescriptor](https://developer.android.com/reference/android/support/test/espresso/remote/FieldDescriptor)
  - [GenericRemoteMessage](https://developer.android.com/reference/android/support/test/espresso/remote/GenericRemoteMessage)
  - [InteractionRequest](https://developer.android.com/reference/android/support/test/espresso/remote/InteractionRequest)
  - [InteractionRequest.Builder](https://developer.android.com/reference/android/support/test/espresso/remote/InteractionRequest.Builder)
  - [InteractionResponse](https://developer.android.com/reference/android/support/test/espresso/remote/InteractionResponse)
  - [InteractionResponse.Builder](https://developer.android.com/reference/android/support/test/espresso/remote/InteractionResponse.Builder)
  - [InteractionResponse.RemoteError](https://developer.android.com/reference/android/support/test/espresso/remote/InteractionResponse.RemoteError)
  - [NoopRemoteInteraction](https://developer.android.com/reference/android/support/test/espresso/remote/NoopRemoteInteraction)
  - [ProtoUtils](https://developer.android.com/reference/android/support/test/espresso/remote/ProtoUtils)
  - [RemoteDescriptor](https://developer.android.com/reference/android/support/test/espresso/remote/RemoteDescriptor)
  - [RemoteDescriptor.Builder](https://developer.android.com/reference/android/support/test/espresso/remote/RemoteDescriptor.Builder)
  - [RemoteDescriptorRegistry](https://developer.android.com/reference/android/support/test/espresso/remote/RemoteDescriptorRegistry)
  - [RemoteInteractionRegistry](https://developer.android.com/reference/android/support/test/espresso/remote/RemoteInteractionRegistry)
  - [TypeProtoConverters](https://developer.android.com/reference/android/support/test/espresso/remote/TypeProtoConverters)
-

  ## Enums

  - [InteractionResponse.Status](https://developer.android.com/reference/android/support/test/espresso/remote/InteractionResponse.Status)
-

  ## Exceptions

  - [NoRemoteEspressoInstanceException](https://developer.android.com/reference/android/support/test/espresso/remote/NoRemoteEspressoInstanceException)
  - [RemoteEspressoException](https://developer.android.com/reference/android/support/test/espresso/remote/RemoteEspressoException)
  - [RemoteProtocolException](https://developer.android.com/reference/android/support/test/espresso/remote/RemoteProtocolException)