@@ -129,14 +129,19 @@ void DisplayApp::InitHw() {
129129}
130130
131131void DisplayApp::Refresh () {
132+ auto LoadPreviousScreen = [this ]() {
133+ brightnessController.Set (settingsController.GetBrightness ());
134+ LoadApp (returnToApp, returnDirection);
135+ };
136+
132137 TickType_t queueTimeout;
133138 switch (state) {
134139 case States::Idle:
135140 queueTimeout = portMAX_DELAY;
136141 break ;
137142 case States::Running:
138143 if (!currentScreen->IsRunning ()) {
139- LoadApp (returnToApp, returnDirection );
144+ LoadPreviousScreen ( );
140145 }
141146 queueTimeout = lv_task_handler ();
142147 break ;
@@ -149,12 +154,10 @@ void DisplayApp::Refresh() {
149154 if (xQueueReceive (msgQueue, &msg, queueTimeout)) {
150155 switch (msg) {
151156 case Messages::DimScreen:
152- // Backup brightness is the brightness to return to after dimming or sleeping
153- brightnessController.Backup ();
154157 brightnessController.Set (Controllers::BrightnessController::Levels::Low);
155158 break ;
156159 case Messages::RestoreBrightness:
157- brightnessController.Restore ( );
160+ brightnessController.Set (settingsController. GetBrightness () );
158161 break ;
159162 case Messages::GoToSleep:
160163 while (brightnessController.Level () != Controllers::BrightnessController::Levels::Off) {
@@ -165,7 +168,7 @@ void DisplayApp::Refresh() {
165168 state = States::Idle;
166169 break ;
167170 case Messages::GoToRunning:
168- brightnessController.Restore ( );
171+ brightnessController.Set (settingsController. GetBrightness () );
169172 state = States::Running;
170173 break ;
171174 case Messages::UpdateTimeOut:
@@ -224,9 +227,7 @@ void DisplayApp::Refresh() {
224227 break ;
225228 }
226229 } else if (returnTouchEvent == gesture) {
227- LoadApp (returnToApp, returnDirection);
228- brightnessController.Set (settingsController.GetBrightness ());
229- brightnessController.Backup ();
230+ LoadPreviousScreen ();
230231 }
231232 } else {
232233 touchHandler.CancelTap ();
@@ -237,9 +238,7 @@ void DisplayApp::Refresh() {
237238 if (currentApp == Apps::Clock) {
238239 PushMessageToSystemTask (System::Messages::GoToSleep);
239240 } else {
240- LoadApp (returnToApp, returnDirection);
241- brightnessController.Set (settingsController.GetBrightness ());
242- brightnessController.Backup ();
241+ LoadPreviousScreen ();
243242 }
244243 }
245244 break ;
0 commit comments