From 19302fb973472da314b952418d0f140f54872575 Mon Sep 17 00:00:00 2001 From: mcarare <48995920+mcarare@users.noreply.github.com> Date: Fri, 17 Feb 2023 19:17:56 +0200 Subject: [PATCH] Bug 1811795 - Use a notification delegate in notification workers. Notification workers in Fenix will now use notification delegate to show notifications. --- .../fenix/messaging/MessageNotificationWorker.kt | 9 +-------- .../onboarding/ReEngagementNotificationWorker.kt | 13 ++++++------- 2 files changed, 7 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/messaging/MessageNotificationWorker.kt b/app/src/main/java/org/mozilla/fenix/messaging/MessageNotificationWorker.kt index 9ca4b6c720..2a926763ca 100644 --- a/app/src/main/java/org/mozilla/fenix/messaging/MessageNotificationWorker.kt +++ b/app/src/main/java/org/mozilla/fenix/messaging/MessageNotificationWorker.kt @@ -12,7 +12,6 @@ import android.content.Context import android.content.Intent import android.os.Bundle import android.os.IBinder -import androidx.core.app.NotificationManagerCompat import androidx.work.ExistingPeriodicWorkPolicy import androidx.work.PeriodicWorkRequestBuilder import androidx.work.WorkManager @@ -22,7 +21,6 @@ import mozilla.components.service.nimbus.messaging.FxNimbusMessaging import mozilla.components.service.nimbus.messaging.Message import mozilla.components.support.base.ids.SharedIdsHelper import mozilla.components.support.utils.BootUtils -import org.mozilla.fenix.ext.areNotificationsEnabledSafe import org.mozilla.fenix.ext.components import org.mozilla.fenix.onboarding.ensureMarketingChannelExists import org.mozilla.fenix.perf.runBlockingIncrement @@ -47,11 +45,6 @@ class MessageNotificationWorker( override fun doWork(): Result { val context = applicationContext - val nm = NotificationManagerCompat.from(context) - if (!nm.areNotificationsEnabledSafe()) { - return Result.success() - } - val messagingStorage = context.components.analytics.messagingStorage val messages = runBlockingIncrement { messagingStorage.getMessages() } val nextMessage = @@ -76,7 +69,7 @@ class MessageNotificationWorker( runBlockingIncrement { nimbusMessagingController.onMessageDisplayed(updatedMessage) } - nm.notify( + context.components.notificationsDelegate.notify( MESSAGE_TAG, SharedIdsHelper.getIdForTag(context, updatedMessage.id), buildNotification( diff --git a/app/src/main/java/org/mozilla/fenix/onboarding/ReEngagementNotificationWorker.kt b/app/src/main/java/org/mozilla/fenix/onboarding/ReEngagementNotificationWorker.kt index 1cdec19fbe..96b541fa82 100644 --- a/app/src/main/java/org/mozilla/fenix/onboarding/ReEngagementNotificationWorker.kt +++ b/app/src/main/java/org/mozilla/fenix/onboarding/ReEngagementNotificationWorker.kt @@ -9,7 +9,6 @@ import android.app.PendingIntent import android.content.Context import android.content.Intent import androidx.annotation.VisibleForTesting -import androidx.core.app.NotificationManagerCompat import androidx.work.ExistingWorkPolicy import androidx.work.OneTimeWorkRequest import androidx.work.WorkManager @@ -20,6 +19,7 @@ import mozilla.telemetry.glean.private.NoExtras import org.mozilla.fenix.GleanMetrics.Events import org.mozilla.fenix.HomeActivity import org.mozilla.fenix.R +import org.mozilla.fenix.ext.components import org.mozilla.fenix.ext.settings import org.mozilla.fenix.nimbus.FxNimbus import org.mozilla.fenix.utils.IntentUtils @@ -51,12 +51,11 @@ class ReEngagementNotificationWorker( } val channelId = ensureMarketingChannelExists(applicationContext) - NotificationManagerCompat.from(applicationContext) - .notify( - NOTIFICATION_TAG, - RE_ENGAGEMENT_NOTIFICATION_ID, - buildNotification(channelId), - ) + applicationContext.components.notificationsDelegate.notify( + NOTIFICATION_TAG, + RE_ENGAGEMENT_NOTIFICATION_ID, + buildNotification(channelId), + ) // re-engagement notification should only be shown once settings.reEngagementNotificationShown = true