# UserStyleSetting.ComplicationSlotsUserStyleSetting

Artifact: [androidx.wear.watchface:watchface-style](https://developer.android.com/jetpack/androidx/releases/wear-watchface) [View Source](https://cs.android.com/search?q=file:androidx/wear/watchface/style/UserStyleSetting.kt+class:androidx.wear.watchface.style.UserStyleSetting.ComplicationSlotsUserStyleSetting) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/wear-watchface#1.0.0) Deprecated in [1.3.0-alpha07](https://developer.android.com/jetpack/androidx/releases/wear-watchface#1.3.0-alpha07)

*** ** * ** ***


```
public final class UserStyleSetting.ComplicationSlotsUserStyleSetting extends UserStyleSetting
```

<br />

|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object.html) |||
| ↳ | [androidx.wear.watchface.style.UserStyleSetting](https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting) ||
|   | ↳ | [androidx.wear.watchface.style.UserStyleSetting.ComplicationSlotsUserStyleSetting](https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting.ComplicationSlotsUserStyleSetting) |

*** ** * ** ***

> [!CAUTION]
> **This class is deprecated.**   
> AndroidX watchface libraries are deprecated, use Watch Face Format instead. For more info see: https://developer.android.com/training/wearables/wff

ComplicationSlotsUserStyleSetting is the recommended `https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting` for representing complication slot configuration, options such as the number of active complication slots, their location, etc... The `https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotsOption` class allows you to apply a list of `https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay`s on top of the base config as specified by the `https://developer.android.com/reference/androidx/wear/watchface/ComplicationSlot` constructor.

The ComplicationsManager listens for style changes with this setting and when a `https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotsOption` is selected the overrides are automatically applied. Note its suggested that the default `https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay` (the first entry in the list) does not apply any overrides.

From android T multiple `https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting.ComplicationSlotsUserStyleSetting` are allowed in a style hierarchy as long as at most one is active for any permutation of `https://developer.android.com/reference/androidx/wear/watchface/style/UserStyle`. Prior to android T only a single ComplicationSlotsUserStyleSetting was allowed.

Not to be confused with complication data source selection.

## Summary

| ### Nested types |
|---|
| `public final class https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting.ComplicationSlotsUserStyleSetting.Builder` **This class is deprecated.** AndroidX watchface libraries are deprecated, use Watch Face Format instead. |
| `public final class https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay` **This class is deprecated.** AndroidX watchface libraries are deprecated, use Watch Face Format instead. |
| `public final class https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay.Builder` **This class is deprecated.** AndroidX watchface libraries are deprecated, use Watch Face Format instead. |
| `public final class https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotsOption extends https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting.Option` **This class is deprecated.** AndroidX watchface libraries are deprecated, use Watch Face Format instead. |
| `public final class https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotsOption.Builder` **This class is deprecated.** AndroidX watchface libraries are deprecated, use Watch Face Format instead. |

| ### Public constructors |
|---|
| `[ComplicationSlotsUserStyleSetting](https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting.ComplicationSlotsUserStyleSetting#ComplicationSlotsUserStyleSetting(androidx.wear.watchface.style.UserStyleSetting.Id,android.content.res.Resources,kotlin.Int,kotlin.Int,android.graphics.drawable.Icon,kotlin.collections.List,kotlin.collections.Collection,androidx.wear.watchface.style.UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotsOption,androidx.wear.watchface.style.UserStyleSetting.WatchFaceEditorData))( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting.Id id, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/content/res/Resources.html resources, @https://developer.android.com/reference/androidx/annotation/StringRes int displayNameResourceId, @https://developer.android.com/reference/androidx/annotation/StringRes int descriptionResourceId, https://developer.android.com/reference/android/graphics/drawable/Icon.html icon, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/List.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotsOption> complicationConfig, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/Collection.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/watchface/style/WatchFaceLayer> affectsWatchFaceLayers, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotsOption defaultOption, https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting.WatchFaceEditorData watchFaceEditorData )` **This method is deprecated.** Use the Builder instead |

| ### Inherited methods |
|---|
| From [androidx.wear.watchface.style.UserStyleSetting](https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting) |---|---| | `boolean` | `[equals](https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting#equals(kotlin.Any))(https://developer.android.com/reference/java/lang/Object.html other)` **This method is deprecated.** AndroidX watchface libraries are deprecated, use Watch Face Format instead. | | `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/Collection.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/watchface/style/WatchFaceLayer>` | `[getAffectedWatchFaceLayers](https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting#getAffectedWatchFaceLayers())()` **This method is deprecated.** AndroidX watchface libraries are deprecated, use Watch Face Format instead. | | `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting.Option` | `[getDefaultOption](https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting#getDefaultOption())()` **This method is deprecated.** AndroidX watchface libraries are deprecated, use Watch Face Format instead. | | `final int` | `[getDefaultOptionIndex](https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting#getDefaultOptionIndex())()` **This method is deprecated.** AndroidX watchface libraries are deprecated, use Watch Face Format instead. | | `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/CharSequence.html` | `[getDescription](https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting#getDescription())()` **This method is deprecated.** AndroidX watchface libraries are deprecated, use Watch Face Format instead. | | `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/CharSequence.html` | `[getDisplayName](https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting#getDisplayName())()` **This method is deprecated.** AndroidX watchface libraries are deprecated, use Watch Face Format instead. | | `final https://developer.android.com/reference/android/graphics/drawable/Icon.html` | `[getIcon](https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting#getIcon())()` **This method is deprecated.** AndroidX watchface libraries are deprecated, use Watch Face Format instead. | | `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting.Id` | `[getId](https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting#getId())()` **This method is deprecated.** AndroidX watchface libraries are deprecated, use Watch Face Format instead. | | `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting.Option` | `[getOptionForId](https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting#getOptionForId(androidx.wear.watchface.style.UserStyleSetting.Option.Id))(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting.Option.Id optionId)` **This method is deprecated.** AndroidX watchface libraries are deprecated, use Watch Face Format instead. | | `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/List.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting.Option>` | `[getOptions](https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting#getOptions())()` **This method is deprecated.** AndroidX watchface libraries are deprecated, use Watch Face Format instead. | | `final https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting.WatchFaceEditorData` | `[getWatchFaceEditorData](https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting#getWatchFaceEditorData())()` **This method is deprecated.** AndroidX watchface libraries are deprecated, use Watch Face Format instead. | | `int` | `[hashCode](https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting#hashCode())()` **This method is deprecated.** AndroidX watchface libraries are deprecated, use Watch Face Format instead. | | `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html` | `[toString](https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting#toString())()` **This method is deprecated.** AndroidX watchface libraries are deprecated, use Watch Face Format instead. | |

## Public constructors

### ComplicationSlotsUserStyleSetting

```
public [ComplicationSlotsUserStyleSetting](https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting.ComplicationSlotsUserStyleSetting#ComplicationSlotsUserStyleSetting(androidx.wear.watchface.style.UserStyleSetting.Id,android.content.res.Resources,kotlin.Int,kotlin.Int,android.graphics.drawable.Icon,kotlin.collections.List,kotlin.collections.Collection,androidx.wear.watchface.style.UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotsOption,androidx.wear.watchface.style.UserStyleSetting.WatchFaceEditorData))(
    @NonNull UserStyleSetting.Id id,
    @NonNull Resources resources,
    @StringRes int displayNameResourceId,
    @StringRes int descriptionResourceId,
    Icon icon,
    @NonNull List<@NonNull UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotsOption> complicationConfig,
    @NonNull Collection<@NonNull WatchFaceLayer> affectsWatchFaceLayers,
    @NonNull UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotsOption defaultOption,
    UserStyleSetting.WatchFaceEditorData watchFaceEditorData
)
```

> [!CAUTION]
> **This method is deprecated.**   
> Use the Builder instead

Constructs a ComplicationSlotsUserStyleSetting where `https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting#displayName()` and `https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting#description()` are specified as resources.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting.Id id` | `https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting.Id` for the element, must be unique. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/content/res/Resources.html resources` | The `https://developer.android.com/reference/android/content/res/Resources.html` from which `https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting.ComplicationSlotsUserStyleSetting#(androidx.wear.watchface.style.UserStyleSetting.Id,android.content.res.Resources,kotlin.Int,kotlin.Int,android.graphics.drawable.Icon,kotlin.collections.List,kotlin.collections.Collection,androidx.wear.watchface.style.UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotsOption,androidx.wear.watchface.style.UserStyleSetting.WatchFaceEditorData)` and `https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting.ComplicationSlotsUserStyleSetting#(androidx.wear.watchface.style.UserStyleSetting.Id,android.content.res.Resources,kotlin.Int,kotlin.Int,android.graphics.drawable.Icon,kotlin.collections.List,kotlin.collections.Collection,androidx.wear.watchface.style.UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotsOption,androidx.wear.watchface.style.UserStyleSetting.WatchFaceEditorData)` are loaded. |
| `@https://developer.android.com/reference/androidx/annotation/StringRes int displayNameResourceId` | String resource id for a human readable name for the element, used in the userStyle selection UI. |
| `@https://developer.android.com/reference/androidx/annotation/StringRes int descriptionResourceId` | String resource id for a human readable description string displayed under the displayName. |
| `https://developer.android.com/reference/android/graphics/drawable/Icon.html icon` | `https://developer.android.com/reference/android/graphics/drawable/Icon.html` for use in the companion userStyle selection UI. This gets sent to the companion over bluetooth and should be small (ideally a few kb in size). |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/List.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotsOption> complicationConfig` | The configuration for affected complications. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/Collection.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/watchface/style/WatchFaceLayer> affectsWatchFaceLayers` | Used by the style configuration UI. Describes which watch face rendering layers this style affects, must include `https://developer.android.com/reference/androidx/wear/watchface/style/WatchFaceLayer#COMPLICATIONS`. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotsOption defaultOption` | The default option, used when data isn't persisted. Optional parameter which defaults to the first element of `https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting.ComplicationSlotsUserStyleSetting#(androidx.wear.watchface.style.UserStyleSetting.Id,android.content.res.Resources,kotlin.Int,kotlin.Int,android.graphics.drawable.Icon,kotlin.collections.List,kotlin.collections.Collection,androidx.wear.watchface.style.UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotsOption,androidx.wear.watchface.style.UserStyleSetting.WatchFaceEditorData)`. |
| `https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting.WatchFaceEditorData watchFaceEditorData` | Optional data for an on watch face editor, this will not be sent to the companion and its contents may be used in preference to other fields by an on watch face editor. |