From b5316c5a774c313b9b737b6a2b677417d1f64c13 Mon Sep 17 00:00:00 2001 From: Randall Winkhart Date: Sun, 2 Aug 2026 10:10:38 -0400 Subject: [PATCH] Don't act like an alarm has been set if there has been a failure --- src/c/main.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/c/main.c b/src/c/main.c index 37087e0..e8492e3 100644 --- a/src/c/main.c +++ b/src/c/main.c @@ -127,10 +127,6 @@ static void setter_down_click_handler(void *recognizer, void *ctx) { static void setter_select_click_handler(void *recognizer, void *ctx) { if (s_highlight_pos == 2) { - // copy WIP time to set time - s_setter_time.HourSet = s_setter_time.HourWIP; - s_setter_time.MinuteSet = s_setter_time.MinuteWIP; - // schedule wakeup time_t now = time(NULL); struct tm now_tm = *localtime(&now); @@ -143,13 +139,19 @@ static void setter_select_click_handler(void *recognizer, void *ctx) { target += SECONDS_PER_DAY; } wakeup_cancel_all(); - wakeup_schedule(target, 0, true); - for (int i = 0; i < 7; ++i) { + WakeupId status; + for (int i = 0; i < 8; ++i) { + status = wakeup_schedule(target, 0, true); + if (status < 0) { + APP_LOG(APP_LOG_LEVEL_DEBUG, "SCHEDULING ERROR: %d", status); + return; + } target += SECONDS_PER_DAY; - wakeup_schedule(target, 0, true); } // persist + s_setter_time.HourSet = s_setter_time.HourWIP; + s_setter_time.MinuteSet = s_setter_time.MinuteWIP; persist_write_int(STORAGE_KEY_ALARM_HOUR, s_setter_time.HourSet); persist_write_int(STORAGE_KEY_ALARM_MINUTE, s_setter_time.MinuteSet);