From 66b5977f39bf22e0641be43766439a3ed025d604 Mon Sep 17 00:00:00 2001 From: Victor Kareh Date: Tue, 18 Nov 2025 10:33:54 -0500 Subject: timer: Refactor ringing state management Consolidate timer ringing logic and use Timer component as single source of truth for expired state. --- src/displayapp/DisplayApp.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/displayapp/DisplayApp.cpp') 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(currentScreen.get()); + timerScreen->SetTimerRinging(); } - // Set the timer to ringing mode - lv_disp_trig_activity(nullptr); - auto* timerScreen = static_cast(currentScreen.get()); - timerScreen->SetTimerRinging(); - motorController.StartRinging(); break; } case Messages::AlarmTriggered: -- cgit v1.2.3-70-g09d2