summaryrefslogtreecommitdiff
path: root/src/systemtask/SystemTask.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/systemtask/SystemTask.cpp')
-rw-r--r--src/systemtask/SystemTask.cpp22
1 files changed, 12 insertions, 10 deletions
diff --git a/src/systemtask/SystemTask.cpp b/src/systemtask/SystemTask.cpp
index 0411cf2..20ff937 100644
--- a/src/systemtask/SystemTask.cpp
+++ b/src/systemtask/SystemTask.cpp
@@ -492,16 +492,18 @@ void SystemTask::UpdateMotion() {
motionController.IsSensorOk(motionSensor.IsOk());
motionController.Update(motionValues.x, motionValues.y, motionValues.z, motionValues.steps);
- if (isSleeping && motionController.ShouldRaiseWake()) {
- GoToRunning();
- }
- if (settingsController.isWakeUpModeOn(Pinetime::Controllers::Settings::WakeUpMode::Shake) &&
- motionController.Should_ShakeWake(settingsController.GetShakeThreshold())) {
- GoToRunning();
- }
- if (settingsController.isWakeUpModeOn(Pinetime::Controllers::Settings::WakeUpMode::LowerWrist) && !isSleeping &&
- motionController.ShouldLowerSleep()) {
- PushMessage(Messages::GoToSleep);
+ if (isSleeping) {
+ if (motionController.ShouldRaiseWake() ||
+ (settingsController.isWakeUpModeOn(Pinetime::Controllers::Settings::WakeUpMode::Shake) &&
+ motionController.Should_ShakeWake(settingsController.GetShakeThreshold()))
+ ) {
+ GoToRunning();
+ }
+ } else {
+ if (settingsController.isWakeUpModeOn(Pinetime::Controllers::Settings::WakeUpMode::LowerWrist) &&
+ motionController.ShouldLowerSleep()) {
+ PushMessage(Messages::GoToSleep);
+ }
}
}