# TemperatureControlTemplate

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

# TemperatureControlTemplate

*** ** * ** ***

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

`
public

final

class
TemperatureControlTemplate
`  
`


``

extends `[ControlTemplate](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.TemperatureControlTemplate |

<br />

*** ** * ** ***

A template for a temperature related[Control](https://developer.android.com/reference/android/service/controls/Control)that supports multiple modes. Both the current mode and the active mode for the control can be specified. The combination of the[Control.getDeviceType](https://developer.android.com/reference/android/service/controls/Control#getDeviceType())and the current and active mode will determine colors and transitions for the UI element.

## Summary

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ### Constants                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ||
|-------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `int` | [FLAG_MODE_COOL](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#FLAG_MODE_COOL) Flag to indicate that the device supports cool mode.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `int` | [FLAG_MODE_ECO](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#FLAG_MODE_ECO) Flag to indicate that the device supports eco mode.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `int` | [FLAG_MODE_HEAT](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#FLAG_MODE_HEAT) Flag to indicate that the device supports heat mode.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `int` | [FLAG_MODE_HEAT_COOL](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#FLAG_MODE_HEAT_COOL) Flag to indicate that the device supports heat-cool mode.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `int` | [FLAG_MODE_OFF](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#FLAG_MODE_OFF) Flag to indicate that the device supports off mode.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `int` | [MODE_COOL](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_COOL) Indicates that the current or active mode of the device is set to cool.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `int` | [MODE_ECO](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_ECO) Indicates that the current or active mode of the device is set to eco.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `int` | [MODE_HEAT](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_HEAT) Indicates that the current or active mode of the device is set to heat.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `int` | [MODE_HEAT_COOL](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_HEAT_COOL) Indicates that the current or active mode of the device is set to heat-cool.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `int` | [MODE_OFF](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_OFF) Indicates that the current or active mode of the device is off.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `int` | [MODE_UNKNOWN](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_UNKNOWN) Use when the current or active mode of the device is not known Value is[MODE_UNKNOWN](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_UNKNOWN),[MODE_OFF](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_OFF),[MODE_HEAT](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_HEAT),[MODE_COOL](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_COOL),[MODE_HEAT_COOL](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_HEAT_COOL), or[MODE_ECO](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_ECO) |

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ### Inherited constants                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| From class[android.service.controls.templates.ControlTemplate](https://developer.android.com/reference/android/service/controls/templates/ControlTemplate) |-------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `int` | [TYPE_ERROR](https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#TYPE_ERROR) Type identifier of the template returned by[getErrorTemplate()](https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#getErrorTemplate()).        | | `int` | [TYPE_NO_TEMPLATE](https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#TYPE_NO_TEMPLATE) Type identifier of[ControlTemplate.getNoTemplateObject](https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#getNoTemplateObject()). | | `int` | [TYPE_RANGE](https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#TYPE_RANGE) Type identifier of[RangeTemplate](https://developer.android.com/reference/android/service/controls/templates/RangeTemplate).                                                           | | `int` | [TYPE_STATELESS](https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#TYPE_STATELESS) Type identifier of[StatelessTemplate](https://developer.android.com/reference/android/service/controls/templates/StatelessTemplate).                                           | | `int` | [TYPE_TEMPERATURE](https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#TYPE_TEMPERATURE) Type identifier of[TemperatureControlTemplate](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate).                     | | `int` | [TYPE_THUMBNAIL](https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#TYPE_THUMBNAIL) Type identifier of[ThumbnailTemplate](https://developer.android.com/reference/android/service/controls/templates/ThumbnailTemplate).                                           | | `int` | [TYPE_TOGGLE](https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#TYPE_TOGGLE) Type identifier of[ToggleTemplate](https://developer.android.com/reference/android/service/controls/templates/ToggleTemplate).                                                       | | `int` | [TYPE_TOGGLE_RANGE](https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#TYPE_TOGGLE_RANGE) Type identifier of[ToggleRangeTemplate](https://developer.android.com/reference/android/service/controls/templates/ToggleRangeTemplate).                                 | |

|                                                                                                                                                                                                                                                                                                                                      ### Public constructors                                                                                                                                                                                                                                                                                                                                      ||
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| ` `[TemperatureControlTemplate](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#TemperatureControlTemplate(java.lang.String,%20android.service.controls.templates.ControlTemplate,%20int,%20int,%20int))`(`[String](https://developer.android.com/reference/java/lang/String)` templateId, `[ControlTemplate](https://developer.android.com/reference/android/service/controls/templates/ControlTemplate)` controlTemplate, int currentMode, int currentActiveMode, int modesFlag) ` Construct a new[TemperatureControlTemplate](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate). |

|                                                                                                                                                 ### Public methods                                                                                                                                                 ||
|------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` int`                                                                                                           | ` `[getCurrentActiveMode](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#getCurrentActiveMode())`() `                                     |
| ` int`                                                                                                           | ` `[getCurrentMode](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#getCurrentMode())`() `                                                 |
| ` int`                                                                                                           | ` `[getModes](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#getModes())`() `                                                             |
| ` `[ControlTemplate](https://developer.android.com/reference/android/service/controls/templates/ControlTemplate) | ` `[getTemplate](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#getTemplate())`() `                                                       |
| ` int`                                                                                                           | ` `[getTemplateType](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#getTemplateType())`() ` The template type associated with this class. |

| ### Inherited methods |
|-----------------------|---|
| From class` `[android.service.controls.templates.ControlTemplate](https://developer.android.com/reference/android/service/controls/templates/ControlTemplate)` ` |-------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` static `[ControlTemplate](https://developer.android.com/reference/android/service/controls/templates/ControlTemplate) | ` `[getErrorTemplate](https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#getErrorTemplate())`() `                                                                                                                                                                          | | ` static `[ControlTemplate](https://developer.android.com/reference/android/service/controls/templates/ControlTemplate) | ` `[getNoTemplateObject](https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#getNoTemplateObject())`() ` Get a singleton[ControlTemplate](https://developer.android.com/reference/android/service/controls/templates/ControlTemplate), which supports no direct user input. | | ` `[String](https://developer.android.com/reference/java/lang/String)                                                   | ` `[getTemplateId](https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#getTemplateId())`() `                                                                                                                                                                                | | ` abstract int`                                                                                                         | ` `[getTemplateType](https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#getTemplateType())`() ` The template type associated with this class.                                                                                                                              | ||
| From class` `[java.lang.Object](https://developer.android.com/reference/java/lang/Object)` ` |--------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` `[Object](https://developer.android.com/reference/java/lang/Object)          | ` `[clone](https://developer.android.com/reference/java/lang/Object#clone())`() ` Creates and returns a copy of this object.                                                                                                                                                      | | ` boolean`                                                                     | ` `[equals](https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object))`(`[Object](https://developer.android.com/reference/java/lang/Object)` obj) ` Indicates whether some other object is "equal to" this one.                                           | | ` void`                                                                        | ` `[finalize](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 `[Class](https://developer.android.com/reference/java/lang/Class)`<?>` | ` `[getClass](https://developer.android.com/reference/java/lang/Object#getClass())`() ` Returns the runtime class of this`Object`.                                                                                                                                                | | ` int`                                                                         | ` `[hashCode](https://developer.android.com/reference/java/lang/Object#hashCode())`() ` Returns a hash code value for the object.                                                                                                                                                 | | ` final void`                                                                  | ` `[notify](https://developer.android.com/reference/java/lang/Object#notify())`() ` Wakes up a single thread that is waiting on this object's monitor.                                                                                                                            | | ` final void`                                                                  | ` `[notifyAll](https://developer.android.com/reference/java/lang/Object#notifyAll())`() ` Wakes up all threads that are waiting on this object's monitor.                                                                                                                         | | ` `[String](https://developer.android.com/reference/java/lang/String)          | ` `[toString](https://developer.android.com/reference/java/lang/Object#toString())`() ` Returns a string representation of the object.                                                                                                                                            | | ` final void`                                                                  | ` `[wait](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`                                                                  | ` `[wait](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`                                                                  | ` `[wait](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*.                                                                                             | ||

## Constants

### FLAG_MODE_COOL

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

```
public static final int FLAG_MODE_COOL
```

Flag to indicate that the device supports cool mode.

<br />

Constant Value: 8 (0x00000008)  

### FLAG_MODE_ECO

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

```
public static final int FLAG_MODE_ECO
```

Flag to indicate that the device supports eco mode.

<br />

Constant Value: 32 (0x00000020)  

### FLAG_MODE_HEAT

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

```
public static final int FLAG_MODE_HEAT
```

Flag to indicate that the device supports heat mode.

<br />

Constant Value: 4 (0x00000004)  

### FLAG_MODE_HEAT_COOL

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

```
public static final int FLAG_MODE_HEAT_COOL
```

Flag to indicate that the device supports heat-cool mode.

<br />

Constant Value: 16 (0x00000010)  

### FLAG_MODE_OFF

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

```
public static final int FLAG_MODE_OFF
```

Flag to indicate that the device supports off mode.

<br />

Constant Value: 2 (0x00000002)  

### MODE_COOL

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

```
public static final int MODE_COOL
```

Indicates that the current or active mode of the device is set to cool.  
Value is[MODE_UNKNOWN](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_UNKNOWN),[MODE_OFF](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_OFF),[MODE_HEAT](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_HEAT),[MODE_COOL](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_COOL),[MODE_HEAT_COOL](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_HEAT_COOL), or[MODE_ECO](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_ECO)

<br />

Constant Value: 3 (0x00000003)  

### MODE_ECO

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

```
public static final int MODE_ECO
```

Indicates that the current or active mode of the device is set to eco.  
Value is[MODE_UNKNOWN](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_UNKNOWN),[MODE_OFF](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_OFF),[MODE_HEAT](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_HEAT),[MODE_COOL](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_COOL),[MODE_HEAT_COOL](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_HEAT_COOL), or[MODE_ECO](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_ECO)

<br />

Constant Value: 5 (0x00000005)  

### MODE_HEAT

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

```
public static final int MODE_HEAT
```

Indicates that the current or active mode of the device is set to heat.  
Value is[MODE_UNKNOWN](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_UNKNOWN),[MODE_OFF](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_OFF),[MODE_HEAT](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_HEAT),[MODE_COOL](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_COOL),[MODE_HEAT_COOL](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_HEAT_COOL), or[MODE_ECO](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_ECO)

<br />

Constant Value: 2 (0x00000002)  

### MODE_HEAT_COOL

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

```
public static final int MODE_HEAT_COOL
```

Indicates that the current or active mode of the device is set to heat-cool.  
Value is[MODE_UNKNOWN](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_UNKNOWN),[MODE_OFF](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_OFF),[MODE_HEAT](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_HEAT),[MODE_COOL](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_COOL),[MODE_HEAT_COOL](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_HEAT_COOL), or[MODE_ECO](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_ECO)

<br />

Constant Value: 4 (0x00000004)  

### MODE_OFF

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

```
public static final int MODE_OFF
```

Indicates that the current or active mode of the device is off.  
Value is[MODE_UNKNOWN](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_UNKNOWN),[MODE_OFF](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_OFF),[MODE_HEAT](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_HEAT),[MODE_COOL](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_COOL),[MODE_HEAT_COOL](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_HEAT_COOL), or[MODE_ECO](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_ECO)

<br />

Constant Value: 1 (0x00000001)  

### MODE_UNKNOWN

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

```
public static final int MODE_UNKNOWN
```

Use when the current or active mode of the device is not known  
Value is[MODE_UNKNOWN](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_UNKNOWN),[MODE_OFF](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_OFF),[MODE_HEAT](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_HEAT),[MODE_COOL](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_COOL),[MODE_HEAT_COOL](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_HEAT_COOL), or[MODE_ECO](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_ECO)

<br />

Constant Value: 0 (0x00000000)

## Public constructors

### TemperatureControlTemplate

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

```
public TemperatureControlTemplate (String templateId, 
                ControlTemplate controlTemplate, 
                int currentMode, 
                int currentActiveMode, 
                int modesFlag)
```

Construct a new[TemperatureControlTemplate](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate). The current and active mode have to be among the ones supported by the flags.

<br />

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Parameters                                                                                                                                                                                                                                                                                                                                                                                                                                                                         ||
|---------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `templateId`        | `String`: the identifier for this template object This value cannot be`null`. <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `controlTemplate`   | `ControlTemplate`: a template to use for interaction with the user This value cannot be`null`. <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `currentMode`       | `int`: the current mode for the[Control](https://developer.android.com/reference/android/service/controls/Control)Value is[MODE_UNKNOWN](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_UNKNOWN),[MODE_OFF](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_OFF),[MODE_HEAT](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_HEAT),[MODE_COOL](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_COOL),[MODE_HEAT_COOL](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_HEAT_COOL), or[MODE_ECO](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_ECO) <br />        |
| `currentActiveMode` | `int`: the current active mode for the[Control](https://developer.android.com/reference/android/service/controls/Control)Value is[MODE_UNKNOWN](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_UNKNOWN),[MODE_OFF](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_OFF),[MODE_HEAT](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_HEAT),[MODE_COOL](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_COOL),[MODE_HEAT_COOL](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_HEAT_COOL), or[MODE_ECO](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#MODE_ECO) <br /> |
| `modesFlag`         | `int`: a flag representing the available modes for the[Control](https://developer.android.com/reference/android/service/controls/Control)Value is either`0`or a combination of[FLAG_MODE_OFF](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#FLAG_MODE_OFF),[FLAG_MODE_HEAT](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#FLAG_MODE_HEAT),[FLAG_MODE_COOL](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#FLAG_MODE_COOL),[FLAG_MODE_HEAT_COOL](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#FLAG_MODE_HEAT_COOL), and[FLAG_MODE_ECO](https://developer.android.com/reference/android/service/controls/templates/TemperatureControlTemplate#FLAG_MODE_ECO) <br />                                    |

|                                                                             Throws                                                                             ||
|--------------------------------------------------------------------------------------------------------|--------------------------------------------------------|
| [IllegalArgumentException](https://developer.android.com/reference/java/lang/IllegalArgumentException) | if the parameters passed do not make a valid template. |

## Public methods

### getCurrentActiveMode

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

```
public int getCurrentActiveMode ()
```

<br />

<br />

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

### getCurrentMode

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

```
public int getCurrentMode ()
```

<br />

<br />

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

### getModes

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

```
public int getModes ()
```

<br />

<br />

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

### getTemplate

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

```
public ControlTemplate getTemplate ()
```

<br />

<br />

|                                                                      Returns                                                                      ||
|---------------------------------------------------------------------------------------------------------------|------------------------------------|
| [ControlTemplate](https://developer.android.com/reference/android/service/controls/templates/ControlTemplate) | 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` | [ControlTemplate.TYPE_TEMPERATURE](https://developer.android.com/reference/android/service/controls/templates/ControlTemplate#TYPE_TEMPERATURE) <br /> |