From c8dd9a12ebbe27f3ac3b967b43c1f6ed0449e8d9 Mon Sep 17 00:00:00 2001 From: Peter Stone Date: Wed, 15 Jul 2026 18:48:27 +0000 Subject: feat(widget): show project color as a small accent on task rows --- .../src/main/java/org/terst/doot/widget/ui/WidgetRows.kt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'android') diff --git a/android/app/src/main/java/org/terst/doot/widget/ui/WidgetRows.kt b/android/app/src/main/java/org/terst/doot/widget/ui/WidgetRows.kt index 084b277..1c7e454 100644 --- a/android/app/src/main/java/org/terst/doot/widget/ui/WidgetRows.kt +++ b/android/app/src/main/java/org/terst/doot/widget/ui/WidgetRows.kt @@ -31,6 +31,11 @@ fun sourceColor(source: String): Color = when (source) { else -> Color(0xFF888888) } +/** Parses a "#RRGGBB" string into a Glance-compatible Color, defaulting to gray on failure. */ +internal fun parseGlanceHexColor(hex: String): Color = runCatching { + Color(android.graphics.Color.parseColor(hex)) +}.getOrDefault(Color.Gray) + /** Opens the event's source URL (Google Calendar, Plan to Eat, etc.) directly. */ fun calendarViewIntent(url: String): Intent = Intent(Intent.ACTION_VIEW, Uri.parse(url.ifEmpty { "https://calendar.google.com" })).apply { @@ -276,6 +281,15 @@ fun TaskRow(task: WidgetItem, textSize: WidgetTextSize) { ) {} } + if (task.projectColor != null) { + Box( + modifier = GlanceModifier + .size(6.dp) + .background(parseGlanceHexColor(task.projectColor)) + ) {} + Spacer(modifier = GlanceModifier.width(4.dp)) + } + Box( modifier = GlanceModifier .defaultWeight() -- cgit v1.2.3