From 175a08f386575dced13365f179b44ea1f208a839 Mon Sep 17 00:00:00 2001 From: Riku Isokoski Date: Tue, 18 Jan 2022 19:08:03 +0200 Subject: Improved alarm alert handling diff --git a/src/displayapp/screens/Alarm.cpp b/src/displayapp/screens/Alarm.cpp index 879e50d..3ae6480 100644 --- a/src/displayapp/screens/Alarm.cpp +++ b/src/displayapp/screens/Alarm.cpp @@ -255,6 +255,17 @@ void Alarm::SetAlerting() { lv_obj_set_hidden(btnStop, false); taskStopAlarm = lv_task_create(StopAlarmTaskCallback, pdMS_TO_TICKS(60 * 1000), LV_TASK_PRIO_MID, this); systemTask.PushMessage(System::Messages::DisableSleeping); + SetEnableButtonState(); +} + +void Alarm::StopAlarm() { + alarmController.StopAlerting(); + SetEnableButtonState(); + if (taskStopAlarm != nullptr) { + lv_task_del(taskStopAlarm); + taskStopAlarm = nullptr; + } + systemTask.PushMessage(System::Messages::EnableSleeping); } void Alarm::StopAlerting() { diff --git a/src/displayapp/screens/Alarm.h b/src/displayapp/screens/Alarm.h index fed8d66..03dfd58 100644 --- a/src/displayapp/screens/Alarm.h +++ b/src/displayapp/screens/Alarm.h @@ -54,6 +54,7 @@ namespace Pinetime { enum class EnableButtonState { On, Off, Alerting }; void SetRecurButtonState(); void SetSwitchState(lv_anim_enable_t anim); + void OnAlarmStart(); void ShowInfo(); void HideInfo(); void ToggleRecurrence(); -- cgit v0.10.2