From 1cc0f4bf80dc750bbace2b156fad2828982c938c Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Tue, 30 May 2023 16:02:45 -0400 Subject: [PATCH] Don't notify twice --- .../service/notifications/NotificationUtils.kt | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/service/notifications/NotificationUtils.kt b/app/src/main/java/com/vitorpamplona/amethyst/service/notifications/NotificationUtils.kt index 36a5bcb84..5e772035b 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/service/notifications/NotificationUtils.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/service/notifications/NotificationUtils.kt @@ -7,6 +7,7 @@ import android.content.Context import android.content.Intent import android.graphics.drawable.BitmapDrawable import android.net.Uri +import android.service.notification.StatusBarNotification import androidx.core.app.NotificationCompat import coil.ImageLoader import coil.executeBlocking @@ -133,13 +134,23 @@ object NotificationUtils { channelId: String, applicationContext: Context ) { + val notId = id.hashCode() + + // dont notify twice + val notifications: Array = getActiveNotifications() + for (notification in notifications) { + if (notification.id == notId) { + return + } + } + val contentIntent = Intent(applicationContext, MainActivity::class.java).apply { data = Uri.parse(uri) } val contentPendingIntent = PendingIntent.getActivity( applicationContext, - id.hashCode(), + notId, contentIntent, PendingIntent.FLAG_MUTABLE ) @@ -173,7 +184,7 @@ object NotificationUtils { .setPriority(NotificationCompat.PRIORITY_HIGH) .setAutoCancel(true) - notify(id.hashCode(), builder.build()) + notify(notId, builder.build()) } /**