summaryrefslogtreecommitdiff
path: root/android/app/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'android/app/src/main')
-rw-r--r--android/app/src/main/java/org/terst/doot/widget/ui/WidgetRows.kt14
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()