aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormark9064 <30447455+mark9064@users.noreply.github.com>2024-07-21 15:52:35 +0100
committerJF <JF002@users.noreply.github.com>2024-08-05 20:32:43 +0200
commit53dc9dafe7c4b3a9be89724df2226715d6626651 (patch)
tree82e14ad371c5dcca703201d6278378f124b24804
parenta407902b0600ca0b2b26c91a4597c856d16e4b26 (diff)
aod: simplify AOD disablement based on notification status
-rw-r--r--src/components/settings/Settings.h37
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;