Added in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Inherited Constants](https://developer.android.com/reference/android/service/controls/templates/ToggleTemplate#inhconstants) \| [Ctors](https://developer.android.com/reference/android/service/controls/templates/ToggleTemplate#pubctors) \| [Methods](https://developer.android.com/reference/android/service/controls/templates/ToggleTemplate#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/service/controls/templates/ToggleTemplate#inhmethods)

# ToggleTemplate

*** ** * ** ***

` public final class ToggleTemplate `   
` ` ` extends https://developer.android.com/reference/android/service/controls/templates/ControlTemplate ` ` `

|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) |||
| ↳ | [android.service.controls.templates.ControlTemplate](https://developer.android.com/reference/android/service/controls/templates/ControlTemplate) ||
|   | ↳ | android.service.controls.templates.ToggleTemplate |

<br />

*** ** * ** ***

A template for a `https://developer.android.com/reference/android/service/controls/Control` with a single button that can be toggled between two states. The states for the toggle correspond to the states in `https://developer.android.com/reference/android/service/controls/templates/ControlButton#isChecked()`. An action on this template will originate a `https://developer.android.com/reference/android/service/controls/actions/BooleanAction` to change that state.
**See also:**

- `https://developer.android.com/reference/android/service/controls/actions/BooleanAction`

## Summary

### Inherited constants

From class `https://developer.android.com/reference/android/service/controls/templates/ControlTemplate` `int` `https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#TYPE_ERROR`

Type identifier of the template returned by `https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#getErrorTemplate()`.
`int` `https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#TYPE_NO_TEMPLATE`

Type identifier of `https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#getNoTemplateObject()`.
`int` `https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#TYPE_RANGE`

Type identifier of `https://developer.android.com/reference/android/service/controls/templates/RangeTemplate`.
`int` `https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#TYPE_STATELESS`

Type identifier of `https://developer.android.com/reference/android/service/controls/templates/StatelessTemplate`.
`int` `https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#TYPE_TEMPERATURE`

Type identifier of `https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate`.
`int` `https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#TYPE_THUMBNAIL`

Type identifier of `https://developer.android.com/reference/android/service/controls/templates/ThumbnailTemplate`.
`int` `https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#TYPE_TOGGLE`

Type identifier of `https://developer.android.com/reference/android/service/controls/templates/ToggleTemplate`.
`int` `https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#TYPE_TOGGLE_RANGE`

Type identifier of `https://developer.android.com/reference/android/service/controls/templates/ToggleRangeTemplate`.

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/android/service/controls/templates/ToggleTemplate#ToggleTemplate(java.lang.String,%20android.service.controls.templates.ControlButton)(https://developer.android.com/reference/java/lang/String templateId, https://developer.android.com/reference/android/service/controls/templates/ControlButton button) ` |

| ### Public methods ||
|---|---|
| ` https://developer.android.com/reference/java/lang/CharSequence` | ` https://developer.android.com/reference/android/service/controls/templates/ToggleTemplate#getContentDescription()() ` |
| ` int` | ` https://developer.android.com/reference/android/service/controls/templates/ToggleTemplate#getTemplateType()() ` The template type associated with this class. |
| ` boolean` | ` https://developer.android.com/reference/android/service/controls/templates/ToggleTemplate#isChecked()() ` |

### Inherited methods

From class ` https://developer.android.com/reference/android/service/controls/templates/ControlTemplate ` ` static https://developer.android.com/reference/android/service/controls/templates/ControlTemplate` ` https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#getErrorTemplate()() ` ` static https://developer.android.com/reference/android/service/controls/templates/ControlTemplate` ` https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#getNoTemplateObject()() `

Get a singleton `https://developer.android.com/reference/android/service/controls/templates/ControlTemplate`, which supports no direct user input.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#getTemplateId()() ` ` abstract int` ` https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#getTemplateType()() `

The template type associated with this class.
From class ` https://developer.android.com/reference/java/lang/Object ` ` https://developer.android.com/reference/java/lang/Object` ` https://developer.android.com/reference/java/lang/Object#clone()() `

Creates and returns a copy of this object.
` boolean` ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) `

Indicates whether some other object is "equal to" this one.
` void` ` https://developer.android.com/reference/java/lang/Object#finalize()() `

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
` final https://developer.android.com/reference/java/lang/Class<?>` ` https://developer.android.com/reference/java/lang/Object#getClass()() `

Returns the runtime class of this `Object`.
` int` ` https://developer.android.com/reference/java/lang/Object#hashCode()() `

Returns a hash code value for the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#notify()() `

Wakes up a single thread that is waiting on this object's monitor.
` final void` ` https://developer.android.com/reference/java/lang/Object#notifyAll()() `

Wakes up all threads that are waiting on this object's monitor.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Object#toString()() `

Returns a string representation of the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait()() `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*.

## Public constructors

### ToggleTemplate

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

```
public ToggleTemplate (String templateId, 
                ControlButton button)
```

<br />

<br />

| Parameters ||
|---|---|
| `templateId` | `String`: the identifier for this template object. This value cannot be `null`. <br /> |
| `button` | `ControlButton`: a `https://developer.android.com/reference/android/service/controls/templates/ControlButton` that can show the current state and toggle it. This value cannot be `null`. <br /> |

## Public methods

### getContentDescription

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

```
public CharSequence getContentDescription ()
```

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/CharSequence` | This value cannot be `null`. <br /> |

### getTemplateType

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

```
public int getTemplateType ()
```

The template type associated with this class.

<br />

| Returns ||
|---|---|
| `int` | `https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#TYPE_TOGGLE` <br /> |

### isChecked

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

```
public boolean isChecked ()
```

<br />

<br />

| Returns ||
|---|---|
| `boolean` | <br /> |