diff options
| author | Victor Kareh <vkareh@redhat.com> | 2025-11-18 10:33:54 -0500 |
|---|---|---|
| committer | JF <JF002@users.noreply.github.com> | 2025-12-13 21:31:50 +0100 |
| commit | 66b5977f39bf22e0641be43766439a3ed025d604 (patch) | |
| tree | c1d37a11918291bdd950310c8c490f857e47923e /src/displayapp/DisplayApp.cpp | |
| parent | a4918c0e96c17d98452e150e821565ee03aaa90b (diff) | |
timer: Refactor ringing state management
Consolidate timer ringing logic and use Timer component as single source
of truth for expired state.
Diffstat (limited to 'src/displayapp/DisplayApp.cpp')
| -rw-r--r-- | src/displayapp/DisplayApp.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/displayapp/DisplayApp.cpp b/src/displayapp/DisplayApp.cpp index 85e0ad56..35330fb7 100644 --- a/src/displayapp/DisplayApp.cpp +++ b/src/displayapp/DisplayApp.cpp @@ -372,15 +372,15 @@ void DisplayApp::Refresh() { if (state != States::Running) { PushMessageToSystemTask(System::Messages::GoToRunning); } + lv_disp_trig_activity(nullptr); // Load timer app if not loaded if (currentApp != Apps::Timer) { LoadNewScreen(Apps::Timer, DisplayApp::FullRefreshDirections::Up); + } else { + // Set the timer to ringing mode if already loaded + auto* timerScreen = static_cast<Screens::Timer*>(currentScreen.get()); + timerScreen->SetTimerRinging(); } - // 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: |
