55using namespace Pinetime ::Applications::Screens;
66
77namespace {
8- void event_handler (lv_obj_t * obj, lv_event_t event) {
9- auto * screen = static_cast <FlashLight*>(obj->user_data );
10- screen->OnClickEvent (obj, event);
8+ void EventHandler (lv_obj_t * obj, lv_event_t event) {
9+ if (event == LV_EVENT_CLICKED) {
10+ auto * screen = static_cast <FlashLight*>(obj->user_data );
11+ screen->Toggle ();
12+ }
1113 }
1214}
1315
@@ -16,7 +18,7 @@ FlashLight::FlashLight(Pinetime::Applications::DisplayApp* app,
1618 Controllers::BrightnessController& brightnessController)
1719 : Screen(app), systemTask {systemTask}, brightnessController {brightnessController} {
1820
19- brightnessLevel = brightnessController.Level ( );
21+ brightnessController.Set (brightnessLevel );
2022
2123 flashLight = lv_label_create (lv_scr_act (), nullptr );
2224 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,
4345 lv_label_set_text_static (backgroundAction, " " );
4446 lv_obj_set_click (backgroundAction, true );
4547 backgroundAction->user_data = this ;
46- lv_obj_set_event_cb (backgroundAction, event_handler );
48+ lv_obj_set_event_cb (backgroundAction, EventHandler );
4749
4850 systemTask.PushMessage (Pinetime::System::Messages::DisableSleeping);
4951}
@@ -89,11 +91,9 @@ void FlashLight::SetIndicators() {
8991 }
9092}
9193
92- void FlashLight::OnClickEvent (lv_obj_t * obj, lv_event_t event) {
93- if (obj == backgroundAction && event == LV_EVENT_CLICKED) {
94- isOn = !isOn;
95- SetColors ();
96- }
94+ void FlashLight::Toggle () {
95+ isOn = !isOn;
96+ SetColors ();
9797}
9898
9999bool FlashLight::OnTouchEvent (Pinetime::Applications::TouchEvents event) {
0 commit comments