# NoDataComplicationData

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.NoDataComplicationData) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/wear-watchface#1.0.0)

*** ** * ** ***

<br />

```
public final class NoDataComplicationData extends ComplicationData
```

<br />

|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object.html) |||
| ↳ | [androidx.wear.watchface.complications.data.ComplicationData](https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationData) ||
|   | ↳ | [androidx.wear.watchface.complications.data.NoDataComplicationData](https://developer.android.com/reference/androidx/wear/watchface/complications/data/NoDataComplicationData) |

*** ** * ** ***

Type that can be sent by any complication data source, regardless of the configured type, when the complication data source has no data to be displayed. If no `https://developer.android.com/reference/androidx/wear/watchface/complications/data/NoDataComplicationData#placeholder()` is included then watch faces may choose whether to render this in some way or leave the slot empty.

If a `https://developer.android.com/reference/androidx/wear/watchface/complications/data/NoDataComplicationData#placeholder()` is included than its expected that it will be rendered. Its suggested the watch face renders the placeholder elements (text, title, smallImage, etc...) using solid grey blocks. Any non-placeholder elements included in `https://developer.android.com/reference/androidx/wear/watchface/complications/data/NoDataComplicationData#placeholder()` must be rendered normally.

Some watchfaces may not support placeholders and in that case the NoDataComplicationData will be treated as being empty.

## Summary

| ### Public fields |
|---|---|
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationType` | `https://developer.android.com/reference/androidx/wear/watchface/complications/data/NoDataComplicationData#TYPE()` The `https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationType` corresponding to objects of this type. |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/wear/watchface/complications/data/NoDataComplicationData#NoDataComplicationData()()` Constructs a NoDataComplicationData without a `https://developer.android.com/reference/androidx/wear/watchface/complications/data/NoDataComplicationData#placeholder()`. |
| `https://developer.android.com/reference/androidx/wear/watchface/complications/data/NoDataComplicationData#NoDataComplicationData(androidx.wear.watchface.complications.data.ComplicationData)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationData placeholder)` Constructs a NoDataComplicationData with a `https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationData` which is allowed to contain placeholder fields (see `https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationData#hasPlaceholderFields()`) which must be drawn to look like placeholders. |

| ### Public methods |
|---|---|
| `final https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationText` | `https://developer.android.com/reference/androidx/wear/watchface/complications/data/NoDataComplicationData#getContentDescription()()` The content description field for accessibility. |
| `final https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationData` | `https://developer.android.com/reference/androidx/wear/watchface/complications/data/NoDataComplicationData#getInvalidatedData()()` An optional value that describes the original `https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationData` that was provided by the data source, following invalidation (see evaluation description in `https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationData`). |
| `final https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationData` | `https://developer.android.com/reference/androidx/wear/watchface/complications/data/NoDataComplicationData#getPlaceholder()()` An optional `https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationData` which may contain placeholder fields (see `https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationData#hasPlaceholderFields()`). |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/wear/watchface/complications/data/NoDataComplicationData#toString()()` |

### Inherited methods

From [androidx.wear.watchface.complications.data.ComplicationData](https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationData) `boolean` `https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationData#equals(kotlin.Any)(https://developer.android.com/reference/java/lang/Object.html other)` `final https://developer.android.com/reference/android/content/ComponentName.html` `https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationData#getDataSource()()`

The `https://developer.android.com/reference/android/content/ComponentName.html` of the `https://developer.android.com/reference/androidx/wear/watchface/complications/datasource/ComplicationDataSourceService` that provided the ComplicationData.
`final int` `https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationData#getDisplayPolicy()()`

The `https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationDisplayPolicies` for this complication.
`final https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationData` `https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationData#getDynamicValueInvalidationFallback()()`

Used in case any dynamic value has been invalidated.
`final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/os/PersistableBundle.html` `https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationData#getExtras()()`

A copy of any extras set by a complication provider with the privileged permission `com.google.wear.permission.SET_COMPLICATION_EXTRAS` or `https://developer.android.com/reference/android/os/PersistableBundle.html#EMPTY`.
`@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/time/Instant.html` `https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationData#getNextChangeInstant(java.time.Instant)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/time/Instant.html afterInstant)`

Returns the next `https://developer.android.com/reference/java/time/Instant.html` after `https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationData#getNextChangeInstant(java.time.Instant)` at which any field of the complication may change.
`final int` `https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationData#getPersistencePolicy()()`

The `https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationPersistencePolicies` for this complication.
`final https://developer.android.com/reference/android/app/PendingIntent.html` `https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationData#getTapAction()()`

The `https://developer.android.com/reference/android/app/PendingIntent.html` to send when the complication is tapped on.
`final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationType` `https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationData#getType()()`

The `https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationType` of this complication data.
`final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/wear/watchface/complications/data/TimeRange` `https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationData#getValidTimeRange()()`

The `https://developer.android.com/reference/androidx/wear/watchface/complications/data/TimeRange` within which the complication should be displayed.
`boolean` `https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationData#hasPlaceholderFields()()`

Returns `true` if any of the fields of this ComplicationData are placeholders.
`int` `https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationData#hashCode()()` `final boolean` `https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationData#isTapActionLostDueToSerialization()()`

`https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationData#tapAction()` which is a `https://developer.android.com/reference/android/app/PendingIntent.html` unfortunately can't be serialized.
`final void` `https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationData#setTapActionLostDueToSerialization(kotlin.Boolean)(boolean value)`

`https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationData#tapAction()` which is a `https://developer.android.com/reference/android/app/PendingIntent.html` unfortunately can't be serialized.

## Public fields

### TYPE

```
public static final @NonNull ComplicationType TYPE
```

The `https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationType` corresponding to objects of this type.

## Public constructors

### NoDataComplicationData

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

```
public NoDataComplicationData()
```

Constructs a NoDataComplicationData without a `https://developer.android.com/reference/androidx/wear/watchface/complications/data/NoDataComplicationData#placeholder()`.

### NoDataComplicationData

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

```
public NoDataComplicationData(@NonNull ComplicationData placeholder)
```

Constructs a NoDataComplicationData with a `https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationData` which is allowed to contain placeholder fields (see `https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationData#hasPlaceholderFields()`) which must be drawn to look like placeholders. E.g. with grey boxes / arcs.

## Public methods

### getContentDescription

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

```
public final ComplicationText getContentDescription()
```

The content description field for accessibility.

### getInvalidatedData

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

```
public final ComplicationData getInvalidatedData()
```

An optional value that describes the original `https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationData` that was provided by the data source, following invalidation (see evaluation description in `https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationData`). This is set by the system for privileged watch faces with the `com.google.wear.permission.GET_COMPLICATION_DYNAMIC_VALUE` permission.

### getPlaceholder

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

```
public final ComplicationData getPlaceholder()
```

An optional `https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationData` which may contain placeholder fields (see `https://developer.android.com/reference/androidx/wear/watchface/complications/data/ComplicationData#hasPlaceholderFields()`). The type of the placeholder must match the type of the ComplicationData that would have otherwise been sent. The placeholder is expected to be rendered if the watch face has been built with a compatible library, older libraries which don't support placeholders will ignore this field.

### toString

```
public @NonNull String toString()
```