# DynamicComplicationText

Artifact: [androidx.wear.watchface:watchface-complications-data](https://developer.android.com/jetpack/androidx/releases/wear-watchface) [View Source](https://cs.android.com/search?q=file:androidx/wear/watchface/complications/data/Text.kt+class:androidx.wear.watchface.complications.data.DynamicComplicationText) Added in [1.2.0](https://developer.android.com/jetpack/androidx/releases/wear-watchface#1.2.0)

*** ** * ** ***

<br />

```
@RequiresApi(value = 33)
class DynamicComplicationText : ComplicationText
```

<br />

*** ** * ** ***

A `https://developer.android.com/reference/kotlin/androidx/wear/watchface/complications/data/ComplicationText` where the system evaluates a `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicBuilders.DynamicString`. By the time this reaches the watch face's Renderer, it'll have been converted to a plain ComplicationText.

## Summary

| ### Public constructors |
|---|
| `@https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi(value = 34) https://developer.android.com/reference/kotlin/androidx/wear/watchface/complications/data/DynamicComplicationText#DynamicComplicationText(androidx.wear.protolayout.expression.DynamicBuilders.DynamicString)(dynamicValue: https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicBuilders.DynamicString)` Creates a `https://developer.android.com/reference/kotlin/androidx/wear/watchface/complications/data/DynamicComplicationText` with no `https://developer.android.com/reference/kotlin/androidx/wear/watchface/complications/data/DynamicComplicationText#fallbackValue()` for API levels that are known to support dynamic values. |
| `https://developer.android.com/reference/kotlin/androidx/wear/watchface/complications/data/DynamicComplicationText#DynamicComplicationText(androidx.wear.protolayout.expression.DynamicBuilders.DynamicString,kotlin.CharSequence)( dynamicValue: https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicBuilders.DynamicString, fallbackValue: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-char-sequence/index.html )` |

| ### Public functions |
|---|---|
| `open operator https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/wear/watchface/complications/data/DynamicComplicationText#equals(kotlin.Any)(other: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?)` |
| `open https://developer.android.com/reference/java/time/Instant.html` | `https://developer.android.com/reference/kotlin/androidx/wear/watchface/complications/data/DynamicComplicationText#getNextChangeTime(java.time.Instant)(afterInstant: https://developer.android.com/reference/java/time/Instant.html)` Returns the next time after `https://developer.android.com/reference/kotlin/androidx/wear/watchface/complications/data/ComplicationText#getNextChangeTime(java.time.Instant)` at which the text may change. |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-char-sequence/index.html` | `https://developer.android.com/reference/kotlin/androidx/wear/watchface/complications/data/DynamicComplicationText#getTextAt(android.content.res.Resources,java.time.Instant)(resources: https://developer.android.com/reference/android/content/res/Resources.html, instant: https://developer.android.com/reference/java/time/Instant.html)` Returns the text that should be displayed for the given timestamp. |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/wear/watchface/complications/data/DynamicComplicationText#hashCode()()` |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/wear/watchface/complications/data/DynamicComplicationText#isAlwaysEmpty()()` |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/wear/watchface/complications/data/DynamicComplicationText#returnsSameText(java.time.Instant,java.time.Instant)(firstInstant: https://developer.android.com/reference/java/time/Instant.html, secondInstant: https://developer.android.com/reference/java/time/Instant.html)` Returns true if the result of `https://developer.android.com/reference/kotlin/androidx/wear/watchface/complications/data/ComplicationText#getTextAt(android.content.res.Resources,java.time.Instant)` will be the same for both `https://developer.android.com/reference/kotlin/androidx/wear/watchface/complications/data/ComplicationText#returnsSameText(java.time.Instant,java.time.Instant)` and `https://developer.android.com/reference/kotlin/androidx/wear/watchface/complications/data/ComplicationText#returnsSameText(java.time.Instant,java.time.Instant)`. |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | `https://developer.android.com/reference/kotlin/androidx/wear/watchface/complications/data/DynamicComplicationText#toString()()` |

| ### Public properties |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicBuilders.DynamicString` | `https://developer.android.com/reference/kotlin/androidx/wear/watchface/complications/data/DynamicComplicationText#dynamicValue()` The `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicBuilders.DynamicString` which will be evaluated into a value dynamically. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-char-sequence/index.html` | `https://developer.android.com/reference/kotlin/androidx/wear/watchface/complications/data/DynamicComplicationText#fallbackValue()` Used when the system does not support `https://developer.android.com/reference/kotlin/androidx/wear/watchface/complications/data/DynamicComplicationText#dynamicValue()`. |

## Public constructors

### DynamicComplicationText

Added in [1.3.0](https://developer.android.com/jetpack/androidx/releases/wear-watchface#1.3.0)

```
@RequiresApi(value = 34)
DynamicComplicationText(dynamicValue: DynamicBuilders.DynamicString)
```

Creates a `https://developer.android.com/reference/kotlin/androidx/wear/watchface/complications/data/DynamicComplicationText` with no `https://developer.android.com/reference/kotlin/androidx/wear/watchface/complications/data/DynamicComplicationText#fallbackValue()` for API levels that are known to support dynamic values.

### DynamicComplicationText

Added in [1.2.0](https://developer.android.com/jetpack/androidx/releases/wear-watchface#1.2.0)

```
DynamicComplicationText(
    dynamicValue: DynamicBuilders.DynamicString,
    fallbackValue: CharSequence
)
```

| Parameters |
|---|---|
| `dynamicValue: https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicBuilders.DynamicString` | The `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicBuilders.DynamicString` which will be evaluated into a value dynamically. |
| `fallbackValue: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-char-sequence/index.html` | Used when the system does not support `https://developer.android.com/reference/kotlin/androidx/wear/watchface/complications/data/DynamicComplicationText#dynamicValue()`. This is only relevant before `https://developer.android.com/reference/android/os/Build.VERSION_CODES.html#UPSIDE_DOWN_CAKE`, use the no-fallback constructor if you target an equal or higher API level. IMPORTANT: This is only used when the system does not support `https://developer.android.com/reference/kotlin/androidx/wear/watchface/complications/data/DynamicComplicationText#dynamicValue()` *at all* . See `https://developer.android.com/reference/kotlin/androidx/wear/watchface/complications/data/ComplicationData#dynamicValueInvalidationFallback()` for the situation where the `https://developer.android.com/reference/kotlin/androidx/wear/watchface/complications/data/DynamicComplicationText#dynamicValue()` cannot be evaluated, e.g. when a data source is not available. |

## Public functions

### equals

```
open operator fun equals(other: Any?): Boolean
```

### getNextChangeTime

```
open fun getNextChangeTime(afterInstant: Instant): Instant
```

Returns the next time after `https://developer.android.com/reference/kotlin/androidx/wear/watchface/complications/data/ComplicationText#getNextChangeTime(java.time.Instant)` at which the text may change.

### getTextAt

```
open fun getTextAt(resources: Resources, instant: Instant): CharSequence
```

Returns the text that should be displayed for the given timestamp.

| Parameters |
|---|---|
| `resources: https://developer.android.com/reference/android/content/res/Resources.html` | `https://developer.android.com/reference/android/content/res/Resources.html` from the current context |
| `instant: https://developer.android.com/reference/java/time/Instant.html` | The `https://developer.android.com/reference/java/time/Instant.html` at which to sample the text |

### hashCode

```
open fun hashCode(): Int
```

### isAlwaysEmpty

```
open fun isAlwaysEmpty(): Boolean
```

### returnsSameText

```
open fun returnsSameText(firstInstant: Instant, secondInstant: Instant): Boolean
```

Returns true if the result of `https://developer.android.com/reference/kotlin/androidx/wear/watchface/complications/data/ComplicationText#getTextAt(android.content.res.Resources,java.time.Instant)` will be the same for both `https://developer.android.com/reference/kotlin/androidx/wear/watchface/complications/data/ComplicationText#returnsSameText(java.time.Instant,java.time.Instant)` and `https://developer.android.com/reference/kotlin/androidx/wear/watchface/complications/data/ComplicationText#returnsSameText(java.time.Instant,java.time.Instant)`.

### toString

```
open fun toString(): String
```

## Public properties

### dynamicValue

Added in [1.2.0](https://developer.android.com/jetpack/androidx/releases/wear-watchface#1.2.0)

```
val dynamicValue: DynamicBuilders.DynamicString
```

The `https://developer.android.com/reference/kotlin/androidx/wear/protolayout/expression/DynamicBuilders.DynamicString` which will be evaluated into a value dynamically.

### fallbackValue

Added in [1.2.0](https://developer.android.com/jetpack/androidx/releases/wear-watchface#1.2.0)

```
val fallbackValue: CharSequence
```

Used when the system does not support `https://developer.android.com/reference/kotlin/androidx/wear/watchface/complications/data/DynamicComplicationText#dynamicValue()`.

This is only relevant before `https://developer.android.com/reference/android/os/Build.VERSION_CODES.html#UPSIDE_DOWN_CAKE`, use the no-fallback constructor if you target an equal or higher API level.

IMPORTANT: This is only used when the system does not support `https://developer.android.com/reference/kotlin/androidx/wear/watchface/complications/data/DynamicComplicationText#dynamicValue()` *at all* . See `https://developer.android.com/reference/kotlin/androidx/wear/watchface/complications/data/ComplicationData#dynamicValueInvalidationFallback()` for the situation where the `https://developer.android.com/reference/kotlin/androidx/wear/watchface/complications/data/DynamicComplicationText#dynamicValue()` cannot be evaluated, e.g. when a data source is not available.