diff options
| author | mark9064 <30447455+mark9064@users.noreply.github.com> | 2024-07-21 15:52:35 +0100 |
|---|---|---|
| committer | JF <JF002@users.noreply.github.com> | 2024-08-05 20:32:43 +0200 |
| commit | 53dc9dafe7c4b3a9be89724df2226715d6626651 (patch) | |
| tree | 82e14ad371c5dcca703201d6278378f124b24804 /src/components | |
| parent | a407902b0600ca0b2b26c91a4597c856d16e4b26 (diff) | |
aod: simplify AOD disablement based on notification status
Diffstat (limited to 'src/components')
| -rw-r--r-- | src/components/settings/Settings.h | 37 |
1 files changed, 5 insertions, 32 deletions
diff --git a/src/components/settings/Settings.h b/src/components/settings/Settings.h index 1ab67095..602de3a5 100644 --- a/src/components/settings/Settings.h +++ b/src/components/settings/Settings.h @@ -196,14 +196,6 @@ namespace Pinetime { if (status != settings.notificationStatus) { settingsChanged = true; } - // Disable always on screen while sleep mode is enabled - if (settings.alwaysOnDisplay.enabled) { - if (status == Notification::Sleep) { - settings.alwaysOnDisplay.state = false; - } else { - settings.alwaysOnDisplay.state = true; - } - } settings.notificationStatus = status; }; @@ -222,31 +214,19 @@ namespace Pinetime { return settings.screenTimeOut; }; - void SetAlwaysOnDisplay(bool state) { - if (state != settings.alwaysOnDisplay.state) { - settingsChanged = true; - } - settings.alwaysOnDisplay.state = state; - }; - bool GetAlwaysOnDisplay() const { - return settings.alwaysOnDisplay.state; + return settings.alwaysOnDisplay && GetNotificationStatus() != Notification::Sleep; }; void SetAlwaysOnDisplaySetting(bool state) { - if (state != settings.alwaysOnDisplay.enabled) { + if (state != settings.alwaysOnDisplay) { settingsChanged = true; } - settings.alwaysOnDisplay.enabled = state; - - // Don't enable always on if we are currently in notification sleep - if (GetNotificationStatus() != Notification::Sleep) { - SetAlwaysOnDisplay(state); - } + settings.alwaysOnDisplay = state; } bool GetAlwaysOnDisplaySetting() const { - return settings.alwaysOnDisplay.enabled; + return settings.alwaysOnDisplay; } void SetShakeThreshold(uint16_t thresh) { @@ -323,19 +303,12 @@ namespace Pinetime { static constexpr uint32_t settingsVersion = 0x0008; - // To enable disabling it during notification sleep, differentiate between - // the setting being on, and the setting being set by the user - struct alwaysOnDisplayData { - bool enabled = false; - bool state = false; - }; - struct SettingsData { uint32_t version = settingsVersion; uint32_t stepsGoal = 10000; uint32_t screenTimeOut = 15000; - alwaysOnDisplayData alwaysOnDisplay; + bool alwaysOnDisplay = false; ClockType clockType = ClockType::H24; WeatherFormat weatherFormat = WeatherFormat::Metric; |
