diff options
author | Riku Isokoski <riksu9000@gmail.com> | 2022-10-13 21:24:48 +0300 |
---|---|---|
committer | JF <JF002@users.noreply.github.com> | 2022-12-18 16:39:34 +0100 |
commit | 99b5b49993d6d18c9377d8fab5c2306195c546a1 (patch) | |
tree | 47d86102feca3fb98bba76177692a5944e49b6c7 /src/displayapp/screens/settings/SettingWakeUp.h | |
parent | 9c5b1437ecd032c163f2caf3afeac32b90b7f7ae (diff) |
Optimize SettingWakeUp
Diffstat (limited to 'src/displayapp/screens/settings/SettingWakeUp.h')
-rw-r--r-- | src/displayapp/screens/settings/SettingWakeUp.h | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/src/displayapp/screens/settings/SettingWakeUp.h b/src/displayapp/screens/settings/SettingWakeUp.h index cd244ae5..54282f5d 100644 --- a/src/displayapp/screens/settings/SettingWakeUp.h +++ b/src/displayapp/screens/settings/SettingWakeUp.h @@ -1,5 +1,6 @@ #pragma once +#include <array> #include <cstdint> #include <lvgl/lvgl.h> #include "components/settings/Settings.h" @@ -15,17 +16,22 @@ namespace Pinetime { SettingWakeUp(DisplayApp* app, Pinetime::Controllers::Settings& settingsController); ~SettingWakeUp() override; - void UpdateSelected(lv_obj_t* object, lv_event_t event); + void UpdateSelected(lv_obj_t* object); private: + struct Option { + Controllers::Settings::WakeUpMode wakeUpMode; + const char* name; + }; Controllers::Settings& settingsController; - uint8_t optionsTotal; - lv_obj_t* cbOption[5]; - // When UpdateSelected is called, it uses lv_checkbox_set_checked, - // which can cause extra events to be fired, - // which might trigger UpdateSelected again, causing a loop. - // This variable is used as a mutex to prevent that. - bool ignoringEvents; + static constexpr std::array<Option, 4> options = {{ + {Controllers::Settings::WakeUpMode::SingleTap, "Single Tap"}, + {Controllers::Settings::WakeUpMode::DoubleTap, "Double Tap"}, + {Controllers::Settings::WakeUpMode::RaiseWrist, "Raise Wrist"}, + {Controllers::Settings::WakeUpMode::Shake, "Shake Wake"}, + }}; + + lv_obj_t* cbOption[options.size()]; }; } } |