From a38fbf4884606772177d9175768332aa9871af77 Mon Sep 17 00:00:00 2001 From: Fushan Wen Date: Sat, 10 Sep 2022 23:21:21 +0800 Subject: [PATCH] Revert "libnotificationmanager: Expire all notifications when "Do not disturb" is on" This reverts commit b8b722ba194d5cba15f5d08d6ea2774982888203. This breaks the whitelist. CCBUG: 440837 --- .../abstractnotificationsmodel.cpp | 16 ++-------------- .../abstractnotificationsmodel.h | 1 - .../abstractnotificationsmodel_p.h | 1 - libnotificationmanager/notificationsmodel.cpp | 3 --- 4 files changed, 2 insertions(+), 19 deletions(-) diff --git a/libnotificationmanager/abstractnotificationsmodel.cpp b/libnotificationmanager/abstractnotificationsmodel.cpp index f1b84e00a..40d9aa7f2 100644 --- a/libnotificationmanager/abstractnotificationsmodel.cpp +++ b/libnotificationmanager/abstractnotificationsmodel.cpp @@ -29,7 +29,6 @@ using namespace NotificationManager; AbstractNotificationsModel::Private::Private(AbstractNotificationsModel *q) : q(q) - , inhibited(false) , lastRead(QDateTime::currentDateTimeUtc()) { pendingRemovalTimer.setSingleShot(true); @@ -71,10 +70,10 @@ void AbstractNotificationsModel::Private::onNotificationAdded(const Notification q->endRemoveRows(); } + setupNotificationTimeout(notification); + q->beginInsertRows(QModelIndex(), notifications.count(), notifications.count()); notifications.append(std::move(notification)); - // Timeout must be set after the item appends to the vector - setupNotificationTimeout(notification); q->endInsertRows(); } @@ -163,12 +162,6 @@ void AbstractNotificationsModel::Private::setupNotificationTimeout(const Notific return; } - // Don't show the notification popup after switching DND mode off. - if (inhibited) { - q->expire(notification.id()); - return; - } - QTimer *timer = notificationTimeouts.value(notification.id()); if (!timer) { timer = new QTimer(); @@ -436,11 +429,6 @@ void AbstractNotificationsModel::stopTimeout(uint notificationId) delete d->notificationTimeouts.take(notificationId); } -void AbstractNotificationsModel::setInhibited(bool inhibited) -{ - d->inhibited = inhibited; -} - void AbstractNotificationsModel::clear(Notifications::ClearFlags flags) { if (d->notifications.isEmpty()) { diff --git a/libnotificationmanager/abstractnotificationsmodel.h b/libnotificationmanager/abstractnotificationsmodel.h index d76795020..3734eb377 100644 --- a/libnotificationmanager/abstractnotificationsmodel.h +++ b/libnotificationmanager/abstractnotificationsmodel.h @@ -44,7 +44,6 @@ public: void startTimeout(uint notificationId); void stopTimeout(uint notificationId); - void setInhibited(bool inhibited); void clear(Notifications::ClearFlags flags); diff --git a/libnotificationmanager/abstractnotificationsmodel_p.h b/libnotificationmanager/abstractnotificationsmodel_p.h index 8c0fe55fe..cef78c7fe 100644 --- a/libnotificationmanager/abstractnotificationsmodel_p.h +++ b/libnotificationmanager/abstractnotificationsmodel_p.h @@ -41,7 +41,6 @@ public: QVector pendingRemovals; QTimer pendingRemovalTimer; - bool inhibited; // "Do not disturb" mode QDateTime lastRead; }; diff --git a/libnotificationmanager/notificationsmodel.cpp b/libnotificationmanager/notificationsmodel.cpp index bbcea7839..b9ac41f28 100644 --- a/libnotificationmanager/notificationsmodel.cpp +++ b/libnotificationmanager/notificationsmodel.cpp @@ -50,9 +50,6 @@ NotificationsModel::NotificationsModel() } }); Server::self().init(); - - setInhibited(Server::self().inhibited()); - connect(&Server::self(), &Server::inhibitedChanged, this, std::bind(&NotificationsModel::setInhibited, this, std::placeholders::_1)); } void NotificationsModel::expire(uint notificationId)