aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/components/ble/MotionService.cpp4
-rw-r--r--src/components/ble/MotionService.h1
-rw-r--r--src/components/motion/MotionController.h4
-rw-r--r--src/systemtask/SystemTask.cpp6
4 files changed, 12 insertions, 3 deletions
diff --git a/src/components/ble/MotionService.cpp b/src/components/ble/MotionService.cpp
index 029be894..1626a5bf 100644
--- a/src/components/ble/MotionService.cpp
+++ b/src/components/ble/MotionService.cpp
@@ -120,3 +120,7 @@ void MotionService::UnsubscribeNotification(uint16_t attributeHandle) {
else if (attributeHandle == motionValuesHandle)
motionValuesNoficationEnabled = false;
}
+
+bool MotionService::IsMotionNotificationSubscribed() const {
+ return motionValuesNoficationEnabled;
+}
diff --git a/src/components/ble/MotionService.h b/src/components/ble/MotionService.h
index e15cffe3..acc91e8d 100644
--- a/src/components/ble/MotionService.h
+++ b/src/components/ble/MotionService.h
@@ -21,6 +21,7 @@ namespace Pinetime {
void SubscribeNotification(uint16_t attributeHandle);
void UnsubscribeNotification(uint16_t attributeHandle);
+ bool IsMotionNotificationSubscribed() const;
private:
NimbleController& nimble;
diff --git a/src/components/motion/MotionController.h b/src/components/motion/MotionController.h
index 0aa7823e..b2e7e7fe 100644
--- a/src/components/motion/MotionController.h
+++ b/src/components/motion/MotionController.h
@@ -62,6 +62,10 @@ namespace Pinetime {
this->service = service;
}
+ Pinetime::Controllers::MotionService* GetService() const {
+ return service;
+ }
+
private:
uint32_t nbSteps = 0;
uint32_t currentTripSteps = 0;
diff --git a/src/systemtask/SystemTask.cpp b/src/systemtask/SystemTask.cpp
index f8c2c00f..246e7cec 100644
--- a/src/systemtask/SystemTask.cpp
+++ b/src/systemtask/SystemTask.cpp
@@ -417,9 +417,9 @@ void SystemTask::UpdateMotion() {
return;
}
- if (state == SystemTaskState::Sleeping &&
- !(settingsController.isWakeUpModeOn(Pinetime::Controllers::Settings::WakeUpMode::RaiseWrist) ||
- settingsController.isWakeUpModeOn(Pinetime::Controllers::Settings::WakeUpMode::Shake) || bleController.IsConnected())) {
+ if (state == SystemTaskState::Sleeping && !(settingsController.isWakeUpModeOn(Pinetime::Controllers::Settings::WakeUpMode::RaiseWrist) ||
+ settingsController.isWakeUpModeOn(Pinetime::Controllers::Settings::WakeUpMode::Shake) ||
+ motionController.GetService()->IsMotionNotificationSubscribed())) {
return;
}