diff options
author | James A. Jerkins <evergreen@jamesjerkinscomputer.com> | 2021-12-23 20:30:14 -0600 |
---|---|---|
committer | James A. Jerkins <evergreen@jamesjerkinscomputer.com> | 2021-12-23 20:30:14 -0600 |
commit | 319030d9e16e833cf8bff569a9ecfa452165ea27 (patch) | |
tree | ae2890204710ac41fd7f637ac1c367c09f671009 /src/displayapp/screens/settings/SettingAirplaneMode.h | |
parent | 3b0b48020d96353fc6cd114aa80fc2fec98363a3 (diff) |
Add airplane mode feature
Implements 'Airplane mode' feature to disable and enable bluetooth/ble
Adds airplaneMode as a non-persisted setting
Adds a setting menu for switching airplane mode on and off
Displays an airplane symbol on the Digital watch face and the
PineTimeStyle watch face when airplane mode is enabled
Always enables bluetooth/ble on boot (disable airplane mode)
Alphabetizes the settings menu options
Style cleanups
Closes #632
Diffstat (limited to 'src/displayapp/screens/settings/SettingAirplaneMode.h')
-rw-r--r-- | src/displayapp/screens/settings/SettingAirplaneMode.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/displayapp/screens/settings/SettingAirplaneMode.h b/src/displayapp/screens/settings/SettingAirplaneMode.h new file mode 100644 index 00000000..fcc02228 --- /dev/null +++ b/src/displayapp/screens/settings/SettingAirplaneMode.h @@ -0,0 +1,30 @@ +#pragma once + +#include <array> +#include <cstdint> +#include <lvgl/lvgl.h> + +#include "components/settings/Settings.h" +#include "displayapp/screens/Screen.h" + +namespace Pinetime { + + namespace Applications { + namespace Screens { + + class SettingAirplaneMode : public Screen { + public: + SettingAirplaneMode(DisplayApp* app, Pinetime::Controllers::Settings& settingsController); + ~SettingAirplaneMode() override; + + void UpdateSelected(lv_obj_t* object, lv_event_t event); + + private: + static constexpr std::array<const char*, 2> options = {" No", " Yes"}; + Controllers::Settings& settingsController; + lv_obj_t* cbOption[options.size()]; + bool priorMode; + }; + } + } +} |