diff options
| -rw-r--r-- | android/app/src/main/java/org/terst/doot/widget/ui/WidgetRows.kt | 14 |
1 files changed, 14 insertions, 0 deletions
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() |
