Only inhibit sleep if motion notifications are enabled, not just Bluetooth

This commit is contained in:
apilat 2022-06-30 15:52:57 +01:00 committed by FintasticMan
parent 074df0526f
commit a6cd3679eb
4 changed files with 12 additions and 3 deletions

View File

@ -120,3 +120,7 @@ void MotionService::UnsubscribeNotification(uint16_t attributeHandle) {
else if (attributeHandle == motionValuesHandle) else if (attributeHandle == motionValuesHandle)
motionValuesNoficationEnabled = false; motionValuesNoficationEnabled = false;
} }
bool MotionService::IsMotionNotificationSubscribed() const {
return motionValuesNoficationEnabled;
}

View File

@ -21,6 +21,7 @@ namespace Pinetime {
void SubscribeNotification(uint16_t attributeHandle); void SubscribeNotification(uint16_t attributeHandle);
void UnsubscribeNotification(uint16_t attributeHandle); void UnsubscribeNotification(uint16_t attributeHandle);
bool IsMotionNotificationSubscribed() const;
private: private:
NimbleController& nimble; NimbleController& nimble;

View File

@ -62,6 +62,10 @@ namespace Pinetime {
this->service = service; this->service = service;
} }
Pinetime::Controllers::MotionService* GetService() const {
return service;
}
private: private:
uint32_t nbSteps = 0; uint32_t nbSteps = 0;
uint32_t currentTripSteps = 0; uint32_t currentTripSteps = 0;

View File

@ -417,9 +417,9 @@ void SystemTask::UpdateMotion() {
return; return;
} }
if (state == SystemTaskState::Sleeping && if (state == SystemTaskState::Sleeping && !(settingsController.isWakeUpModeOn(Pinetime::Controllers::Settings::WakeUpMode::RaiseWrist) ||
!(settingsController.isWakeUpModeOn(Pinetime::Controllers::Settings::WakeUpMode::RaiseWrist) || settingsController.isWakeUpModeOn(Pinetime::Controllers::Settings::WakeUpMode::Shake) ||
settingsController.isWakeUpModeOn(Pinetime::Controllers::Settings::WakeUpMode::Shake) || bleController.IsConnected())) { motionController.GetService()->IsMotionNotificationSubscribed())) {
return; return;
} }