diff options
| author | Michele Bini <michele.bini@gmail.com> | 2022-03-31 12:40:41 (GMT) |
|---|---|---|
| committer | Michele Bini <michele.bini@gmail.com> | 2022-03-31 12:40:41 (GMT) |
| commit | 0bc8592ec7911cba8890aa144139c74f7172cbaa (patch) | |
| tree | a3b232e5aa9dce70b3fd9739f560f0806510d7bf /src/displayapp/DisplayApp.cpp | |
| parent | 04dd0c5fe0c696c815b0df1243c1003cd4464dbb (diff) | |
add back alarm
Diffstat (limited to 'src/displayapp/DisplayApp.cpp')
| -rw-r--r-- | src/displayapp/DisplayApp.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/displayapp/DisplayApp.cpp b/src/displayapp/DisplayApp.cpp index f84bf57..a841f1e 100644 --- a/src/displayapp/DisplayApp.cpp +++ b/src/displayapp/DisplayApp.cpp @@ -1,5 +1,6 @@ #include "displayapp/DisplayApp.h" #include <libraries/log/nrf_log.h> +#include "displayapp/screens/Alarm.h" #include "components/battery/BatteryController.h" #include "components/ble/BleController.h" #include "components/datetime/DateTimeController.h" @@ -73,6 +74,7 @@ DisplayApp::DisplayApp(Drivers::St7789& lcd, Controllers::Settings& settingsController, Pinetime::Controllers::MotorController& motorController, Pinetime::Controllers::MotionController& motionController, + Pinetime::Controllers::AlarmController& alarmController, Pinetime::Controllers::BrightnessController& brightnessController, Pinetime::Controllers::TouchHandler& touchHandler) : lcd {lcd}, @@ -86,6 +88,7 @@ DisplayApp::DisplayApp(Drivers::St7789& lcd, settingsController {settingsController}, motorController {motorController}, motionController {motionController}, + alarmController {alarmController}, brightnessController {brightnessController}, touchHandler {touchHandler} { } @@ -176,6 +179,14 @@ void DisplayApp::Refresh() { case Messages::NewNotification: LoadApp(Apps::NotificationsPreview, 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); + } + break; case Messages::TouchEvent: { if (state != States::Running) { break; @@ -324,6 +335,10 @@ void DisplayApp::LoadApp(Apps app, DisplayApp::FullRefreshDirections direction) this, notificationManager, systemTask->nimble().alertService(), motorController, *systemTask, Screens::Notifications::Modes::Preview); ReturnApp(Apps::Clock, FullRefreshDirections::Up, TouchEvents::SwipeUp); break; + case Apps::Alarm: + currentScreen = std::make_unique<Screens::Alarm>(this, alarmController, settingsController, *systemTask); + break; + // Settings case Apps::QuickSettings: currentScreen = std::make_unique<Screens::QuickSettings>( |
