diff options
Diffstat (limited to 'src/displayapp/DisplayApp.cpp')
| -rw-r--r-- | src/displayapp/DisplayApp.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/displayapp/DisplayApp.cpp b/src/displayapp/DisplayApp.cpp index 45a41032..85e0ad56 100644 --- a/src/displayapp/DisplayApp.cpp +++ b/src/displayapp/DisplayApp.cpp @@ -368,19 +368,21 @@ void DisplayApp::Refresh() { case Messages::NewNotification: LoadNewScreen(Apps::NotificationsPreview, DisplayApp::FullRefreshDirections::Down); break; - case Messages::TimerDone: + case Messages::TimerDone: { if (state != States::Running) { PushMessageToSystemTask(System::Messages::GoToRunning); } - if (currentApp == Apps::Timer) { - lv_disp_trig_activity(nullptr); - auto* timer = static_cast<Screens::Timer*>(currentScreen.get()); - timer->Reset(); - } else { + // Load timer app if not loaded + if (currentApp != Apps::Timer) { LoadNewScreen(Apps::Timer, DisplayApp::FullRefreshDirections::Up); } - motorController.RunForDuration(35); + // Set the timer to ringing mode + lv_disp_trig_activity(nullptr); + auto* timerScreen = static_cast<Screens::Timer*>(currentScreen.get()); + timerScreen->SetTimerRinging(); + motorController.StartRinging(); break; + } case Messages::AlarmTriggered: if (currentApp == Apps::Alarm) { auto* alarm = static_cast<Screens::Alarm*>(currentScreen.get()); |
