# DefaultTileClient

Artifact: [androidx.wear.tiles:tiles-renderer](https://developer.android.com/jetpack/androidx/releases/wear-tiles) [View Source](https://cs.android.com/search?q=file:androidx/wear/tiles/connection/DefaultTileClient.kt+class:androidx.wear.tiles.connection.DefaultTileClient) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/wear-tiles#1.0.0)

*** ** * ** ***

<br />

```
class DefaultTileClient : TileClient
```

<br />

*** ** * ** ***

Implementation of `https://developer.android.com/reference/kotlin/androidx/wear/tiles/client/TileClient` which can connect to a `TileService` in either the local process, or in a remote app.

This implementation will only stay connected for as long as required. Each call will cause this client to connect to the `TileService`, and call the specified remote method. It will then disconnect again after one second of inactivity (so calls in quick succession will share the same binder).

Note that there is a timeout of 10s when connecting to the `TileService`, and a timeout of 30s for `https://developer.android.com/reference/kotlin/androidx/wear/tiles/connection/DefaultTileClient#requestTile(androidx.wear.tiles.RequestBuilders.TileRequest)` and `https://developer.android.com/reference/kotlin/androidx/wear/tiles/connection/DefaultTileClient#requestResources(androidx.wear.tiles.RequestBuilders.ResourcesRequest)` to return a payload.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/wear/tiles/connection/DefaultTileClient#DefaultTileClient(android.content.Context,android.content.ComponentName,java.util.concurrent.Executor)( context: https://developer.android.com/reference/android/content/Context.html, componentName: https://developer.android.com/reference/android/content/ComponentName.html, executor: https://developer.android.com/reference/java/util/concurrent/Executor.html )` Build an instance of `https://developer.android.com/reference/kotlin/androidx/wear/tiles/connection/DefaultTileClient` for use with a given `https://developer.android.com/reference/java/util/concurrent/Executor.html`. |
| `https://developer.android.com/reference/kotlin/androidx/wear/tiles/connection/DefaultTileClient#DefaultTileClient(android.content.Context,android.content.ComponentName,kotlinx.coroutines.CoroutineScope,kotlinx.coroutines.CoroutineDispatcher)( context: https://developer.android.com/reference/android/content/Context.html, componentName: https://developer.android.com/reference/android/content/ComponentName.html, coroutineScope: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-coroutine-scope/index.html, coroutineDispatcher: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-coroutine-dispatcher/index.html )` Build an instance of `https://developer.android.com/reference/kotlin/androidx/wear/tiles/connection/DefaultTileClient` for use with a coroutine dispatcher. |

| ### Public functions |
|---|---|
| `open https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html>` | `https://developer.android.com/reference/kotlin/androidx/wear/tiles/connection/DefaultTileClient#requestApiVersion()()` Gets the API version supported by the connected TileService. |
| `open https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/kotlin/androidx/wear/tiles/ResourceBuilders.Resources>` | `[requestResources](https://developer.android.com/reference/kotlin/androidx/wear/tiles/connection/DefaultTileClient#requestResources(androidx.wear.tiles.RequestBuilders.ResourcesRequest))(requestParams: https://developer.android.com/reference/kotlin/androidx/wear/tiles/RequestBuilders.ResourcesRequest)` **This function is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/wear/tiles/client/TileClient#requestTileResourcesAsync(androidx.wear.tiles.RequestBuilders.ResourcesRequest)` instead. <br /> |
| `open https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/kotlin/androidx/wear/tiles/TileBuilders.Tile>` | `https://developer.android.com/reference/kotlin/androidx/wear/tiles/connection/DefaultTileClient#requestTile(androidx.wear.tiles.RequestBuilders.TileRequest)(requestParams: https://developer.android.com/reference/kotlin/androidx/wear/tiles/RequestBuilders.TileRequest)` Request a tile payload from the connected TileService. |
| `open https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/kotlin/androidx/wear/protolayout/ResourceBuilders.Resources>` | `https://developer.android.com/reference/kotlin/androidx/wear/tiles/connection/DefaultTileClient#requestTileResourcesAsync(androidx.wear.tiles.RequestBuilders.ResourcesRequest)( requestParams: https://developer.android.com/reference/kotlin/androidx/wear/tiles/RequestBuilders.ResourcesRequest )` Request a resource bundle from the connected TileService. |
| `open https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/java/lang/Void.html?>` | `https://developer.android.com/reference/kotlin/androidx/wear/tiles/connection/DefaultTileClient#sendOnTileAddedEvent()()` Send a Tile Added notification to the connected TileService. |
| `open https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/java/lang/Void.html?>` | `https://developer.android.com/reference/kotlin/androidx/wear/tiles/connection/DefaultTileClient#sendOnTileEnterEvent()()` Send a Tile Enter notification to the connected TileService. |
| `open https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/java/lang/Void.html?>` | `https://developer.android.com/reference/kotlin/androidx/wear/tiles/connection/DefaultTileClient#sendOnTileLeaveEvent()()` Send a Tile Leave notification to the connected TileService. |
| `open https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/java/lang/Void.html?>` | `https://developer.android.com/reference/kotlin/androidx/wear/tiles/connection/DefaultTileClient#sendOnTileRemovedEvent()()` Send a Tile Removed notification to the connected TileService. |

## Public constructors

### DefaultTileClient

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/wear-tiles#1.0.0)

```
DefaultTileClient(
    context: Context,
    componentName: ComponentName,
    executor: Executor
)
```

Build an instance of `https://developer.android.com/reference/kotlin/androidx/wear/tiles/connection/DefaultTileClient` for use with a given `https://developer.android.com/reference/java/util/concurrent/Executor.html`.

| Parameters |
|---|---|
| `context: https://developer.android.com/reference/android/content/Context.html` | The application context to use when binding to the `https://developer.android.com/reference/kotlin/androidx/wear/tiles/TileService`. |
| `componentName: https://developer.android.com/reference/android/content/ComponentName.html` | The `https://developer.android.com/reference/android/content/ComponentName.html` of the `https://developer.android.com/reference/kotlin/androidx/wear/tiles/TileService` to bind to. |
| `executor: https://developer.android.com/reference/java/util/concurrent/Executor.html` | An `https://developer.android.com/reference/java/util/concurrent/Executor.html` to use when dispatching calls to the `https://developer.android.com/reference/kotlin/androidx/wear/tiles/TileService`. |

### DefaultTileClient

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/wear-tiles#1.0.0)

```
DefaultTileClient(
    context: Context,
    componentName: ComponentName,
    coroutineScope: CoroutineScope,
    coroutineDispatcher: CoroutineDispatcher
)
```

Build an instance of `https://developer.android.com/reference/kotlin/androidx/wear/tiles/connection/DefaultTileClient` for use with a coroutine dispatcher.

| Parameters |
|---|---|
| `context: https://developer.android.com/reference/android/content/Context.html` | The application context to use when binding to the `https://developer.android.com/reference/kotlin/androidx/wear/tiles/TileService`. |
| `componentName: https://developer.android.com/reference/android/content/ComponentName.html` | The `https://developer.android.com/reference/android/content/ComponentName.html` of the `https://developer.android.com/reference/kotlin/androidx/wear/tiles/TileService` to bind to. |
| `coroutineScope: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-coroutine-scope/index.html` | A `https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-coroutine-scope/index.html` to use when dispatching calls to the `https://developer.android.com/reference/kotlin/androidx/wear/tiles/TileService`. Cancelling the passed `https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-coroutine-scope/index.html` will also cancel any pending work in this class. |
| `coroutineDispatcher: https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-coroutine-dispatcher/index.html` | A `https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-coroutine-dispatcher/index.html` to use when dispatching work from this class. |

## Public functions

### requestApiVersion

```
open fun requestApiVersion(): ListenableFuture<Int>
```

Gets the API version supported by the connected TileService.

### requestResources

```
open fun [requestResources](https://developer.android.com/reference/kotlin/androidx/wear/tiles/connection/DefaultTileClient#requestResources(androidx.wear.tiles.RequestBuilders.ResourcesRequest))(requestParams: RequestBuilders.ResourcesRequest): ListenableFuture<ResourceBuilders.Resources>
```

> [!CAUTION]
> **This function is deprecated.**   
>
> Use `https://developer.android.com/reference/kotlin/androidx/wear/tiles/client/TileClient#requestTileResourcesAsync(androidx.wear.tiles.RequestBuilders.ResourcesRequest)` instead.

Request a resource bundle from the connected TileService.

### requestTile

```
open fun requestTile(requestParams: RequestBuilders.TileRequest): ListenableFuture<TileBuilders.Tile>
```

Request a tile payload from the connected TileService.

### requestTileResourcesAsync

```
open fun requestTileResourcesAsync(
    requestParams: RequestBuilders.ResourcesRequest
): ListenableFuture<ResourceBuilders.Resources>
```

Request a resource bundle from the connected TileService.

### sendOnTileAddedEvent

```
open fun sendOnTileAddedEvent(): ListenableFuture<Void?>
```

Send a Tile Added notification to the connected TileService.

### sendOnTileEnterEvent

```
open fun sendOnTileEnterEvent(): ListenableFuture<Void?>
```

Send a Tile Enter notification to the connected TileService.

### sendOnTileLeaveEvent

```
open fun sendOnTileLeaveEvent(): ListenableFuture<Void?>
```

Send a Tile Leave notification to the connected TileService.

### sendOnTileRemovedEvent

```
open fun sendOnTileRemovedEvent(): ListenableFuture<Void?>
```

Send a Tile Removed notification to the connected TileService.