The value of a data source, which updates a real-time value that appears on the watch face.
Introduced in Wear OS 4.
Time and day
The Watch Face Format supports the following data sources related to the time and day:
UTC_TIMESTAMP
- The number of milliseconds that have elapsed since midnight UTC on January 1, 1970.
MILLISECOND
- An integer value that represents the millisecond field of a
ZonedDateTime
object for the current time. This value is always between0
and999
, inclusive. SECOND
- An integer value that represents the second field of a
ZonedDateTime
object for the current time. This value is always between0
and59
, inclusive. SECOND_Z
- A string that represents the second field of a
ZonedDateTime
object for the current time, with leading zeros to make the value 2 characters long. This value is always between00
and59
, inclusive. SECOND_MILLISECOND
- A floating-point value that combines the second and millisecond fields of a
ZonedDateTime
object that represents the current time. This value is always between0.0
and59.999
, inclusive. SECONDS_IN_DAY
- The number of seconds that have elapsed during the current day, based on the
values for
HOUR_0_23
,MINUTE
, andSECOND
. This value is always between0
and86399
($ 24 * 60 * 60 - 1 $), inclusive. MINUTE
- An integer value that represents the minute field of a
ZonedDateTime
object for the current time. This value is always between0
and59
, inclusive. MINUTE_Z
- A string value that represents the minute field of a
ZonedDateTime
object for the current time, with leading zeros to make the value 2 characters long. This value is always between00
and59
, inclusive. MINUTE_SECOND
- A floating-point value that combines the minute and second fields of a
ZonedDateTime
object that represents the current time. This value is always between0.0
and $ 59 \frac{59}{60} $, inclusive. HOUR_0_11
- The 12-hour component of the current time, represented as a value between
0
and11
inclusive. If the currentCLOCK_HOUR_OF_AMPM
is12
, such as in12:34 PM
, this value is converted to0
. HOUR_0_11_Z
- A string that represents the 12-hour component of the current time -- from
00
to11
inclusive -- using the Wear OS device's current time zone. If this value is less than10
, it includes a leading zero. HOUR_0_11_MINUTE
- A floating-point value the combines a modified
CLOCK_HOUR_OF_AMPM
field and minute field of aZonedDateTime
object that represents the current time. This value is always between0.0
and $ 11 \frac{59}{60} $, inclusive. HOUR_1_12
- The 12-hour component of the current time, represented as a value between
1
and12
inclusive. If the currentHOUR_OF_DAY
is0
, such as in0:12
(12:12 AM), this value is converted to12
. HOUR_1_12_Z
- A string that represents the 12-hour component of the current time -- from
01
to12
inclusive -- using the Wear OS device's current time zone. If this value is less than10
, it includes a leading zero. HOUR_1_12_MINUTE
- A floating-point value the combines the
CLOCK_HOUR_OF_AMPM
and minute fields of aZonedDateTime
object that represents the current time. This value is always between1.0
and $ 12 \frac{59}{60} $, inclusive. HOUR_0_23
- The 24-hour component of the current time, represented as a value between
0
and23
inclusive. If the value is24
, such as in24:13
(12:13 AM the next day), this value is converted to0
. HOUR_0_23_Z
- A string that represents the 24-hour component of the current time -- from
00
to23
inclusive -- using the Wear OS device's current time zone. If this value is less than10
, it includes a leading zero. HOUR_0_23_MINUTE
- A floating-point value the combines the hour and minute fields of a
ZonedDateTime
object that represents the current time. This value is always between0.0
and $ 23 \frac{59}{60} $, inclusive. HOUR_1_24
- The 24-hour component of the current time, represented as a value between
1
and24
inclusive. If the value is0
, such as in0:12
(12:12 AM), this value is converted to24
. HOUR_1_24_Z
- A string that represents the 12-hour component of the current time -- from
01
to24
inclusive -- using the Wear OS device's current time zone. If this value is less than10
, it includes a leading zero. HOUR_1_24_MINUTE
- A floating-point value the combines a modified hour field and minute field of
a
ZonedDateTime
object that represents the current time. This value is always between1.0
and $ 24 \frac{59}{60} $, inclusive. DAY
- An integer value that represents the day field of a
ZonedDateTime
object for the current date. This value is always between1
and31
, inclusive. DAY_Z
- A string value that represents the day field of a
ZonedDateTime
object for the current date, with leading zeros to make the value 2 characters long. This value is always between01
and31
, inclusive. DAY_HOUR
- A floating-point value that combines the day-of-month and hour fields of a
ZonedDateTime
object that represents the current date and time. This value is always between1.0
and $ 31 \frac{23}{24} $, inclusive. DAY_0_30
- A modified version of the
getDayOfMonth()
value of aZonedDateTime
object that represents the current date, subtracted by 1. This value is always between0
and30
, inclusive. DAY_0_30_HOUR
- A floating-point value that combines a modified day-of-month field and hour
field of a
ZonedDateTime
object that represents the current date and time. This value is always between0.0
and $ 30 \frac{23}{24} $, inclusive. DAY_OF_YEAR
- The number of days that have started since the calendar year changed. This
value is always between
1
and366
inclusive, and has a maximum value of365
during non-leap years. DAY_OF_WEEK
- A modified version of the
getDayOfWeek()
value from aZonedDateTime
object that represents the current date. The Watch Face Format assigns a value of1
to represent Sunday and a value of7
to represent Saturday. DAY_OF_WEEK_F
- The current day of the week, represented as a full-length string. Examples
include
Sunday
andMonday
. DAY_OF_WEEK_S
- The current day of the week, represented as a shortened string. Examples
include
Sun
andMon
. MONTH
- An integer value that represents the month field of a
ZonedDateTime
object for the current date. This value is always between1
and12
, inclusive. MONTH_Z
- A string value that represents the month field of a
ZonedDateTime
object for the current date, with leading zeros to make the value 2 characters long. This value is always between01
and12
, inclusive. MONTH_F
- The current month of the year, represented as a full-length string. Examples
include
January
andDecember
. MONTH_S
- The current month of the year, represented as a shortened string. Examples
include
Jan
andDec
. DAYS_IN_MONTH
- The number of days in the current month. This value is either
28
or29
during February,30
during April, June, September, and November, and31
during all other months of the Gregorian calendar. MONTH_DAY
- A floating-point value that combines the month-of-year field and modified
day-of-month field of a
ZonedDateTime
object that represents the current date. This value is always between1.0
and $ 12 \frac{29}{30} $, inclusive. MONTH_0_11
- A modified version of the
getMonthValue()
value from aZonedDateTime
object that represents the current date. This value assigns a value of0
to January and a value of11
to December. MONTH_0_11_DAY
- A floating-point value that combines a modified month-of-year field and
modified day-of-month field of a
ZonedDateTime
object that represents the current date. This value is always between0.0
and $ 11 \frac{29}{30} $, inclusive. YEAR
- An integer value that represents the year field of a
ZonedDateTime
object for the current date. This value is clamped to always be between1902
and2100
, inclusive. YEAR_S
- A 2-digit integer that represents the last 2 digits of the current year. For
example, the value for 2023 is
23
. YEAR_MONTH
- A floating-point value that combines the year field and modified day-of-month
field of a
ZonedDateTime
object that represents the current date. January 2023 is represented as2023.0
, and December 2023 is represented as $ 2023 \frac {11}{12} $. YEAR_MONTH_DAY
- A floating-point value that combines the year field, a modified month-of-year
field, and a modified day-of-month field of a
ZonedDateTime
object that represents the current date. January 1, 2023 is represented as2023.0
, and December 31, 2023 is represented as $ 2023 \frac{11 \frac{29}{30}}{12} \approx 2023.9972 $. WEEK_IN_MONTH
- An integer that represents the value of the
ALIGNED_WEEK_OF_MONTH
of aChronoField
object that represents the current date. This value is always between0
and5
, inclusive. WEEK_IN_YEAR
- An integer that represents the value of the
ALIGNED_WEEK_OF_YEAR
of aChronoField
object that represents the current date. This value is always between1
and53
, inclusive. IS_24_HOUR_MODE
- A boolean value that is equivalent to the current return value of
is24HourFormat()
, based on the user's chosen locale and preferences. IS_DAYLIGHT_SAVING_TIME
- A boolean value that is equivalent to calling
useDaylightTime()
on theTimeZone
object for the current locale. Indicates whether the currently-set time zone observes daylight saving time. TIMEZONE
- A string that is equivalent to calling
getDisplayName()
on theTimeZone
object for the current locale. Returns the full time zone name, such as "Eastern Standard Time" for New York City's time zone during the winter. TIMEZONE_ABB
- A string that is equivalent to calling an overloaded version of
getDisplayName()
on theTimeZone
object for the current locale, where the given style isSHORT
. Returns an abbreviated time zone name, such as "EST" for New York City's time zone during the winter. TIMEZONE_ID
- A string that is equivalent to calling
getId()
on theTimeZone
object for the current locale. Returns an IANA time zone ID value, such asAmerica/New_York
for New York City's time zone. TIMEZONE_OFFSET
- A string that is equivalent to calling
getRawOffset()
on theTimeZone
object for the current locale. This value is always between-12
and+14
, inclusive. Returns the value that should be added to UTC to get the standard time for the current time zone (not corrected for daylight saving time). TIMEZONE_OFFSET_DST
- A string that is equivalent to passing the current date into
getOffset()
on theTimeZone
object for the current locale. This value is always between-12
and+14
, inclusive. Returns the value that should be added to UTC to get the current local time, with daylight saving time taken into account if necessary. AMPM_STATE
- An integer that indicates whether the current time is before noon, or is noon
or later. Possible values include
0
for AM and1
for PM. AMPM_POSITION
An integer that indicates where the AM or PM indicator should appear within a time string. Contains one of the following values:
0
means that AM or PM should appear at the beginning of the string, such asAM 12:03
.1
means that AM or PM should appear at the end of the string, such as12:03 AM
.-1
means that it's unknown where AM or PM should appear in the string.
AMPM_STRING
A 2-character string that indicates the AM or PM status of the current time. The value is either "AM" or "PM".
Moon phase
The Watch Face Format supports the following data sources related to the moon phase:
MOON_PHASE_POSITION
- An integer value indicating the number of days that have started since the
most recent new moon. This value is always between
0
and28
, inclusive. MOON_PHASE_TYPE
An integer that encodes the current moon phase. Possible values include the following:
0
for the most recent new moon1
for an evening crescent moon2
for a first-quarter moon3
for a waxing gibbous moon4
for a full moon5
for a waning gibbous moon6
for a last-quarter moon7
for a morning crescent moon
MOON_PHASE_TYPE_STRING
A string that represents the current moon phase. Possible values include the following:
- New Moon, when less than 0.5 day has elapsed, or more than 27.5 days have elapsed, since the most recent new moon.
- Evening Crescent, when at least 0.5 day but less than 6.5 days have elapsed since the most recent new moon.
- First Quarter, when at least 6.5 days but less than 7.5 days have elapsed since the most recent new moon.
- Waxing Gibbous, when at least 7.5 days but less than 13.5 days have elapsed since the most recent new moon.
- Full Moon, when at least 13.5 days but less than 14.5 days have elapsed since the most recent new moon.
- Waning Gibbous, when at least 14.5 days but less than 20.5 days have elapsed since the most recent new moon.
- Last Quarter, when at least 20.5 days but less than 21.5 days have elapsed since the most recent new moon.
- Morning Crescent, when at least 21.5 days but less than 27.5 days have elapsed since the most recent new moon.
Language
The Watch Face Format supports the following data sources related to the user's language:
LANGUAGE_LOCALE_NAME
- A string that represents the Wear OS device's current locale, expressed as a
2-character ISO 639-1 language code, an underscore, and a
2-character ISO 3166-1 region code. The United States variant
of English is represented as
en_US
.
Health data
The Watch Face Format supports the following data sources related to the user's health data:
STEP_COUNT
- The number of steps that the user has taken so far today, according to the Wear OS device sensors.
STEP_GOAL
- The number of steps that the user has selected as their daily step goal. This
value is never less than
1000
. STEP_PERCENT
- An integer indicating the progress that the user has made toward their step
goal today, expressed as a rounded percentage. This value is always between
0
and100
, inclusive. HEART_RATE
- The user's current heart rate, according to the Wear OS device sensors. This
value is always between
0
and240
, inclusive. HEART_RATE_Z
- A string that represents the user's current heart rate, according to the Wear
OS device sensors. This value is padded with zeros on the left as needed to make
the value at least 2 characters long. So if the user's heart rate is measured as
65, this value is
65
. If the user's heart rate is measured as 0, this value is00
.
Device sensors
The Watch Face Format supports the following data sources related to the device's sensors:
ACCELEROMETER_IS_SUPPORTED
- Boolean value indicating whether the watch face can obtain accelerometer data from the current Wear OS device's sensors.
ACCELEROMETER_X
- A floating-point value that indicates the current linear acceleration along the x-axis, according to the Wear OS device's accelerometer. Positive values indicate that, when the watch face is pointing at the sky or ceiling, the Wear OS device is accelerating to the right.
ACCELEROMETER_Y
- A floating-point value that indicates the current linear acceleration along the y-axis, according to the Wear OS device's accelerometer. Positive values indicate that, when the watch face is pointing at the sky or ceiling, the Wear OS device is accelerating in the 12 o'clock (top) direction along the watch face.
ACCELEROMETER_Z
A floating-point value that indicates the current linear acceleration along the z-axis, according to the Wear OS device's accelerometer. Positive values indicate that, when the watch face is pointing at the sky or ceiling, the Wear OS device is accelerating toward the sky or ceiling.
ACCELEROMETER_ANGLE_X
A floating-point value that indicates the current angular acceleration, in degrees, relative to the x-axis. This value is always in the range $ [-90.0, 90.0 $].
ACCELEROMETER_ANGLE_Y
A floating-point value that indicates the current angular acceleration, in degrees, relative to the y-axis. This value is always in the range $ [-90.0, 90.0 $].
ACCELEROMETER_ANGLE_Z
A floating-point value that indicates the current angular acceleration, in degrees, relative to the z-axis. This value is always in the range $ [-90.0, 90.0 $].
ACCELEROMETER_ANGLE_XY
A floating-point value that is the sum of
ACCELEROMETER_ANGLE_X
andACCELEROMETER_ANGLE_Y
.
Device battery
The Watch Face Format supports the following data sources related to the device's current battery status:
BATTERY_PERCENT
- An integer that indicates the Wear OS device's current battery charge,
expressed as a percentage. A value of
100
indicates that the battery is full; a value of0
indicates that the battery is critically low. BATTERY_CHARGING_STATUS
- A boolean that indicates whether the Wear OS device's battery is charging. If
the battery is done charging and full, this value is
true
. BATTERY_IS_LOW
- A boolean that indicates whether the Wear OS device's battery is at 20% or
lower and is discharging. If the battery is charging, this value is
false
. BATTERY_TEMPERATURE_CELSIUS
- A floating-point value that indicates the temperature of the Wear OS device's battery, in degrees Celsius. The battery's raw temperature value, in tenths of a degree Celsius, is divided by 10 to get this value.
BATTERY_TEMPERATURE_FAHRENHEIT
- A floating-point value that indicates the temperature of the Wear OS device's battery, in degrees Fahrenheit. This is a conversion from degrees Celsius.
Notifications
The Watch Face Format supports the following data source related to the device's notifications:
UNREAD_NOTIFICATION_COUNT
- A string that represents the number of notifications delivered to this Wear OS device that the user hasn't yet read.
Recommended for you
- Note: link text is displayed when JavaScript is off
- ArithmeticExpression
- Use synthetic data with Health Services
- ListConfiguration