summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/displayapp/screens/Alarm.cpp11
-rw-r--r--src/displayapp/screens/Alarm.h1
2 files changed, 12 insertions, 0 deletions
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();