diff --git a/src/c/main.c b/src/c/main.c index b701877..a9f8e02 100644 --- a/src/c/main.c +++ b/src/c/main.c @@ -290,10 +290,17 @@ static void inbox_received_handler(DictionaryIterator *iter, void *context) { // handle alarm reset requests if (dict_find(iter, MESSAGE_KEY_PKJS_ALARM_RESET)) { + wakeup_service_subscribe(NULL); the_time.HourWIP = 0; the_time.MinuteWIP = 0; s_alarm_reason = WAKE_MAIN_ALARM; schedule_alarm(WAKE_MAIN_ALARM); + if (!schedule_alarm(WAKE_MAIN_ALARM)) { + return; // leave the failure status window visible + } + persist_write_int(STORAGE_KEY_ALARM_HOUR, the_time.HourSet); + persist_write_int(STORAGE_KEY_ALARM_MINUTE, the_time.MinuteSet); + window_stack_pop_all(true); return; }