in WatchFaceAlphaKotlin/app/src/main/java/com/example/android/wearable/alpha/utils/ComplicationUtils.kt [77:131]
fun createComplicationSlotManager(
context: Context,
currentUserStyleRepository: CurrentUserStyleRepository,
drawableId: Int = DEFAULT_COMPLICATION_STYLE_DRAWABLE_ID
): ComplicationSlotsManager {
val defaultCanvasComplicationFactory =
CanvasComplicationFactory { watchState, listener ->
CanvasComplicationDrawable(
ComplicationDrawable.getDrawable(context, drawableId)!!,
watchState,
listener
)
}
val leftComplication = ComplicationSlot.createRoundRectComplicationSlotBuilder(
id = ComplicationConfig.Left.id,
canvasComplicationFactory = defaultCanvasComplicationFactory,
supportedTypes = ComplicationConfig.Left.supportedTypes,
defaultDataSourcePolicy = DefaultComplicationDataSourcePolicy(
SystemDataSources.DATA_SOURCE_DAY_OF_WEEK
),
bounds = ComplicationSlotBounds(
RectF(
LEFT_COMPLICATION_LEFT_BOUND,
LEFT_AND_RIGHT_COMPLICATIONS_TOP_BOUND,
LEFT_COMPLICATION_RIGHT_BOUND,
LEFT_AND_RIGHT_COMPLICATIONS_BOTTOM_BOUND
)
)
).setDefaultDataSourceType(ComplicationType.SHORT_TEXT)
.build()
val rightComplication = ComplicationSlot.createRoundRectComplicationSlotBuilder(
id = ComplicationConfig.Right.id,
canvasComplicationFactory = defaultCanvasComplicationFactory,
supportedTypes = ComplicationConfig.Right.supportedTypes,
defaultDataSourcePolicy = DefaultComplicationDataSourcePolicy(
SystemDataSources.DATA_SOURCE_STEP_COUNT
),
bounds = ComplicationSlotBounds(
RectF(
RIGHT_COMPLICATION_LEFT_BOUND,
LEFT_AND_RIGHT_COMPLICATIONS_TOP_BOUND,
RIGHT_COMPLICATION_RIGHT_BOUND,
LEFT_AND_RIGHT_COMPLICATIONS_BOTTOM_BOUND
)
)
).setDefaultDataSourceType(ComplicationType.SHORT_TEXT)
.build()
return ComplicationSlotsManager(
listOf(leftComplication, rightComplication),
currentUserStyleRepository
)
}