summaryrefslogtreecommitdiff
path: root/src/displayapp/DisplayApp.cpp
diff options
context:
space:
mode:
authorJF <jf@codingfield.com>2020-10-20 20:57:39 +0200
committerJF <jf@codingfield.com>2020-10-20 20:57:39 +0200
commitef5670c7e09a1a63fc5df4a066472ed7fe7550ff (patch)
tree3f7999c0dd4c4cfc42a04f7904205ffd914cc225 /src/displayapp/DisplayApp.cpp
parent55427d83b87960903cd6213ac9c73e694ee547bd (diff)
Integrate new notification UI with notifications coming from BLE
Diffstat (limited to 'src/displayapp/DisplayApp.cpp')
-rw-r--r--src/displayapp/DisplayApp.cpp16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/displayapp/DisplayApp.cpp b/src/displayapp/DisplayApp.cpp
index ab4a5a7d..d4d41333 100644
--- a/src/displayapp/DisplayApp.cpp
+++ b/src/displayapp/DisplayApp.cpp
@@ -9,7 +9,6 @@
#include "components/datetime/DateTimeController.h"
#include <drivers/Cst816s.h>
#include "displayapp/screens/Notifications.h"
-#include "displayapp/screens/Notifications_swscroll.h"
#include "displayapp/screens/Tile.h"
#include "displayapp/screens/Meter.h"
#include "displayapp/screens/Gauge.h"
@@ -37,7 +36,7 @@ DisplayApp::DisplayApp(Drivers::St7789 &lcd, Components::LittleVgl &lvgl, Driver
dateTimeController{dateTimeController},
watchdog{watchdog},
touchPanel{touchPanel},
- currentScreen{new Screens::Clock(this, dateTimeController, batteryController, bleController) },
+ currentScreen{new Screens::Clock(this, dateTimeController, batteryController, bleController, notificationManager) },
systemTask{systemTask},
notificationManager{notificationManager} {
msgQueue = xQueueCreate(queueSize, itemSize);
@@ -116,8 +115,12 @@ void DisplayApp::Refresh() {
// clockScreen.SetBatteryPercentRemaining(batteryController.PercentRemaining());
break;
case Messages::NewNotification: {
- auto notification = notificationManager.Pop();
- modal->Show(notification.message.data());
+ if(onClockApp) {
+ currentScreen.reset(nullptr);
+ lvgl.SetFullRefresh(Components::LittleVgl::FullRefreshDirections::Up);
+ onClockApp = false;
+ currentScreen.reset(new Screens::Notifications(this, notificationManager, Screens::Notifications::Modes::Preview));
+ }
}
break;
case Messages::TouchEvent: {
@@ -193,7 +196,7 @@ void DisplayApp::RunningState() {
case Apps::None:
case Apps::Launcher: currentScreen.reset(new Screens::ApplicationList(this)); break;
case Apps::Clock:
- currentScreen.reset(new Screens::Clock(this, dateTimeController, batteryController, bleController));
+ currentScreen.reset(new Screens::Clock(this, dateTimeController, batteryController, bleController, notificationManager));
onClockApp = true;
break;
// case Apps::Test: currentScreen.reset(new Screens::Message(this)); break;
@@ -204,8 +207,7 @@ void DisplayApp::RunningState() {
case Apps::Brightness : currentScreen.reset(new Screens::Brightness(this, brightnessController)); break;
case Apps::Music : currentScreen.reset(new Screens::Music(this, systemTask.nimble().music())); break;
case Apps::FirmwareValidation: currentScreen.reset(new Screens::FirmwareValidation(this, validator)); break;
- case Apps::Notifications: currentScreen.reset(new Screens::Notifications(this)); break;
- case Apps::Notifications2: currentScreen.reset(new Screens::Notifications2(this)); break;
+ case Apps::Notifications: currentScreen.reset(new Screens::Notifications(this, notificationManager, Screens::Notifications::Modes::Normal)); break;
}
nextApp = Apps::None;
}