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

# StatefulBuilder

*** ** * ** ***

Kotlin \|[Java](https://developer.android.com/reference/android/service/controls/Control.StatefulBuilder "View this page in Java")

```
class StatefulBuilder
```

|---|---|
| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html) ||
| ↳ | [android.service.controls.Control.StatefulBuilder](https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#) |

Builder class for `https://developer.android.com/reference/kotlin/android/service/controls/Control` that contains state information. State information is passed through an instance of a `https://developer.android.com/reference/kotlin/android/service/controls/templates/ControlTemplate` and will determine how the user can interact with the `https://developer.android.com/reference/kotlin/android/service/controls/Control`. User interactions will be sent through the method call `https://developer.android.com/reference/kotlin/android/service/controls/ControlsProviderService#performControlAction(kotlin.String,%20android.service.controls.actions.ControlAction,%20java.util.function.Consumer)` with an instance of `https://developer.android.com/reference/kotlin/android/service/controls/actions/ControlAction` to convey any potential new value. Must be used to provide controls for `https://developer.android.com/reference/kotlin/android/service/controls/ControlsProviderService#createPublisherFor(kotlin.collections.MutableList)`. It provides the following defaults for non-optional parameters:

- Device type: `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_UNKNOWN:kotlin.Int`
- Title: `""`
- Subtitle: `""`
- Status: `https://developer.android.com/reference/kotlin/android/service/controls/Control#STATUS_UNKNOWN:kotlin.Int`
- Control template: `https://developer.android.com/reference/kotlin/android/service/controls/templates/ControlTemplate#getNoTemplateObject()`
- Status text: `""`
- Auth Required: `true`

<br />

## Summary

| Public constructors ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#StatefulBuilder(android.service.controls.Control)(control: https://developer.android.com/reference/kotlin/android/service/controls/Control)` Creates a `https://developer.android.com/reference/kotlin/android/service/controls/Control.StatelessBuilder` using an existing `https://developer.android.com/reference/kotlin/android/service/controls/Control` as a base. |
| `https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#StatefulBuilder(kotlin.String,%20android.app.PendingIntent)(controlId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, appIntent: https://developer.android.com/reference/kotlin/android/app/PendingIntent.html#)` <br /> |

| Public methods ||
|---|---|
| [Control](https://developer.android.com/reference/kotlin/android/service/controls/Control) | `https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#build()()` <br /> |
| [Control.StatefulBuilder](https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#) | `https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#setAppIntent(android.app.PendingIntent)(appIntent: https://developer.android.com/reference/kotlin/android/app/PendingIntent.html#)` <br /> |
| [Control.StatefulBuilder](https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#) | `https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#setAuthRequired(kotlin.Boolean)(authRequired: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` <br /> |
| [Control.StatefulBuilder](https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#) | `https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#setControlId(kotlin.String)(controlId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` <br /> |
| [Control.StatefulBuilder](https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#) | `https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#setControlTemplate(android.service.controls.templates.ControlTemplate)(controlTemplate: https://developer.android.com/reference/kotlin/android/service/controls/templates/ControlTemplate)` Set the `https://developer.android.com/reference/kotlin/android/service/controls/templates/ControlTemplate` to define the primary user interaction Devices may support a variety of user interactions, and all interactions cannot be represented with a single `https://developer.android.com/reference/kotlin/android/service/controls/templates/ControlTemplate`. |
| [Control.StatefulBuilder](https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#) | `https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#setCustomColor(android.content.res.ColorStateList)(customColor: https://developer.android.com/reference/kotlin/android/content/res/ColorStateList.html#?)` Optional color to be shown with the `https://developer.android.com/reference/kotlin/android/service/controls/Control`. |
| [Control.StatefulBuilder](https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#) | `https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#setCustomIcon(android.graphics.drawable.Icon)(customIcon: https://developer.android.com/reference/kotlin/android/graphics/drawable/Icon.html#?)` Optional icon to be shown with the `https://developer.android.com/reference/kotlin/android/service/controls/Control`. |
| [Control.StatefulBuilder](https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#) | `https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#setDeviceType(kotlin.Int)(deviceType: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` <br /> |
| [Control.StatefulBuilder](https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#) | `https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#setStatus(kotlin.Int)(status: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` <br /> |
| [Control.StatefulBuilder](https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#) | `https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#setStatusText(kotlin.CharSequence)(statusText: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char-sequence/index.html)` <br /> |
| [Control.StatefulBuilder](https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#) | `https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#setStructure(kotlin.CharSequence)(structure: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char-sequence/index.html?)` Optional top-level group to help define the `https://developer.android.com/reference/kotlin/android/service/controls/Control`'s location, visible to the user. |
| [Control.StatefulBuilder](https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#) | `https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#setSubtitle(kotlin.CharSequence)(subtitle: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char-sequence/index.html)` <br /> |
| [Control.StatefulBuilder](https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#) | `https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#setTitle(kotlin.CharSequence)(title: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char-sequence/index.html)` <br /> |
| [Control.StatefulBuilder](https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#) | `https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#setZone(kotlin.CharSequence)(zone: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char-sequence/index.html?)` Optional group name to help define the `https://developer.android.com/reference/kotlin/android/service/controls/Control`'s location within a structure, visible to the user. |

## Public constructors

### StatefulBuilder

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

```
StatefulBuilder(control: Control)
```

Creates a `https://developer.android.com/reference/kotlin/android/service/controls/Control.StatelessBuilder` using an existing `https://developer.android.com/reference/kotlin/android/service/controls/Control` as a base.

| Parameters ||
|---|---|
| `control` | [Control](https://developer.android.com/reference/kotlin/android/service/controls/Control): base for the builder. This value cannot be `null`. |

### StatefulBuilder

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

```
StatefulBuilder(
    controlId: String, 
    appIntent: PendingIntent)
```

| Parameters ||
|---|---|
| `controlId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): the identifier for the `https://developer.android.com/reference/kotlin/android/service/controls/Control`. This value cannot be `null`. |
| `appIntent` | [PendingIntent](https://developer.android.com/reference/kotlin/android/app/PendingIntent.html#): the pending intent linking to the device Activity. This value cannot be `null`. |

## Public methods

### build

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

```
fun build(): Control
```

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/service/controls/Control` | a valid `https://developer.android.com/reference/kotlin/android/service/controls/Control` This value cannot be `null`. |

### setAppIntent

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

```
fun setAppIntent(appIntent: PendingIntent): Control.StatefulBuilder
```

| Parameters ||
|---|---|
| `appIntent` | [PendingIntent](https://developer.android.com/reference/kotlin/android/app/PendingIntent.html#): a `https://developer.android.com/reference/kotlin/android/app/PendingIntent.html#` linking to an Activity for the `https://developer.android.com/reference/kotlin/android/service/controls/Control` This value cannot be `null`. |

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#` | `this` This value cannot be `null`. |

### setAuthRequired

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

```
fun setAuthRequired(authRequired: Boolean): Control.StatefulBuilder
```

| Parameters ||
|---|---|
| `authRequired` | [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html): true if the control can not be interacted with until the device is unlocked |

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#` | `this` This value cannot be `null`. |

### setControlId

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

```
fun setControlId(controlId: String): Control.StatefulBuilder
```

| Parameters ||
|---|---|
| `controlId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): the identifier for the `https://developer.android.com/reference/kotlin/android/service/controls/Control`. This value cannot be `null`. |

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#` | `this` This value cannot be `null`. |

### setControlTemplate

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

```
fun setControlTemplate(controlTemplate: ControlTemplate): Control.StatefulBuilder
```

Set the `https://developer.android.com/reference/kotlin/android/service/controls/templates/ControlTemplate` to define the primary user interaction Devices may support a variety of user interactions, and all interactions cannot be represented with a single `https://developer.android.com/reference/kotlin/android/service/controls/templates/ControlTemplate`. Therefore, the selected template should be most closely aligned with what the expected primary device action will be. Any secondary interactions can be done via the `https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#setAppIntent(android.app.PendingIntent)`.

| Parameters ||
|---|---|
| `controlTemplate` | [ControlTemplate](https://developer.android.com/reference/kotlin/android/service/controls/templates/ControlTemplate): instance of `https://developer.android.com/reference/kotlin/android/service/controls/templates/ControlTemplate`, that defines how the `https://developer.android.com/reference/kotlin/android/service/controls/Control` will behave and what interactions are available to the user. This value cannot be `null`. |

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#` | `this` This value cannot be `null`. |

### setCustomColor

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

```
fun setCustomColor(customColor: ColorStateList?): Control.StatefulBuilder
```

Optional color to be shown with the `https://developer.android.com/reference/kotlin/android/service/controls/Control`. It is highly recommended to let the system default the color unless the default is not suitable for the application.

| Parameters ||
|---|---|
| `customColor` | [ColorStateList](https://developer.android.com/reference/kotlin/android/content/res/ColorStateList.html#)?: background color to use. This value may be `null`. |

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#` | `this` This value cannot be `null`. |

### setCustomIcon

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

```
fun setCustomIcon(customIcon: Icon?): Control.StatefulBuilder
```

Optional icon to be shown with the `https://developer.android.com/reference/kotlin/android/service/controls/Control`. It is highly recommended to let the system default the icon unless the default icon is not suitable.

| Parameters ||
|---|---|
| `customIcon` | [Icon](https://developer.android.com/reference/kotlin/android/graphics/drawable/Icon.html#)?: icon to show. This value may be `null`. |

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#` | `this` This value cannot be `null`. |

### setDeviceType

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

```
fun setDeviceType(deviceType: Int): Control.StatefulBuilder
```

| Parameters ||
|---|---|
| `deviceType` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): type of device represented by this `https://developer.android.com/reference/kotlin/android/service/controls/Control`, used to determine the default icon and color. Value is one of the following: - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_GENERIC_ON_OFF:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_GENERIC_START_STOP:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_GENERIC_OPEN_CLOSE:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_GENERIC_LOCK_UNLOCK:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_GENERIC_ARM_DISARM:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_GENERIC_TEMP_SETTING:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_GENERIC_VIEWSTREAM:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_UNKNOWN:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_AC_HEATER:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_AC_UNIT:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_AIR_FRESHENER:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_AIR_PURIFIER:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_COFFEE_MAKER:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_DEHUMIDIFIER:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_DISPLAY:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_FAN:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_HOOD:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_HUMIDIFIER:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_KETTLE:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_LIGHT:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_MICROWAVE:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_OUTLET:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_RADIATOR:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_REMOTE_CONTROL:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_SET_TOP:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_STANDMIXER:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_STYLER:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_SWITCH:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_TV:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_WATER_HEATER:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_DISHWASHER:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_DRYER:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_MOP:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_MOWER:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_MULTICOOKER:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_SHOWER:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_SPRINKLER:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_WASHER:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_VACUUM:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_AWNING:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_BLINDS:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_CLOSET:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_CURTAIN:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_DOOR:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_DRAWER:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_GARAGE:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_GATE:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_PERGOLA:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_SHUTTER:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_WINDOW:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_VALVE:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_LOCK:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_SECURITY_SYSTEM:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_HEATER:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_REFRIGERATOR:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_THERMOSTAT:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_CAMERA:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_DOORBELL:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/DeviceTypes#TYPE_ROUTINE:kotlin.Int` |

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#` | `this` This value cannot be `null`. |

### setStatus

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

```
fun setStatus(status: Int): Control.StatefulBuilder
```

| Parameters ||
|---|---|
| `status` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): status of the `https://developer.android.com/reference/kotlin/android/service/controls/Control`, used to convey information about the attempt to fetch the current state. Value is one of the following: - `https://developer.android.com/reference/kotlin/android/service/controls/Control#STATUS_UNKNOWN:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/Control#STATUS_OK:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/Control#STATUS_NOT_FOUND:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/Control#STATUS_ERROR:kotlin.Int` - `https://developer.android.com/reference/kotlin/android/service/controls/Control#STATUS_DISABLED:kotlin.Int` |

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#` | `this` This value cannot be `null`. |

### setStatusText

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

```
fun setStatusText(statusText: CharSequence): Control.StatefulBuilder
```

| Parameters ||
|---|---|
| `statusText` | [CharSequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char-sequence/index.html): user-facing text description of the `https://developer.android.com/reference/kotlin/android/service/controls/Control`'s status, describing its current state. This value cannot be `null`. |

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#` | `this` This value cannot be `null`. |

### setStructure

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

```
fun setStructure(structure: CharSequence?): Control.StatefulBuilder
```

Optional top-level group to help define the `https://developer.android.com/reference/kotlin/android/service/controls/Control`'s location, visible to the user. If not present, the application name will be used as the top-level group. A structure contains zones which contains controls.

| Parameters ||
|---|---|
| `structure` | [CharSequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char-sequence/index.html)?: name of the structure containing the control. This value may be `null`. |

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#` | `this` This value cannot be `null`. |

### setSubtitle

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

```
fun setSubtitle(subtitle: CharSequence): Control.StatefulBuilder
```

| Parameters ||
|---|---|
| `subtitle` | [CharSequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char-sequence/index.html): additional information about the `https://developer.android.com/reference/kotlin/android/service/controls/Control`, to appear underneath the title. This value cannot be `null`. |

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#` | `this` This value cannot be `null`. |

### setTitle

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

```
fun setTitle(title: CharSequence): Control.StatefulBuilder
```

| Parameters ||
|---|---|
| `title` | [CharSequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char-sequence/index.html): the user facing name of the `https://developer.android.com/reference/kotlin/android/service/controls/Control` This value cannot be `null`. |

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#` | `this` This value cannot be `null`. |

### setZone

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

```
fun setZone(zone: CharSequence?): Control.StatefulBuilder
```

Optional group name to help define the `https://developer.android.com/reference/kotlin/android/service/controls/Control`'s location within a structure, visible to the user. A structure contains zones which contains controls.

| Parameters ||
|---|---|
| `zone` | [CharSequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char-sequence/index.html)?: name of the zone containing the control. This value may be `null`. |

| Return ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/service/controls/Control.StatefulBuilder#` | `this` This value cannot be `null`. |