Added in [version 35.1](https://developer.android.com/topic/libraries/support-library/revisions) Summary: [Methods](https://developer.android.com/reference/com/google/wear/services/complications/ComplicationsManager#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/com/google/wear/services/complications/ComplicationsManager#inhmethods)

# ComplicationsManager


`
public

final

class
ComplicationsManager
`


`

extends Object


`

`


`

|---|---|
| java.lang.Object ||
| ↳ | com.google.wear.services.complications.ComplicationsManager |

<br />

*** ** * ** ***

Provides access to various complications methods.


## Summary

| ### Public methods ||
|---|---|
| ` void` | ` https://developer.android.com/reference/com/google/wear/services/complications/ComplicationsManager#getActiveComplicationConfigsAsync(java.util.concurrent.Executor,%20android.os.OutcomeReceiver<java.util.List<com.google.wear.services.complications.ActiveComplicationConfig>,java.lang.Throwable>)(Executor executor, OutcomeReceiver<List<https://developer.android.com/reference/com/google/wear/services/complications/ActiveComplicationConfig>, Throwable> outcomeReceiver) ` Returns information about active complications belonging to the calling complication provider app asynchronously. |
| ` void` | ` https://developer.android.com/reference/com/google/wear/services/complications/ComplicationsManager#updateComplication(int,%20com.google.wear.services.complications.ComplicationData,%20java.util.concurrent.Executor,%20android.os.OutcomeReceiver<java.lang.Void,java.lang.Throwable>)(int complicationInstanceId, https://developer.android.com/reference/com/google/wear/services/complications/ComplicationData complicationData, Executor executor, OutcomeReceiver<Void, Throwable> outcomeReceiver) ` Sends the provided ComplicationData to the active watchface. |

| ### Inherited methods |
|---|---|
| From class ` java.lang.Object ` |---|---| | ` Object` | ` clone() ` | | ` boolean` | ` equals(Object arg0) ` | | ` void` | ` finalize() ` | | ` final Class<?>` | ` getClass() ` | | ` int` | ` hashCode() ` | | ` final void` | ` notify() ` | | ` final void` | ` notifyAll() ` | | ` String` | ` toString() ` | | ` final void` | ` wait(long arg0, int arg1) ` | | ` final void` | ` wait(long arg0) ` | | ` final void` | ` wait() ` | ||

## Public methods

### getActiveComplicationConfigsAsync

Added in [version 35.1](https://developer.android.com/topic/libraries/support-library/revisions)

```
public void getActiveComplicationConfigsAsync (Executor executor, 
                OutcomeReceiver<List<ActiveComplicationConfig>, Throwable> outcomeReceiver)
```

Returns information about active complications belonging to the calling complication provider
app asynchronously.

If the calling app does not have any active complications, then an empty list is returned.

The caller should provide an executor on which the call and the outcome will be processed.

<br />

| Parameters ||
|---|---|
| `executor` | `Executor`: the executor which will be used to make the call and process the result. <br /> |
| `outcomeReceiver` | `OutcomeReceiver`: an OutcomeReceiver that can handle a result of type `List<ActiveComplication>`. A RemoteException may be thrown if communication with the backend encounters an error. <br /> |

### updateComplication

Added in [API level 36](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void updateComplication (int complicationInstanceId, 
                ComplicationData complicationData, 
                Executor executor, 
                OutcomeReceiver<Void, Throwable> outcomeReceiver)
```

Sends the provided ComplicationData to the active watchface.

Before forwarding the data, the system will do some checks to ensure that the
complicationInstanceId corresponds to an actual active complication on the currently active
watchface. Also, the system will ensure that the caller actually owns the complication.

<br />

| Parameters ||
|---|---|
| `complicationInstanceId` | `int`: the system's id for an active ComplicationConfig on the currently active watch face. The tuple \[Active Watch face ComponentName, complication slot ID\] will have a unique "active" complicationInstanceId. A watch face may be unset, and reset as active, in which case the old value will not be valid and a new id is assigned by the system. Use `https://developer.android.com/reference/com/google/wear/services/complications/ComplicationsManager#getActiveComplicationConfigsAsync(java.util.concurrent.Executor,%20android.os.OutcomeReceiver<java.util.List<com.google.wear.services.complications.ActiveComplicationConfig>,java.lang.Throwable>)` to receive a list of complication configs that are currently active on the active watch face. <br /> |
| `complicationData` | `ComplicationData`: the new data that the complication should show on the watch face. <br /> |
| `executor` | `Executor`: the executor which will be used to make the call and process the result. <br /> |
| `outcomeReceiver` | `OutcomeReceiver`: an OutcomeReceiver that will receive a void result when the data was processed successfully. It is not an indication of whether the data was delivered to the watch face, just that it was processed and forwarded without error. A throwable is received if communication with the system encounters an error or if there was an error while processing the complication data. <br /> |