From ef5670c7e09a1a63fc5df4a066472ed7fe7550ff Mon Sep 17 00:00:00 2001 From: JF Date: Tue, 20 Oct 2020 20:57:39 +0200 Subject: Integrate new notification UI with notifications coming from BLE --- src/displayapp/DisplayApp.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'src/displayapp/DisplayApp.cpp') 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 #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; } -- cgit v1.2.3