diff --git a/OneSignalSDK/onesignal/notifications/src/main/java/com/onesignal/notifications/internal/generation/impl/NotificationGenerationWorkManager.kt b/OneSignalSDK/onesignal/notifications/src/main/java/com/onesignal/notifications/internal/generation/impl/NotificationGenerationWorkManager.kt index cf60d362ac..0e93dbc185 100644 --- a/OneSignalSDK/onesignal/notifications/src/main/java/com/onesignal/notifications/internal/generation/impl/NotificationGenerationWorkManager.kt +++ b/OneSignalSDK/onesignal/notifications/src/main/java/com/onesignal/notifications/internal/generation/impl/NotificationGenerationWorkManager.kt @@ -63,8 +63,8 @@ internal class NotificationGenerationWorkManager : INotificationGenerationWorkMa class NotificationGenerationWorker(context: Context, workerParams: WorkerParameters) : CoroutineWorker(context, workerParams) { override suspend fun doWork(): Result { - if (!OneSignal.isInitialized) { - return Result.failure() + if (!OneSignal.initWithContext(applicationContext)) { + return Result.success() } val notificationProcessor: INotificationGenerationProcessor = OneSignal.getService() diff --git a/OneSignalSDK/onesignal/notifications/src/main/java/com/onesignal/notifications/internal/receivereceipt/impl/ReceiveReceiptWorkManager.kt b/OneSignalSDK/onesignal/notifications/src/main/java/com/onesignal/notifications/internal/receivereceipt/impl/ReceiveReceiptWorkManager.kt index cd281463c5..494519ed1f 100644 --- a/OneSignalSDK/onesignal/notifications/src/main/java/com/onesignal/notifications/internal/receivereceipt/impl/ReceiveReceiptWorkManager.kt +++ b/OneSignalSDK/onesignal/notifications/src/main/java/com/onesignal/notifications/internal/receivereceipt/impl/ReceiveReceiptWorkManager.kt @@ -72,13 +72,16 @@ internal class ReceiveReceiptWorkManager( } class ReceiveReceiptWorker(context: Context, workerParams: WorkerParameters) : CoroutineWorker(context, workerParams) { - private var receiveReceiptProcessor: IReceiveReceiptProcessor = OneSignal.getService() - override suspend fun doWork(): Result { - val inputData = inputData + if (!OneSignal.initWithContext(applicationContext)) { + return Result.success() + } + val notificationId = inputData.getString(OS_NOTIFICATION_ID)!! val appId = inputData.getString(OS_APP_ID)!! val subscriptionId = inputData.getString(OS_SUBSCRIPTION_ID)!! + + val receiveReceiptProcessor = OneSignal.getService() receiveReceiptProcessor.sendReceiveReceipt(appId, subscriptionId, notificationId) return Result.success() } diff --git a/OneSignalSDK/onesignal/notifications/src/main/java/com/onesignal/notifications/services/ADMMessageHandler.kt b/OneSignalSDK/onesignal/notifications/src/main/java/com/onesignal/notifications/services/ADMMessageHandler.kt index e53f87eb15..cc8d9c2e2e 100644 --- a/OneSignalSDK/onesignal/notifications/src/main/java/com/onesignal/notifications/services/ADMMessageHandler.kt +++ b/OneSignalSDK/onesignal/notifications/src/main/java/com/onesignal/notifications/services/ADMMessageHandler.kt @@ -13,6 +13,10 @@ import com.onesignal.notifications.internal.registration.impl.IPushRegistratorCa class ADMMessageHandler : ADMMessageHandlerBase("ADMMessageHandler") { override fun onMessage(intent: Intent) { val context = applicationContext + if (!OneSignal.initWithContext(context)) { + return + } + val bundle = intent.extras val bundleProcessor = OneSignal.getService() diff --git a/OneSignalSDK/onesignal/notifications/src/main/java/com/onesignal/notifications/services/ADMMessageHandlerJob.kt b/OneSignalSDK/onesignal/notifications/src/main/java/com/onesignal/notifications/services/ADMMessageHandlerJob.kt index ec96fd793b..c707333743 100644 --- a/OneSignalSDK/onesignal/notifications/src/main/java/com/onesignal/notifications/services/ADMMessageHandlerJob.kt +++ b/OneSignalSDK/onesignal/notifications/src/main/java/com/onesignal/notifications/services/ADMMessageHandlerJob.kt @@ -14,10 +14,16 @@ class ADMMessageHandlerJob : ADMMessageHandlerJobBase() { context: Context?, intent: Intent?, ) { - val bundle = intent?.extras - + if (context == null) { + return + } + if (!OneSignal.initWithContext(context.applicationContext)) { + return + } val bundleProcessor = OneSignal.getService() + val bundle = intent?.extras + bundleProcessor.processBundleFromReceiver(context!!, bundle!!) }