M products/BellHybrid/alarms/src/actions/FrontlightAction.cpp => products/BellHybrid/alarms/src/actions/FrontlightAction.cpp +7 -1
@@ 55,11 55,17 @@ namespace alarms
} // namespace
FrontlightAction::FrontlightAction(sys::Service &service, Mode mode)
- : pimpl{createFrontlightImplementation(service, mode)}
+ : pimpl{createFrontlightImplementation(service, mode)}, settings{
+ service::ServiceProxy{service.weak_from_this()}}
{}
bool FrontlightAction::execute()
{
+ const std::string flontlightEnabled =
+ settings.getValue(bell::settings::Alarm::lightActive, settings::SettingsScope::Global);
+ if (flontlightEnabled == std::string(frontlightOFF)) {
+ return true;
+ }
return pimpl->execute();
}
M products/BellHybrid/alarms/src/actions/FrontlightAction.hpp => products/BellHybrid/alarms/src/actions/FrontlightAction.hpp +4 -0
@@ 4,6 4,7 @@
#pragma once
#include "AbstractAlarmAction.hpp"
+#include <service-db/Settings.hpp>
#include <Service/Service.hpp>
@@ 23,6 24,9 @@ namespace alarms
bool turnOff() override;
private:
+ static constexpr auto frontlightOFF = "0";
+
std::unique_ptr<AbstractAlarmAction> pimpl;
+ settings::Settings settings;
};
} // namespace alarms