# 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)

*** ** * ** ***

Kotlin \|[Java](https://developer.android.com/reference/androidx/wear/watchface/style/UserStyleSetting.ComplicationSlotsUserStyleSetting "View this page in Java")


```
class UserStyleSetting.ComplicationSlotsUserStyleSetting : UserStyleSetting
```

<br />

|---|---|---|
| [kotlin.Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html) |||
| ↳ | [androidx.wear.watchface.style.UserStyleSetting](https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting) ||
|   | ↳ | [androidx.wear.watchface.style.UserStyleSetting.ComplicationSlotsUserStyleSetting](https://developer.android.com/reference/kotlin/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/kotlin/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/kotlin/androidx/wear/watchface/style/UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotsOption` class allows you to apply a list of `https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay`s on top of the base config as specified by the `https://developer.android.com/reference/kotlin/androidx/wear/watchface/ComplicationSlot` constructor.

The ComplicationsManager listens for style changes with this setting and when a `https://developer.android.com/reference/kotlin/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/kotlin/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/kotlin/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/kotlin/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 |
|---|
| `class https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting.ComplicationSlotsUserStyleSetting.Builder` **This class is deprecated.** AndroidX watchface libraries are deprecated, use Watch Face Format instead. |
| `class https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay` **This class is deprecated.** AndroidX watchface libraries are deprecated, use Watch Face Format instead. |
| `class https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay.Builder` **This class is deprecated.** AndroidX watchface libraries are deprecated, use Watch Face Format instead. |
| `class https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotsOption : https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting.Option` **This class is deprecated.** AndroidX watchface libraries are deprecated, use Watch Face Format instead. |
| `class https://developer.android.com/reference/kotlin/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/kotlin/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))( id: https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting.Id, resources: https://developer.android.com/reference/android/content/res/Resources.html, displayNameResourceId: @https://developer.android.com/reference/kotlin/androidx/annotation/StringRes https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, descriptionResourceId: @https://developer.android.com/reference/kotlin/androidx/annotation/StringRes https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, icon: https://developer.android.com/reference/android/graphics/drawable/Icon.html?, complicationConfig: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotsOption>, affectsWatchFaceLayers: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-collection/index.html<https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/WatchFaceLayer>, defaultOption: https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotsOption, watchFaceEditorData: https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting.WatchFaceEditorData? )` **This function is deprecated.** Use the Builder instead |

| ### Inherited functions |
|---|
| From [androidx.wear.watchface.style.UserStyleSetting](https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting) |---|---| | `open operator https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `[equals](https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting#equals(kotlin.Any))(other: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?)` **This function is deprecated.** AndroidX watchface libraries are deprecated, use Watch Face Format instead. | | `open https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting.Option` | `[getOptionForId](https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting#getOptionForId(androidx.wear.watchface.style.UserStyleSetting.Option.Id))(optionId: https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting.Option.Id)` **This function is deprecated.** AndroidX watchface libraries are deprecated, use Watch Face Format instead. | | `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `[hashCode](https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting#hashCode())()` **This function is deprecated.** AndroidX watchface libraries are deprecated, use Watch Face Format instead. | | `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | `[toString](https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting#toString())()` **This function is deprecated.** AndroidX watchface libraries are deprecated, use Watch Face Format instead. | |

| ### Inherited properties |
|---|
| From [androidx.wear.watchface.style.UserStyleSetting](https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting) |---|---| | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-collection/index.html<https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/WatchFaceLayer>` | `https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting#affectedWatchFaceLayers()` **This property is deprecated.** AndroidX watchface libraries are deprecated, use Watch Face Format instead. | | `https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting.Option` | `https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting#defaultOption()` **This property is deprecated.** AndroidX watchface libraries are deprecated, use Watch Face Format instead. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting#defaultOptionIndex()` **This property is deprecated.** AndroidX watchface libraries are deprecated, use Watch Face Format instead. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-char-sequence/index.html` | `https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting#description()` **This property is deprecated.** AndroidX watchface libraries are deprecated, use Watch Face Format instead. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-char-sequence/index.html` | `https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting#displayName()` **This property is deprecated.** AndroidX watchface libraries are deprecated, use Watch Face Format instead. | | `https://developer.android.com/reference/android/graphics/drawable/Icon.html?` | `https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting#icon()` **This property is deprecated.** AndroidX watchface libraries are deprecated, use Watch Face Format instead. | | `https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting.Id` | `https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting#id()` **This property is deprecated.** AndroidX watchface libraries are deprecated, use Watch Face Format instead. | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting.Option>` | `https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting#options()` **This property is deprecated.** AndroidX watchface libraries are deprecated, use Watch Face Format instead. | | `https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting.WatchFaceEditorData?` | `https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting#watchFaceEditorData()` **This property is deprecated.** AndroidX watchface libraries are deprecated, use Watch Face Format instead. | |

## Public constructors

### ComplicationSlotsUserStyleSetting

```
[ComplicationSlotsUserStyleSetting](https://developer.android.com/reference/kotlin/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))(
    id: UserStyleSetting.Id,
    resources: Resources,
    displayNameResourceId: @StringRes Int,
    descriptionResourceId: @StringRes Int,
    icon: Icon?,
    complicationConfig: List<UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotsOption>,
    affectsWatchFaceLayers: Collection<WatchFaceLayer>,
    defaultOption: UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotsOption = complicationConfig.first(),
    watchFaceEditorData: UserStyleSetting.WatchFaceEditorData? = null
)
```

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

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

| Parameters |
|---|---|
| `id: https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting.Id` | `https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting.Id` for the element, must be unique. |
| `resources: https://developer.android.com/reference/android/content/res/Resources.html` | The `https://developer.android.com/reference/android/content/res/Resources.html` from which `https://developer.android.com/reference/kotlin/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/kotlin/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. |
| `displayNameResourceId: @https://developer.android.com/reference/kotlin/androidx/annotation/StringRes https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | String resource id for a human readable name for the element, used in the userStyle selection UI. |
| `descriptionResourceId: @https://developer.android.com/reference/kotlin/androidx/annotation/StringRes https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | String resource id for a human readable description string displayed under the displayName. |
| `icon: https://developer.android.com/reference/android/graphics/drawable/Icon.html?` | `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). |
| `complicationConfig: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotsOption>` | The configuration for affected complications. |
| `affectsWatchFaceLayers: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-collection/index.html<https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/WatchFaceLayer>` | Used by the style configuration UI. Describes which watch face rendering layers this style affects, must include `https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/WatchFaceLayer#COMPLICATIONS`. |
| `defaultOption: https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotsOption = complicationConfig.first()` | The default option, used when data isn't persisted. Optional parameter which defaults to the first element of `https://developer.android.com/reference/kotlin/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)`. |
| `watchFaceEditorData: https://developer.android.com/reference/kotlin/androidx/wear/watchface/style/UserStyleSetting.WatchFaceEditorData? = null` | 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. |