in InteractiveSliceProviderKotlin/app/src/main/java/com/example/android/interactivesliceprovider/slicebuilders/RideSliceBuilder.kt [44:107]
override fun buildSlice(): Slice {
val colorSpan = ForegroundColorSpan(-0xf062a8)
val headerSubtitle = SpannableString("Ride in 4 min").apply {
setSpan(
colorSpan, 8, length,
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
)
}
val homeSubtitle = SpannableString("12 miles | 12 min | $9.00").apply {
setSpan(
colorSpan, 20, length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
)
}
val workSubtitle = SpannableString("44 miles | 1 hour 45 min | $31.41").apply {
setSpan(
colorSpan, 27, length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
)
}
val action = SliceAction.create(
SliceActionsBroadcastReceiver.getIntent(
context, InteractiveSliceProvider.ACTION_TOAST, "get ride"
),
IconCompat.createWithResource(context, drawable.ic_car),
ListBuilder.ICON_IMAGE,
"Get Ride"
)
return list(context, sliceUri, TimeUnit.SECONDS.toMillis(10)) {
setAccentColor(ContextCompat.getColor(context, R.color.slice_accent_color))
header {
title = "Get ride"
subtitle = headerSubtitle
summary = "Ride to work in 12 min | Ride home in 1 hour 45 min"
primaryAction = action
}
row {
title = "Work"
subtitle = workSubtitle
addEndItem(
SliceAction.create(
SliceActionsBroadcastReceiver.getIntent(
context, InteractiveSliceProvider.ACTION_TOAST, "work"
),
IconCompat.createWithResource(context, drawable.ic_work),
ListBuilder.ICON_IMAGE,
"Get ride to work"
)
)
}
row {
title = "Home"
subtitle = homeSubtitle
addEndItem(
SliceAction.create(
SliceActionsBroadcastReceiver.getIntent(
context, InteractiveSliceProvider.ACTION_TOAST, "home"
),
IconCompat.createWithResource(context, drawable.ic_home),
ListBuilder.ICON_IMAGE,
"Get ride home"
)
)
}
}
}