summaryrefslogtreecommitdiff
path: root/src/systemtask
diff options
context:
space:
mode:
authorMichele Bini <michele.bini@gmail.com>2022-04-17 11:13:41 (GMT)
committerMichele Bini <michele.bini@gmail.com>2022-04-17 13:16:10 (GMT)
commitaca605d4fb4040cc80c1acf101023aa86e7694ba (patch)
tree5f83db7a5bfbf05d732121bb95ca383243cc8eaf /src/systemtask
parentc372ba1908bb861d7f05d057c7fc25202c34bbe3 (diff)
Differentiate time adjustment (< 3h for example time zone change when crossing a border or because of daylight saving) and time setting (for example when the firmware is booted for the first time and the companion app sends the time)
Diffstat (limited to 'src/systemtask')
-rw-r--r--src/systemtask/Messages.h65
-rw-r--r--src/systemtask/SystemTask.cpp5
2 files changed, 37 insertions, 33 deletions
diff --git a/src/systemtask/Messages.h b/src/systemtask/Messages.h
index 2e3456a..3648142 100644
--- a/src/systemtask/Messages.h
+++ b/src/systemtask/Messages.h
@@ -2,36 +2,37 @@
namespace Pinetime {
namespace System {
- enum class Messages {
- GoToSleep,
- GoToRunning,
- TouchWakeUp,
- OnNewTime,
- OnNewNotification,
- OnTimerDone,
- OnNewCall,
- BleConnected,
- UpdateTimeOut,
- BleFirmwareUpdateStarted,
- BleFirmwareUpdateFinished,
- OnTouchEvent,
- HandleButtonEvent,
- HandleButtonTimerEvent,
- OnDisplayTaskSleeping,
- EnableSleeping,
- DisableSleeping,
- OnNewDay,
- OnNewHour,
- OnNewHalfHour,
- OnChargingEvent,
- OnPairing,
- SetOffAlarm,
- StopRinging,
- MeasureBatteryTimerExpired,
- BatteryPercentageUpdated,
- StartFileTransfer,
- StopFileTransfer,
- BleRadioEnableToggle
- };
- }
+ enum class Messages {
+ GoToSleep,
+ GoToRunning,
+ TouchWakeUp,
+ OnNewTime,
+ OnAdjustTime,
+ OnNewNotification,
+ OnTimerDone,
+ OnNewCall,
+ BleConnected,
+ UpdateTimeOut,
+ BleFirmwareUpdateStarted,
+ BleFirmwareUpdateFinished,
+ OnTouchEvent,
+ HandleButtonEvent,
+ HandleButtonTimerEvent,
+ OnDisplayTaskSleeping,
+ EnableSleeping,
+ DisableSleeping,
+ OnNewDay,
+ OnNewHour,
+ OnNewHalfHour,
+ OnChargingEvent,
+ OnPairing,
+ SetOffAlarm,
+ StopRinging,
+ MeasureBatteryTimerExpired,
+ BatteryPercentageUpdated,
+ StartFileTransfer,
+ StopFileTransfer,
+ BleRadioEnableToggle
+ };
+ }
}
diff --git a/src/systemtask/SystemTask.cpp b/src/systemtask/SystemTask.cpp
index 7e34b23..760f216 100644
--- a/src/systemtask/SystemTask.cpp
+++ b/src/systemtask/SystemTask.cpp
@@ -284,9 +284,12 @@ void SystemTask::Work() {
heartRateApp.PushMessage(Pinetime::Applications::HeartRateTask::Messages::GoToSleep);
break;
case Messages::OnNewTime:
+ case Messages::OnAdjustTime:
ReloadIdleTimer();
displayApp.PushMessage(Pinetime::Applications::Display::Messages::UpdateDateTime);
- if (alarmController.State() == Controllers::AlarmController::AlarmState::Set) {
+ if (message == Messages::OnAdjustTime) {
+ alarmController.OnAdjustTime();
+ } else {
alarmController.ScheduleAlarm();
}
break;