diff options
author | JF002 <JF002@users.noreply.github.com> | 2021-09-18 17:16:19 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-18 17:16:19 +0200 |
commit | 9cd0def3613aca24cc336bd2348ed2a73f5e637a (patch) | |
tree | c2fa91e352127c09abd0f9b4959cd1f47d628ea8 /src/displayapp/DisplayApp.cpp | |
parent | 3eb73774a39e255cd4b5de76441a59f1525a989c (diff) | |
parent | b9e56843a29672b2befa65bf036f6db21078291f (diff) |
Merge pull request #662 from mruss77/basic-alarm-app
Basic alarm app
Diffstat (limited to 'src/displayapp/DisplayApp.cpp')
-rw-r--r-- | src/displayapp/DisplayApp.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/displayapp/DisplayApp.cpp b/src/displayapp/DisplayApp.cpp index 5e74baa0..9d473101 100644 --- a/src/displayapp/DisplayApp.cpp +++ b/src/displayapp/DisplayApp.cpp @@ -3,6 +3,7 @@ #include <displayapp/screens/HeartRate.h> #include <displayapp/screens/Motion.h> #include <displayapp/screens/Timer.h> +#include <displayapp/screens/Alarm.h> #include "components/battery/BatteryController.h" #include "components/ble/BleController.h" #include "components/datetime/DateTimeController.h" @@ -90,6 +91,7 @@ DisplayApp::DisplayApp(Drivers::St7789& lcd, Pinetime::Controllers::MotorController& motorController, Pinetime::Controllers::MotionController& motionController, Pinetime::Controllers::TimerController& timerController, + Pinetime::Controllers::AlarmController& alarmController, Pinetime::Controllers::TouchHandler& touchHandler) : lcd {lcd}, lvgl {lvgl}, @@ -104,6 +106,7 @@ DisplayApp::DisplayApp(Drivers::St7789& lcd, motorController {motorController}, motionController {motionController}, timerController {timerController}, + alarmController {alarmController}, touchHandler {touchHandler} { } @@ -202,6 +205,13 @@ void DisplayApp::Refresh() { LoadApp(Apps::Timer, DisplayApp::FullRefreshDirections::Down); } break; + case Messages::AlarmTriggered: + if (currentApp == Apps::Alarm) { + auto* alarm = static_cast<Screens::Alarm*>(currentScreen.get()); + alarm->SetAlerting(); + } else { + LoadApp(Apps::Alarm, DisplayApp::FullRefreshDirections::None); + } case Messages::TouchEvent: { if (state != States::Running) { break; @@ -334,6 +344,9 @@ void DisplayApp::LoadApp(Apps app, DisplayApp::FullRefreshDirections direction) case Apps::Timer: currentScreen = std::make_unique<Screens::Timer>(this, timerController); break; + case Apps::Alarm: + currentScreen = std::make_unique<Screens::Alarm>(this, alarmController); + break; // Settings case Apps::QuickSettings: |