Stay organized with collections
Save and categorize content based on your preferences.
A
complication
is any feature that is displayed on a watch face in addition to the time.
For example, a battery
indicator is a complication. The
Complications API
is for both watch faces and data source apps.
The rest of this document describes data sources, watch faces, and
complication types.
Complication data source
Apps that provide data such as
battery level, weather, or step counts to watch faces for
complications are called complication data sources. These data
sources supply raw data
and are not responsible for controlling how their data is rendered on a
watch face.
To learn about writing apps that provide data to watch faces, see
Expose data to
complications.
The following diagram shows how Wear OS by Google mediates the flow of data
from sources to watch faces.
Figure 1. The flow of complication data.
Complications on watch faces
Watch faces receive data from complication data sources, which lets them
include
complications without needing code for getting the underlying data. Watch
faces retain
control over how the data is rendered, so they can integrate data
naturally with their
design. For more information, see the design guide about
Complications.
Complication types define what kinds of data can be shown in a
complication or supplied by
a data source. For example, use the SHORT_TEXT type when the
data consists
primarily of a short string. A
ComplicationData object always has a single
complication type that defines required and optional fields. A required
field
represents the primary piece of data; most types take their name from
the required field.
Data sources use complication types differently from watch faces:
A data source chooses the types of complication data to supply,
including which optional fields of those types to supply, and
how many different types can be supported. For example, a step-count
source might support the RANGED_VALUE and
SHORT_TEXT types,
and a next-meeting source might support the SHORT_TEXT
and LONG_TEXT types.
You can choose how many complications to include in your watch face
and the complication
types to support. For example, a dial complication on a watch face
might support
the SHORT_TEXT, ICON, and
RANGED_VALUE types.
A gauge on the watch face might support only the
RANGED_VALUE type.
To learn more about different complication types and fields supported by
each type, see
Complication types.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2024-11-12 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-11-12 UTC."],[],[],null,["# About complications\n\nA\n[complication](https://en.wikipedia.org/wiki/Complication_(horology))\nis any feature that is displayed on a watch face in addition to the time.\nFor example, a battery\nindicator is a complication. The\n[Complications API](/reference/kotlin/androidx/wear/watchface/complications/package-summary)\nis for both watch faces and data source apps.\n\n\nThe rest of this document describes data sources, watch faces, and\ncomplication types.\n\nComplication data source\n------------------------\n\nApps that provide data such as\nbattery level, weather, or step counts to watch faces for\ncomplications are called *complication data sources* . These data\nsources supply raw data\nand are not responsible for controlling how their data is rendered on a\nwatch face.\nTo learn about writing apps that provide data to watch faces, see\n[Expose data to\ncomplications](/training/wearables/exposing-data-complications).\n\nThe following diagram shows how Wear OS by Google mediates the flow of data\nfrom sources to watch faces.\n**Figure 1.** The flow of complication data.\n\nComplications on watch faces\n----------------------------\n\nWatch faces receive data from complication data sources, which lets them\ninclude\ncomplications without needing code for getting the underlying data. Watch\nfaces retain\ncontrol over how the data is rendered, so they can integrate data\nnaturally with their\ndesign. For more information, see the design guide about\n[Complications](/training/wearables/design/complications).\n\nTo learn how to add complications to a watch face, see\n[Add complications to a watch face](/training/wearables/watch-faces/adding-complications).\n\nComplication types\n------------------\n\nComplication types define what kinds of data can be shown in a\ncomplication or supplied by\na data source. For example, use the `SHORT_TEXT` type when the\ndata consists\nprimarily of a short string. A\n[`ComplicationData`](/reference/androidx/wear/watchface/complications/data/ComplicationData) object always has a single\ncomplication type that defines required and optional fields. A required\nfield\nrepresents the primary piece of data; most types take their name from\nthe required field.\n\nData sources use complication types differently from watch faces:\n\n- A data source chooses the types of complication data to supply, including which optional fields of those types to supply, and how many different types can be supported. For example, a step-count source might support the `RANGED_VALUE` and `SHORT_TEXT` types, and a next-meeting source might support the `SHORT_TEXT` and `LONG_TEXT` types.\n- You can choose how many complications to include in your watch face and the complication types to support. For example, a dial complication on a watch face might support the `SHORT_TEXT`, `ICON`, and `RANGED_VALUE` types. A gauge on the watch face might support only the `RANGED_VALUE` type.\n\nTo learn more about different complication types and fields supported by\neach type, see\n[Complication types](/training/wearables/watch-faces/adding-complications#types-fields)."]]