diff options
Diffstat (limited to 'src/displayapp/DisplayApp.cpp')
-rw-r--r-- | src/displayapp/DisplayApp.cpp | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/src/displayapp/DisplayApp.cpp b/src/displayapp/DisplayApp.cpp index 411497e6..3174a658 100644 --- a/src/displayapp/DisplayApp.cpp +++ b/src/displayapp/DisplayApp.cpp @@ -129,6 +129,11 @@ void DisplayApp::InitHw() { } void DisplayApp::Refresh() { + auto LoadPreviousScreen = [this]() { + brightnessController.Set(settingsController.GetBrightness()); + LoadApp(returnToApp, returnDirection); + }; + TickType_t queueTimeout; switch (state) { case States::Idle: @@ -136,7 +141,7 @@ void DisplayApp::Refresh() { break; case States::Running: if (!currentScreen->IsRunning()) { - LoadApp(returnToApp, returnDirection); + LoadPreviousScreen(); } queueTimeout = lv_task_handler(); break; @@ -149,12 +154,10 @@ void DisplayApp::Refresh() { if (xQueueReceive(msgQueue, &msg, queueTimeout)) { switch (msg) { case Messages::DimScreen: - // Backup brightness is the brightness to return to after dimming or sleeping - brightnessController.Backup(); brightnessController.Set(Controllers::BrightnessController::Levels::Low); break; case Messages::RestoreBrightness: - brightnessController.Restore(); + brightnessController.Set(settingsController.GetBrightness()); break; case Messages::GoToSleep: while (brightnessController.Level() != Controllers::BrightnessController::Levels::Off) { @@ -165,7 +168,7 @@ void DisplayApp::Refresh() { state = States::Idle; break; case Messages::GoToRunning: - brightnessController.Restore(); + brightnessController.Set(settingsController.GetBrightness()); state = States::Running; break; case Messages::UpdateTimeOut: @@ -224,9 +227,7 @@ void DisplayApp::Refresh() { break; } } else if (returnTouchEvent == gesture) { - LoadApp(returnToApp, returnDirection); - brightnessController.Set(settingsController.GetBrightness()); - brightnessController.Backup(); + LoadPreviousScreen(); } } else { touchHandler.CancelTap(); @@ -237,9 +238,7 @@ void DisplayApp::Refresh() { if (currentApp == Apps::Clock) { PushMessageToSystemTask(System::Messages::GoToSleep); } else { - LoadApp(returnToApp, returnDirection); - brightnessController.Set(settingsController.GetBrightness()); - brightnessController.Backup(); + LoadPreviousScreen(); } } break; |