diff options
| author | mark9064 <30447455+mark9064@users.noreply.github.com> | 2024-08-23 00:15:24 +0100 |
|---|---|---|
| committer | NeroBurner <pyro4hell@gmail.com> | 2024-09-21 22:45:57 +0200 |
| commit | 7ca0418c82173fa1cff9537eaf1f030b5a712e9a (patch) | |
| tree | 6d62fcabb5c764dff72943a08a8c7e554fcd5043 /src/systemtask/WakeLock.cpp | |
| parent | c3d05901a05a274f30c15b8c0640b6ecdd973ac3 (diff) | |
Refactor doNotGoToSleep to a wakelock counter
Diffstat (limited to 'src/systemtask/WakeLock.cpp')
| -rw-r--r-- | src/systemtask/WakeLock.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/systemtask/WakeLock.cpp b/src/systemtask/WakeLock.cpp new file mode 100644 index 00000000..2953f7ee --- /dev/null +++ b/src/systemtask/WakeLock.cpp @@ -0,0 +1,27 @@ +#include "systemtask/WakeLock.h" + +using namespace Pinetime::System; + +WakeLock::WakeLock(SystemTask& systemTask) : systemTask {systemTask} { + lockHeld = false; +} + +WakeLock::~WakeLock() { + Release(); +} + +void WakeLock::Lock() { + if (lockHeld) { + return; + } + systemTask.PushMessage(Messages::DisableSleeping); + lockHeld = true; +} + +void WakeLock::Release() { + if (!lockHeld) { + return; + } + systemTask.PushMessage(Messages::EnableSleeping); + lockHeld = false; +} |
