diff --git a/OneSignalSDK/onesignal/notifications/src/main/java/com/onesignal/notifications/internal/generation/impl/NotificationGenerationProcessor.kt b/OneSignalSDK/onesignal/notifications/src/main/java/com/onesignal/notifications/internal/generation/impl/NotificationGenerationProcessor.kt index d05e907f2..501450040 100644 --- a/OneSignalSDK/onesignal/notifications/src/main/java/com/onesignal/notifications/internal/generation/impl/NotificationGenerationProcessor.kt +++ b/OneSignalSDK/onesignal/notifications/src/main/java/com/onesignal/notifications/internal/generation/impl/NotificationGenerationProcessor.kt @@ -233,9 +233,9 @@ internal class NotificationGenerationProcessor( // Notification channel disable or not displayed // save notification as dismissed to avoid user re-enabling channel and notification being displayed due to restore markNotificationAsDismissed(notificationJob) - return } + // Always call notificationReceived, regardless of wasDisplayed _lifecycleService.notificationReceived(notificationJob) } diff --git a/OneSignalSDK/onesignal/notifications/src/test/java/com/onesignal/notifications/internal/generation/NotificationGenerationProcessorTests.kt b/OneSignalSDK/onesignal/notifications/src/test/java/com/onesignal/notifications/internal/generation/NotificationGenerationProcessorTests.kt index 154b879a1..d740fe13d 100644 --- a/OneSignalSDK/onesignal/notifications/src/test/java/com/onesignal/notifications/internal/generation/NotificationGenerationProcessorTests.kt +++ b/OneSignalSDK/onesignal/notifications/src/test/java/com/onesignal/notifications/internal/generation/NotificationGenerationProcessorTests.kt @@ -168,6 +168,10 @@ class NotificationGenerationProcessorTests : FunSpec({ mocks.notificationGenerationProcessor.processNotificationData(mocks.context, 1, mocks.notificationPayload, false, 1111) // Then + // notificationReceived should be called + coVerify(exactly = 1) { + mocks.notificationLifecycleService.notificationReceived(any()) + } } test("processNotificationData should display notification when external callback takes longer than 30 seconds") { @@ -209,6 +213,10 @@ class NotificationGenerationProcessorTests : FunSpec({ mocks.notificationGenerationProcessor.processNotificationData(mocks.context, 1, mocks.notificationPayload, false, 1111) // Then + // notificationReceived should be called + coVerify(exactly = 1) { + mocks.notificationLifecycleService.notificationReceived(any()) + } } test("processNotificationData should display notification when foreground callback takes longer than 30 seconds") {