# GoalProgressComplicationData.Builder

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/Data.kt+class:androidx.wear.watchface.complications.data.GoalProgressComplicationData.Builder) Added in [1.2.0](https://developer.android.com/jetpack/androidx/releases/wear-watchface#1.2.0)

*** ** * ** ***

<br />

```
@RequiresApi(value = 33)
public final class GoalProgressComplicationData.Builder
```

<br />

*** ** * ** ***

Builder for `https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData`.

You must at a minimum set the `https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData.Builder#targetValue()` and `https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData.Builder#contentDescription()` fields, one of `https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData.Builder#value()` or `https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData.Builder#dynamicValue()`, and at least one of `https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData.Builder#monochromaticImage()`, `https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData.Builder#smallImage()`, `https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData.Builder#text()` or `https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData.Builder#title()`.

## Summary

| ### Public constructors |
|---|
| `@https://developer.android.com/reference/androidx/annotation/RequiresApi(value = 34) https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData.Builder#Builder(androidx.wear.protolayout.expression.DynamicBuilders.DynamicFloat,kotlin.Float,androidx.wear.watchface.complications.data.ComplicationText)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicFloat dynamicValue, float targetValue, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationText contentDescription )` Creates a `https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData.Builder` for a `https://developer.android.com/reference/androidx/wear/watchface/complications/data/RangedValueComplicationData` with a `https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicFloat` value, and no `fallbackValue` for API levels known to support dynamic values. |
| `https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData.Builder#Builder(kotlin.Float,kotlin.Float,androidx.wear.watchface.complications.data.ComplicationText)( float value, float targetValue, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationText contentDescription )` Creates a `https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData.Builder` for a `https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData` with a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` value. |
| `@https://developer.android.com/reference/androidx/annotation/RequiresApi(value = 33) https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData.Builder#Builder(androidx.wear.protolayout.expression.DynamicBuilders.DynamicFloat,kotlin.Float,kotlin.Float,androidx.wear.watchface.complications.data.ComplicationText)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicFloat dynamicValue, float fallbackValue, float targetValue, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationText contentDescription )` Creates a `https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData.Builder` for a `https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData` with a `https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicFloat` value. |

| ### Public methods |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData` | `https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData.Builder#build()()` Builds the `https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData`. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData.Builder` | `https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData.Builder#setColorRamp(androidx.wear.watchface.complications.data.ColorRamp)(https://developer.android.com/reference/androidx/wear/watchface/complications/data/ColorRamp colorRamp)` Sets an optional hint which suggests the renderer draws the complication using a `https://developer.android.com/reference/androidx/wear/watchface/complications/data/ColorRamp`. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData.Builder` | `https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData.Builder#setMonochromaticImage(androidx.wear.watchface.complications.data.MonochromaticImage)(https://developer.android.com/reference/androidx/wear/watchface/complications/data/MonochromaticImage monochromaticImage)` Sets optional icon associated with the complication data. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData.Builder` | `https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData.Builder#setSmallImage(androidx.wear.watchface.complications.data.SmallImage)(https://developer.android.com/reference/androidx/wear/watchface/complications/data/SmallImage smallImage)` Sets optional image associated with the complication data. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData.Builder` | `https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData.Builder#setTapAction(android.app.PendingIntent)(https://developer.android.com/reference/android/app/PendingIntent.html tapAction)` Sets optional pending intent to be invoked when the complication is tapped. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData.Builder` | `https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData.Builder#setText(androidx.wear.watchface.complications.data.ComplicationText)(https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationText text)` Sets optional text associated with the complication data. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData.Builder` | `https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData.Builder#setTitle(androidx.wear.watchface.complications.data.ComplicationText)(https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationText title)` Sets optional title associated with the complication data. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData.Builder` | `https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData.Builder#setValidTimeRange(androidx.wear.watchface.complications.data.TimeRange)(https://developer.android.com/reference/androidx/wear/watchface/complications/data/TimeRange validTimeRange)` Sets optional time range during which the complication has to be shown. |

## Public constructors

### Builder

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

```
@RequiresApi(value = 34)
public Builder(
    @NonNull DynamicBuilders.DynamicFloat dynamicValue,
    float targetValue,
    @NonNull ComplicationText contentDescription
)
```

Creates a `https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData.Builder` for a `https://developer.android.com/reference/androidx/wear/watchface/complications/data/RangedValueComplicationData` with a `https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicFloat` value, and no `fallbackValue` for API levels known to support dynamic values.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicFloat dynamicValue` | The `https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicFloat` of the goal complication which will be evaluated into a value dynamically, and should be \>= 0. |
| `float targetValue` | The target value. This must be less than `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/-companion/-m-a-x_-v-a-l-u-e.html`. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationText contentDescription` | Defines localized text that briefly describes content of the complication. This property is used primarily for accessibility. Since some complications do not have textual representation this attribute can be used for providing such. Please do not include the word 'complication' in the description. |

### Builder

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

```
public Builder(
    float value,
    float targetValue,
    @NonNull ComplicationText contentDescription
)
```

Creates a `https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData.Builder` for a `https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData` with a `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` value.

| Parameters |
|---|---|
| `float value` | The value of the goal complication which should be \>= 0. |
| `float targetValue` | The target value. This must be less than `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/-companion/-m-a-x_-v-a-l-u-e.html`. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationText contentDescription` | Defines localized text that briefly describes content of the complication. This property is used primarily for accessibility. Since some complications do not have textual representation this attribute can be used for providing such. Please do not include the word 'complication' in the description. |

### Builder

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

```
@RequiresApi(value = 33)
public Builder(
    @NonNull DynamicBuilders.DynamicFloat dynamicValue,
    float fallbackValue,
    float targetValue,
    @NonNull ComplicationText contentDescription
)
```

Creates a `https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData.Builder` for a `https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData` with a `https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicFloat` value.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicFloat dynamicValue` | The `https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicFloat` of the goal complication which will be evaluated into a value dynamically, and should be \>= 0. |
| `float fallbackValue` | The fallback value of the goal complication which will be used on systems that don't support `https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData.Builder#(androidx.wear.protolayout.expression.DynamicBuilders.DynamicFloat,kotlin.Float,kotlin.Float,androidx.wear.watchface.complications.data.ComplicationText)`, and should be \>= 0. 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/androidx/wear/watchface/complications/data/GoalProgressComplicationData.Builder#(androidx.wear.protolayout.expression.DynamicBuilders.DynamicFloat,kotlin.Float,kotlin.Float,androidx.wear.watchface.complications.data.ComplicationText)` *at all* . See `https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData.Builder#setDynamicValueInvalidationFallback(androidx.wear.watchface.complications.data.GoalProgressComplicationData)` for the situation where the `https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData.Builder#(androidx.wear.protolayout.expression.DynamicBuilders.DynamicFloat,kotlin.Float,kotlin.Float,androidx.wear.watchface.complications.data.ComplicationText)` cannot be evaluated, e.g. when a data source is not available. |
| `float targetValue` | The target value. This must be less than `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/-companion/-m-a-x_-v-a-l-u-e.html`. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationText contentDescription` | Defines localized text that briefly describes content of the complication. This property is used primarily for accessibility. Since some complications do not have textual representation this attribute can be used for providing such. Please do not include the word 'complication' in the description. |

## Public methods

### build

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

```
public @NonNull GoalProgressComplicationData build()
```

Builds the `https://developer.android.com/reference/androidx/wear/watchface/complications/data/GoalProgressComplicationData`.

### setColorRamp

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

```
public final @NonNull GoalProgressComplicationData.Builder setColorRamp(ColorRamp colorRamp)
```

Sets an optional hint which suggests the renderer draws the complication using a `https://developer.android.com/reference/androidx/wear/watchface/complications/data/ColorRamp`.

### setMonochromaticImage

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

```
public final @NonNull GoalProgressComplicationData.Builder setMonochromaticImage(MonochromaticImage monochromaticImage)
```

Sets optional icon associated with the complication data.

### setSmallImage

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

```
public final @NonNull GoalProgressComplicationData.Builder setSmallImage(SmallImage smallImage)
```

Sets optional image associated with the complication data.

### setTapAction

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

```
public final @NonNull GoalProgressComplicationData.Builder setTapAction(PendingIntent tapAction)
```

Sets optional pending intent to be invoked when the complication is tapped.

### setText

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

```
public final @NonNull GoalProgressComplicationData.Builder setText(ComplicationText text)
```

Sets optional text associated with the complication data.

### setTitle

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

```
public final @NonNull GoalProgressComplicationData.Builder setTitle(ComplicationText title)
```

Sets optional title associated with the complication data.

### setValidTimeRange

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

```
public final @NonNull GoalProgressComplicationData.Builder setValidTimeRange(TimeRange validTimeRange)
```

Sets optional time range during which the complication has to be shown.