in WearComplicationDataSourcesTestSuite/Wearable/src/main/java/com/example/android/wearable/wear/wearcomplicationproviderstestsuite/RangedValueDataSourceService.kt [47:69]
override suspend fun onComplicationRequest(request: ComplicationRequest): ComplicationData? {
if (request.complicationType != ComplicationType.RANGED_VALUE) {
return null
}
val args = ComplicationToggleArgs(
providerComponent = ComponentName(this, javaClass),
complication = Complication.RANGED_VALUE,
complicationInstanceId = request.complicationInstanceId
)
val complicationTogglePendingIntent =
ComplicationToggleReceiver.getComplicationToggleIntent(
context = this,
args = args
)
// Suspending function to retrieve the complication's state
val state = args.getState(this)
val case = Case.values()[state.mod(Case.values().size)]
return getComplicationData(
tapAction = complicationTogglePendingIntent,
case = case
)
}