diff options
author | JF <jf@codingfield.com> | 2020-10-20 20:57:39 +0200 |
---|---|---|
committer | JF <jf@codingfield.com> | 2020-10-20 20:57:39 +0200 |
commit | ef5670c7e09a1a63fc5df4a066472ed7fe7550ff (patch) | |
tree | 3f7999c0dd4c4cfc42a04f7904205ffd914cc225 /src/displayapp/DisplayApp.cpp | |
parent | 55427d83b87960903cd6213ac9c73e694ee547bd (diff) |
Integrate new notification UI with notifications coming from BLE
Diffstat (limited to 'src/displayapp/DisplayApp.cpp')
-rw-r--r-- | src/displayapp/DisplayApp.cpp | 16 |
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; } |