]> git.earman.xyz Git - sensor-watch.git/commitdiff
display closest deadline on activation
authorKonrad Rieck <rieck@tu-berlin.de>
Sat, 9 Sep 2023 13:40:57 +0000 (15:40 +0200)
committerMatheus Afonso Martins Moreira <matheus@matheusmoreira.com>
Sat, 7 Sep 2024 22:59:04 +0000 (19:59 -0300)
movement/watch_faces/complication/deadline_face.c

index 01ddc12de5256a34500462f7f52ec6cd5b6c6e8b..0796bd4572b4451bad49e961c4eef574fd356596 100644 (file)
@@ -503,6 +503,18 @@ void deadline_face_activate(movement_settings_t *settings, void *context)
     /* Set display options */
     _running_init(settings, state);
     state->mode = DEADLINE_FACE_RUNNING;
+
+    /* Determine closest deadline */
+    watch_date_time now = watch_rtc_get_date_time();
+    uint32_t now_ts = watch_utility_date_time_to_unix_time(now, _get_tz_offset(settings));
+    uint32_t min_ts = UINT32_MAX;
+
+    for (uint8_t i = 0; i < DEADLINE_FACE_DATES; i++) {
+        if (state->deadlines[i] < now_ts || state->deadlines[i] > min_ts)
+            continue;
+        min_ts = state->deadlines[i];
+        state->current_index = i;
+    }
 }
 
 /* Loop face */