aboutsummaryrefslogtreecommitdiffstats
path: root/src/systemtask/WakeLock.cpp
blob: 2953f7ee2592e94e170a8181269e2fad671614a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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;
}