summaryrefslogtreecommitdiff
path: root/src/components/ble
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/ble')
-rw-r--r--src/components/ble/NotificationManager.cpp5
-rw-r--r--src/components/ble/NotificationManager.h2
2 files changed, 6 insertions, 1 deletions
diff --git a/src/components/ble/NotificationManager.cpp b/src/components/ble/NotificationManager.cpp
index 6ed3f835..11555bee 100644
--- a/src/components/ble/NotificationManager.cpp
+++ b/src/components/ble/NotificationManager.cpp
@@ -28,6 +28,7 @@ void NotificationManager::Push(Pinetime::Controllers::NotificationManager::Categ
NotificationManager::Notification NotificationManager::GetLastNotification() {
NotificationManager::Notification notification = notifications[readIndex];
+ notification.index = 1;
return notification;
}
@@ -81,3 +82,7 @@ bool NotificationManager::ClearNewNotificationFlag() {
return newNotification.exchange(false);
}
+size_t NotificationManager::NbNotifications() const {
+ return std::count_if(notifications.begin(), notifications.end(), [](const Notification& n){ return n.valid;});
+}
+
diff --git a/src/components/ble/NotificationManager.h b/src/components/ble/NotificationManager.h
index e4e2b4d4..64c6df6d 100644
--- a/src/components/ble/NotificationManager.h
+++ b/src/components/ble/NotificationManager.h
@@ -15,7 +15,6 @@ namespace Pinetime {
Id id;
bool valid = false;
uint8_t index;
- uint8_t number = TotalNbNotifications;
std::array<char, MessageSize+1> message;
Categories category = Categories::Unknown;
};
@@ -29,6 +28,7 @@ namespace Pinetime {
bool AreNewNotificationsAvailable();
static constexpr uint8_t MaximumMessageSize() { return MessageSize; };
+ size_t NbNotifications() const;
private:
Notification::Id GetNextId();