diff --git a/Telegram/SourceFiles/platform/linux/notifications_manager_linux.cpp b/Telegram/SourceFiles/platform/linux/notifications_manager_linux.cpp index 6286841c6..cf5a07099 100644 --- a/Telegram/SourceFiles/platform/linux/notifications_manager_linux.cpp +++ b/Telegram/SourceFiles/platform/linux/notifications_manager_linux.cpp @@ -727,10 +727,6 @@ bool SkipFlashBounce() { return Inhibited(); } -bool HideDetails() { - return false; -} - bool Supported() { return ServiceRegistered; } diff --git a/Telegram/SourceFiles/platform/mac/notifications_manager_mac.mm b/Telegram/SourceFiles/platform/mac/notifications_manager_mac.mm index 993783a63..8affa37cb 100644 --- a/Telegram/SourceFiles/platform/mac/notifications_manager_mac.mm +++ b/Telegram/SourceFiles/platform/mac/notifications_manager_mac.mm @@ -159,10 +159,6 @@ bool SkipFlashBounce() { return SkipAudio(); } -bool HideDetails() { - return Global::ScreenIsLocked(); -} - bool Supported() { return Platform::IsMac10_8OrGreater(); } diff --git a/Telegram/SourceFiles/platform/platform_notifications_manager.h b/Telegram/SourceFiles/platform/platform_notifications_manager.h index 1a7bc9591..eb3efbddb 100644 --- a/Telegram/SourceFiles/platform/platform_notifications_manager.h +++ b/Telegram/SourceFiles/platform/platform_notifications_manager.h @@ -15,7 +15,6 @@ namespace Notifications { [[nodiscard]] bool SkipAudio(); [[nodiscard]] bool SkipToast(); [[nodiscard]] bool SkipFlashBounce(); -[[nodiscard]] bool HideDetails(); [[nodiscard]] bool Supported(); [[nodiscard]] bool Enforced(); diff --git a/Telegram/SourceFiles/platform/win/notifications_manager_win.cpp b/Telegram/SourceFiles/platform/win/notifications_manager_win.cpp index 21b692cd0..25db6596a 100644 --- a/Telegram/SourceFiles/platform/win/notifications_manager_win.cpp +++ b/Telegram/SourceFiles/platform/win/notifications_manager_win.cpp @@ -823,9 +823,5 @@ bool SkipFlashBounce() { return SkipToast(); } -bool HideDetails() { - return false; -} - } // namespace Notifications } // namespace Platform diff --git a/Telegram/SourceFiles/window/notifications_manager.cpp b/Telegram/SourceFiles/window/notifications_manager.cpp index 700659106..040533a94 100644 --- a/Telegram/SourceFiles/window/notifications_manager.cpp +++ b/Telegram/SourceFiles/window/notifications_manager.cpp @@ -576,9 +576,10 @@ void System::updateAll() { } } -Manager::DisplayOptions Manager::GetNotificationOptions(HistoryItem *item) { +Manager::DisplayOptions Manager::getNotificationOptions( + HistoryItem *item) const { const auto hideEverything = Core::App().passcodeLocked() - || Platform::Notifications::HideDetails(); + || forceHideDetails(); const auto view = Core::App().settings().notifyView(); DisplayOptions result; @@ -696,7 +697,7 @@ void Manager::notificationReplied( void NativeManager::doShowNotification( not_null item, int forwardedCount) { - const auto options = GetNotificationOptions(item); + const auto options = getNotificationOptions(item); const auto peer = item->history()->peer; const auto scheduled = !options.hideNameAndPhoto @@ -732,6 +733,10 @@ void NativeManager::doShowNotification( options.hideReplyButton); } +bool NativeManager::forceHideDetails() const { + return Global::ScreenIsLocked(); +} + System::~System() = default; QString WrapFromScheduled(const QString &text) { diff --git a/Telegram/SourceFiles/window/notifications_manager.h b/Telegram/SourceFiles/window/notifications_manager.h index 24742cb20..83c8ad347 100644 --- a/Telegram/SourceFiles/window/notifications_manager.h +++ b/Telegram/SourceFiles/window/notifications_manager.h @@ -193,8 +193,8 @@ public: bool hideMessageText = false; bool hideReplyButton = false; }; - [[nodiscard]] static DisplayOptions GetNotificationOptions( - HistoryItem *item); + [[nodiscard]] DisplayOptions getNotificationOptions( + HistoryItem *item) const; [[nodiscard]] QString addTargetAccountName( const QString &title, @@ -218,6 +218,9 @@ protected: virtual void doClearFromItem(not_null item) = 0; virtual void doClearFromHistory(not_null history) = 0; virtual void doClearFromSession(not_null session) = 0; + [[nodiscard]] virtual bool forceHideDetails() const { + return false; + } virtual void onBeforeNotificationActivated(NotificationId id) { } virtual void onAfterNotificationActivated( @@ -256,6 +259,8 @@ protected: not_null item, int forwardedCount) override; + bool forceHideDetails() const override; + virtual void doShowNativeNotification( not_null peer, std::shared_ptr &userpicView, diff --git a/Telegram/SourceFiles/window/notifications_manager_default.cpp b/Telegram/SourceFiles/window/notifications_manager_default.cpp index a5ea81f96..5c9f3cb20 100644 --- a/Telegram/SourceFiles/window/notifications_manager_default.cpp +++ b/Telegram/SourceFiles/window/notifications_manager_default.cpp @@ -725,7 +725,7 @@ void Notification::actionsOpacityCallback() { void Notification::updateNotifyDisplay() { if (!_history || (!_item && _forwardedCount < 2)) return; - const auto options = Manager::GetNotificationOptions(_item); + const auto options = manager()->getNotificationOptions(_item); _hideReplyButton = options.hideReplyButton; int32 w = width(), h = height();