Stay organized with collections
Save and categorize content based on your preferences.
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 2025-05-15 UTC.
[null,null,["Last updated 2025-05-15 UTC."],[],[],null,["# androidx.wear.watchface.complications.datasource\n================================================\n\n*** ** * ** ***\n\n[Kotlin](/reference/kotlin/androidx/wear/watchface/complications/datasource/package-summary \"View this page in Kotlin\") \\|Java\n\nInterfaces\n----------\n\n|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [ComplicationDataSourceService.ComplicationRequestListener](/reference/androidx/wear/watchface/complications/datasource/ComplicationDataSourceService.ComplicationRequestListener) | Callback for [onComplicationRequest](/reference/androidx/wear/watchface/complications/datasource/ComplicationDataSourceService#onComplicationRequest(androidx.wear.watchface.complications.datasource.ComplicationRequest,androidx.wear.watchface.complications.datasource.ComplicationDataSourceService.ComplicationRequestListener)) where only one of [onComplicationData](/reference/androidx/wear/watchface/complications/datasource/ComplicationDataSourceService.ComplicationRequestListener#onComplicationData(androidx.wear.watchface.complications.data.ComplicationData)) or [onComplicationDataTimeline](/reference/androidx/wear/watchface/complications/datasource/ComplicationDataSourceService.ComplicationRequestListener#onComplicationDataTimeline(androidx.wear.watchface.complications.datasource.ComplicationDataTimeline)) should be called. |\n| [ComplicationDataSourceUpdateRequester](/reference/androidx/wear/watchface/complications/datasource/ComplicationDataSourceUpdateRequester) | Allows complication complication data source to request update calls from the system. |\n\nClasses\n-------\n\n|----------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [ComplicationDataSourceService](/reference/androidx/wear/watchface/complications/datasource/ComplicationDataSourceService) | Class for sources of complication data. |\n| [ComplicationDataTimeline](/reference/androidx/wear/watchface/complications/datasource/ComplicationDataTimeline) | A collection of TimelineEntry items. |\n| [ComplicationRequest](/reference/androidx/wear/watchface/complications/datasource/ComplicationRequest) | Data associated with complication request in [ComplicationDataSourceService.onComplicationRequest](/reference/androidx/wear/watchface/complications/datasource/ComplicationDataSourceService#onComplicationRequest(androidx.wear.watchface.complications.datasource.ComplicationRequest,androidx.wear.watchface.complications.datasource.ComplicationDataSourceService.ComplicationRequestListener)). |\n| [SuspendingComplicationDataSourceService](/reference/androidx/wear/watchface/complications/datasource/SuspendingComplicationDataSourceService) | Kotlin coroutine wrapper for [ComplicationDataSourceService](/reference/androidx/wear/watchface/complications/datasource/ComplicationDataSourceService) producing [ComplicationData](/reference/androidx/wear/watchface/complications/data/ComplicationData). |\n| [SuspendingTimelineComplicationDataSourceService](/reference/androidx/wear/watchface/complications/datasource/SuspendingTimelineComplicationDataSourceService) | Kotlin coroutine wrapper for [ComplicationDataSourceService](/reference/androidx/wear/watchface/complications/datasource/ComplicationDataSourceService) producing [ComplicationDataTimeline](/reference/androidx/wear/watchface/complications/datasource/ComplicationDataTimeline). |\n| [TimeInterval](/reference/androidx/wear/watchface/complications/datasource/TimeInterval) | A time interval, typically used to describe the validity period of a [TimelineEntry](/reference/androidx/wear/watchface/complications/datasource/TimelineEntry). |\n| [TimelineEntry](/reference/androidx/wear/watchface/complications/datasource/TimelineEntry) | One piece of renderable content along with the time that it is valid for. |\n| [TargetWatchFaceSafety](/reference/androidx/wear/watchface/complications/datasource/TargetWatchFaceSafety) | Defines constants that describe whether or not the watch face the complication is being requested for is deemed to be safe. |"]]