# ComplicationDataSourceUpdateRequester

Artifact: [androidx.wear.watchface:watchface-complications-data-source](https://developer.android.com/jetpack/androidx/releases/wear-watchface) [View Source](https://cs.android.com/search?q=file:androidx/wear/watchface/complications/datasource/ComplicationDataSourceUpdateRequester.kt+class:androidx.wear.watchface.complications.datasource.ComplicationDataSourceUpdateRequester) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/wear-watchface#1.0.0)

*** ** * ** ***


```
public interface ComplicationDataSourceUpdateRequester
```

<br />

*** ** * ** ***

Allows complication complication data source to request update calls from the system. This effectively allows complication data source to push updates to the system outside of the update request cycle.

## Summary

| ### Public methods |
|---|---|
| `default static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/watchface/complications/datasource/ComplicationDataSourceUpdateRequester` | `https://developer.android.com/reference/androidx/wear/watchface/complications/datasource/ComplicationDataSourceUpdateRequester#create(android.content.Context,android.content.ComponentName)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/content/Context.html context, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/content/ComponentName.html complicationDataSourceComponent )` Creates a `https://developer.android.com/reference/androidx/wear/watchface/complications/datasource/ComplicationDataSourceUpdateRequester`. |
| `abstract void` | `https://developer.android.com/reference/androidx/wear/watchface/complications/datasource/ComplicationDataSourceUpdateRequester#requestUpdate(kotlin.IntArray)(int... complicationInstanceIds)` Requests that the system call `https://developer.android.com/reference/androidx/wear/watchface/complications/datasource/ComplicationDataSourceService#onComplicationRequest(androidx.wear.watchface.complications.datasource.ComplicationRequest,androidx.wear.watchface.complications.datasource.ComplicationDataSourceService.ComplicationRequestListener)` on the specified complication data source, for the given complication ids. |
| `abstract void` | `https://developer.android.com/reference/androidx/wear/watchface/complications/datasource/ComplicationDataSourceUpdateRequester#requestUpdateAll()()` Requests that the system call `https://developer.android.com/reference/androidx/wear/watchface/complications/datasource/ComplicationDataSourceService#onComplicationRequest(androidx.wear.watchface.complications.datasource.ComplicationRequest,androidx.wear.watchface.complications.datasource.ComplicationDataSourceService.ComplicationRequestListener)` on the specified complication data source, for all active complications using that complication data source. |

## Public methods

### create

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

```
default static final @NonNull ComplicationDataSourceUpdateRequester create(
    @NonNull Context context,
    @NonNull ComponentName complicationDataSourceComponent
)
```

Creates a `https://developer.android.com/reference/androidx/wear/watchface/complications/datasource/ComplicationDataSourceUpdateRequester`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/content/Context.html context` | The `https://developer.android.com/reference/androidx/wear/watchface/complications/datasource/ComplicationDataSourceService`'s `https://developer.android.com/reference/android/content/Context.html` |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/content/ComponentName.html complicationDataSourceComponent` | The `https://developer.android.com/reference/android/content/ComponentName.html` of the `https://developer.android.com/reference/androidx/wear/watchface/complications/datasource/ComplicationDataSourceService` to reload. |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/watchface/complications/datasource/ComplicationDataSourceUpdateRequester` | The constructed `https://developer.android.com/reference/androidx/wear/watchface/complications/datasource/ComplicationDataSourceUpdateRequester`. |

### requestUpdate

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

```
abstract void requestUpdate(int... complicationInstanceIds)
```

Requests that the system call `https://developer.android.com/reference/androidx/wear/watchface/complications/datasource/ComplicationDataSourceService#onComplicationRequest(androidx.wear.watchface.complications.datasource.ComplicationRequest,androidx.wear.watchface.complications.datasource.ComplicationDataSourceService.ComplicationRequestListener)` on the specified complication data source, for the given complication ids. Inactive complications are ignored, as are complications configured to use a different complication data source.

| Parameters |
|---|---|
| `int... complicationInstanceIds` | The system's IDs for the complications to be updated as provided to `https://developer.android.com/reference/androidx/wear/watchface/complications/datasource/ComplicationDataSourceService#onComplicationActivated(kotlin.Int,androidx.wear.watchface.complications.data.ComplicationType)` and `https://developer.android.com/reference/androidx/wear/watchface/complications/datasource/ComplicationDataSourceService#onComplicationRequest(androidx.wear.watchface.complications.datasource.ComplicationRequest,androidx.wear.watchface.complications.datasource.ComplicationDataSourceService.ComplicationRequestListener)`. |

### requestUpdateAll

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

```
abstract void requestUpdateAll()
```

Requests that the system call `https://developer.android.com/reference/androidx/wear/watchface/complications/datasource/ComplicationDataSourceService#onComplicationRequest(androidx.wear.watchface.complications.datasource.ComplicationRequest,androidx.wear.watchface.complications.datasource.ComplicationDataSourceService.ComplicationRequestListener)` on the specified complication data source, for all active complications using that complication data source.

This will do nothing if no active complications are configured to use the specified complication data source.

This will also only work if called from the same package as the complication data source.