diff --git a/src/displayapp/DisplayApp.cpp b/src/displayapp/DisplayApp.cpp index aa2c037e..85c6da3e 100644 --- a/src/displayapp/DisplayApp.cpp +++ b/src/displayapp/DisplayApp.cpp @@ -127,7 +127,7 @@ void DisplayApp::Process(void* instance) { void DisplayApp::InitHw() { brightnessController.Init(); - brightnessController.Set(settingsController.GetBrightness()); + ApplyBrightness(); } void DisplayApp::Refresh() { @@ -158,7 +158,7 @@ void DisplayApp::Refresh() { brightnessController.Set(Controllers::BrightnessController::Levels::Low); break; case Messages::RestoreBrightness: - brightnessController.Set(settingsController.GetBrightness()); + ApplyBrightness(); break; case Messages::GoToSleep: while (brightnessController.Level() != Controllers::BrightnessController::Levels::Off) { @@ -169,7 +169,7 @@ void DisplayApp::Refresh() { state = States::Idle; break; case Messages::GoToRunning: - brightnessController.Set(settingsController.GetBrightness()); + ApplyBrightness(); state = States::Running; break; case Messages::UpdateTimeOut: @@ -303,7 +303,7 @@ void DisplayApp::ReturnApp(Apps app, DisplayApp::FullRefreshDirections direction void DisplayApp::LoadApp(Apps app, DisplayApp::FullRefreshDirections direction) { touchHandler.CancelTap(); - brightnessController.Set(settingsController.GetBrightness()); + ApplyBrightness(); currentScreen.reset(nullptr); SetFullRefresh(direction); @@ -530,3 +530,12 @@ void DisplayApp::PushMessageToSystemTask(Pinetime::System::Messages message) { void DisplayApp::Register(Pinetime::System::SystemTask* systemTask) { this->systemTask = systemTask; } +void DisplayApp::ApplyBrightness() { + auto brightness = settingsController.GetBrightness(); + if(brightness != Controllers::BrightnessController::Levels::Low && + brightness != Controllers::BrightnessController::Levels::Medium && + brightness != Controllers::BrightnessController::Levels::High) { + brightness = Controllers::BrightnessController::Levels::High; + } + brightnessController.Set(brightness); +} diff --git a/src/displayapp/DisplayApp.h b/src/displayapp/DisplayApp.h index ae605114..4c54e227 100644 --- a/src/displayapp/DisplayApp.h +++ b/src/displayapp/DisplayApp.h @@ -121,6 +121,7 @@ namespace Pinetime { Apps nextApp = Apps::None; DisplayApp::FullRefreshDirections nextDirection; System::BootErrors bootError; + void ApplyBrightness(); }; } }