DefaultTileClient


public final class DefaultTileClient implements TileClient


Implementation of 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 requestTile and requestResources to return a payload.

Summary

Public constructors

DefaultTileClient(
    @NonNull Context context,
    @NonNull ComponentName componentName,
    @NonNull Executor executor
)

Build an instance of DefaultTileClient for use with a given Executor.

DefaultTileClient(
    @NonNull Context context,
    @NonNull ComponentName componentName,
    @NonNull CoroutineScope coroutineScope,
    @NonNull CoroutineDispatcher coroutineDispatcher
)

Build an instance of DefaultTileClient for use with a coroutine dispatcher.

Public methods

@NonNull ListenableFuture<@NonNull Integer>

Gets the API version supported by the connected TileService.

@NonNull ListenableFuture<@NonNull ResourceBuilders.Resources>

This method is deprecated.

Use requestTileResourcesAsync instead.

@NonNull ListenableFuture<@NonNull TileBuilders.Tile>

Request a tile payload from the connected TileService.

@NonNull ListenableFuture<@NonNull ResourceBuilders.Resources>

Request a resource bundle from the connected TileService.

@NonNull ListenableFuture<Void>

Send a Tile Added notification to the connected TileService.

@NonNull ListenableFuture<Void>

Send a Tile Enter notification to the connected TileService.

@NonNull ListenableFuture<Void>

Send a Tile Leave notification to the connected TileService.

@NonNull ListenableFuture<Void>

Send a Tile Removed notification to the connected TileService.

Public constructors

DefaultTileClient

Added in 1.0.0
public DefaultTileClient(
    @NonNull Context context,
    @NonNull ComponentName componentName,
    @NonNull Executor executor
)

Build an instance of DefaultTileClient for use with a given Executor.

Parameters
@NonNull Context context

The application context to use when binding to the TileService.

@NonNull ComponentName componentName

The ComponentName of the TileService to bind to.

@NonNull Executor executor

An Executor to use when dispatching calls to the TileService.

DefaultTileClient

Added in 1.0.0
public DefaultTileClient(
    @NonNull Context context,
    @NonNull ComponentName componentName,
    @NonNull CoroutineScope coroutineScope,
    @NonNull CoroutineDispatcher coroutineDispatcher
)

Build an instance of DefaultTileClient for use with a coroutine dispatcher.

Parameters
@NonNull Context context

The application context to use when binding to the TileService.

@NonNull ComponentName componentName

The ComponentName of the TileService to bind to.

@NonNull CoroutineScope coroutineScope

A CoroutineScope to use when dispatching calls to the TileService. Cancelling the passed CoroutineScope will also cancel any pending work in this class.

@NonNull CoroutineDispatcher coroutineDispatcher

A CoroutineDispatcher to use when dispatching work from this class.

Public methods

requestApiVersion

Added in 1.5.0-alpha05
public @NonNull ListenableFuture<@NonNull IntegerrequestApiVersion()

Gets the API version supported by the connected TileService.

requestResources

Added in 1.5.0-alpha05
Deprecated in 1.5.0-alpha05
public @NonNull ListenableFuture<@NonNull ResourceBuilders.ResourcesrequestResources(
    @NonNull RequestBuilders.ResourcesRequest requestParams
)

Request a resource bundle from the connected TileService.

requestTile

Added in 1.5.0-alpha05
public @NonNull ListenableFuture<@NonNull TileBuilders.TilerequestTile(@NonNull RequestBuilders.TileRequest requestParams)

Request a tile payload from the connected TileService.

requestTileResourcesAsync

public @NonNull ListenableFuture<@NonNull ResourceBuilders.ResourcesrequestTileResourcesAsync(
    @NonNull RequestBuilders.ResourcesRequest requestParams
)

Request a resource bundle from the connected TileService.

sendOnTileAddedEvent

Added in 1.5.0-alpha05
public @NonNull ListenableFuture<VoidsendOnTileAddedEvent()

Send a Tile Added notification to the connected TileService.

sendOnTileEnterEvent

Added in 1.5.0-alpha05
public @NonNull ListenableFuture<VoidsendOnTileEnterEvent()

Send a Tile Enter notification to the connected TileService.

sendOnTileLeaveEvent

Added in 1.5.0-alpha05
public @NonNull ListenableFuture<VoidsendOnTileLeaveEvent()

Send a Tile Leave notification to the connected TileService.

sendOnTileRemovedEvent

Added in 1.5.0-alpha05
public @NonNull ListenableFuture<VoidsendOnTileRemovedEvent()

Send a Tile Removed notification to the connected TileService.