Flashlight default to max brightness and code cleanup

This commit is contained in:
Riku Isokoski 2022-06-13 23:51:05 +03:00 committed by JF
parent 2b2aefcf6a
commit 61c2d8dbc7
2 changed files with 12 additions and 12 deletions

View file

@ -5,9 +5,11 @@
using namespace Pinetime::Applications::Screens; using namespace Pinetime::Applications::Screens;
namespace { namespace {
void event_handler(lv_obj_t* obj, lv_event_t event) { void EventHandler(lv_obj_t* obj, lv_event_t event) {
if (event == LV_EVENT_CLICKED) {
auto* screen = static_cast<FlashLight*>(obj->user_data); auto* screen = static_cast<FlashLight*>(obj->user_data);
screen->OnClickEvent(obj, event); screen->Toggle();
}
} }
} }
@ -16,7 +18,7 @@ FlashLight::FlashLight(Pinetime::Applications::DisplayApp* app,
Controllers::BrightnessController& brightnessController) Controllers::BrightnessController& brightnessController)
: Screen(app), systemTask {systemTask}, brightnessController {brightnessController} { : Screen(app), systemTask {systemTask}, brightnessController {brightnessController} {
brightnessLevel = brightnessController.Level(); brightnessController.Set(brightnessLevel);
flashLight = lv_label_create(lv_scr_act(), nullptr); flashLight = lv_label_create(lv_scr_act(), nullptr);
lv_obj_set_style_local_text_font(flashLight, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &lv_font_sys_48); lv_obj_set_style_local_text_font(flashLight, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &lv_font_sys_48);
@ -43,7 +45,7 @@ FlashLight::FlashLight(Pinetime::Applications::DisplayApp* app,
lv_label_set_text_static(backgroundAction, ""); lv_label_set_text_static(backgroundAction, "");
lv_obj_set_click(backgroundAction, true); lv_obj_set_click(backgroundAction, true);
backgroundAction->user_data = this; backgroundAction->user_data = this;
lv_obj_set_event_cb(backgroundAction, event_handler); lv_obj_set_event_cb(backgroundAction, EventHandler);
systemTask.PushMessage(Pinetime::System::Messages::DisableSleeping); systemTask.PushMessage(Pinetime::System::Messages::DisableSleeping);
} }
@ -89,12 +91,10 @@ void FlashLight::SetIndicators() {
} }
} }
void FlashLight::OnClickEvent(lv_obj_t* obj, lv_event_t event) { void FlashLight::Toggle() {
if (obj == backgroundAction && event == LV_EVENT_CLICKED) {
isOn = !isOn; isOn = !isOn;
SetColors(); SetColors();
} }
}
bool FlashLight::OnTouchEvent(Pinetime::Applications::TouchEvents event) { bool FlashLight::OnTouchEvent(Pinetime::Applications::TouchEvents event) {
using namespace Pinetime::Controllers; using namespace Pinetime::Controllers;

View file

@ -17,7 +17,7 @@ namespace Pinetime {
~FlashLight() override; ~FlashLight() override;
bool OnTouchEvent(Pinetime::Applications::TouchEvents event) override; bool OnTouchEvent(Pinetime::Applications::TouchEvents event) override;
void OnClickEvent(lv_obj_t* obj, lv_event_t event); void Toggle();
private: private:
void SetIndicators(); void SetIndicators();
@ -26,7 +26,7 @@ namespace Pinetime {
Pinetime::System::SystemTask& systemTask; Pinetime::System::SystemTask& systemTask;
Controllers::BrightnessController& brightnessController; Controllers::BrightnessController& brightnessController;
Controllers::BrightnessController::Levels brightnessLevel; Controllers::BrightnessController::Levels brightnessLevel = Controllers::BrightnessController::Levels::High;
lv_obj_t* flashLight; lv_obj_t* flashLight;
lv_obj_t* backgroundAction; lv_obj_t* backgroundAction;