diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 317da665b6b..0db2a533b6e 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -871,11 +871,6 @@
android:enabled="true"
android:exported="true" />
-
-
diff --git a/app/src/main/java/io/homeassistant/companion/android/notifications/MessagingManager.kt b/app/src/main/java/io/homeassistant/companion/android/notifications/MessagingManager.kt
index 53eabb54191..3b998a4a73e 100644
--- a/app/src/main/java/io/homeassistant/companion/android/notifications/MessagingManager.kt
+++ b/app/src/main/java/io/homeassistant/companion/android/notifications/MessagingManager.kt
@@ -56,6 +56,7 @@ import io.homeassistant.companion.android.common.notifications.createChannelID
import io.homeassistant.companion.android.common.notifications.getGroupNotificationBuilder
import io.homeassistant.companion.android.common.notifications.handleChannel
import io.homeassistant.companion.android.common.notifications.handleColor
+import io.homeassistant.companion.android.common.notifications.handleDeleteIntent
import io.homeassistant.companion.android.common.notifications.handleSmallIcon
import io.homeassistant.companion.android.common.notifications.handleText
import io.homeassistant.companion.android.common.notifications.parseColor
@@ -935,7 +936,7 @@ class MessagingManager @Inject constructor(
handleReplyHistory(notificationBuilder, data)
- handleDeleteIntent(notificationBuilder, data, messageId, group, groupId, id)
+ handleDeleteIntent(context, notificationBuilder, data, messageId, group, groupId, id)
handleContentIntent(notificationBuilder, data)
@@ -1033,29 +1034,6 @@ class MessagingManager @Inject constructor(
}
}
- private fun handleDeleteIntent(
- builder: NotificationCompat.Builder,
- data: Map,
- messageId: Int,
- group: String?,
- groupId: Int,
- databaseId: Long?
- ) {
- val deleteIntent = Intent(context, NotificationDeleteReceiver::class.java).apply {
- putExtra(NotificationDeleteReceiver.EXTRA_DATA, HashMap(data))
- putExtra(NotificationDeleteReceiver.EXTRA_NOTIFICATION_GROUP, group)
- putExtra(NotificationDeleteReceiver.EXTRA_NOTIFICATION_GROUP_ID, groupId)
- putExtra(NotificationDeleteReceiver.EXTRA_NOTIFICATION_DB, databaseId)
- }
- val deletePendingIntent = PendingIntent.getBroadcast(
- context,
- messageId,
- deleteIntent,
- PendingIntent.FLAG_CANCEL_CURRENT or PendingIntent.FLAG_IMMUTABLE
- )
- builder.setDeleteIntent(deletePendingIntent)
- }
-
private fun handlePersistent(
builder: NotificationCompat.Builder,
tag: String?,
diff --git a/common/src/main/AndroidManifest.xml b/common/src/main/AndroidManifest.xml
index 12601643615..82307ba2445 100644
--- a/common/src/main/AndroidManifest.xml
+++ b/common/src/main/AndroidManifest.xml
@@ -11,6 +11,11 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/java/io/homeassistant/companion/android/notifications/NotificationDeleteReceiver.kt b/common/src/main/java/io/homeassistant/companion/android/common/notifications/NotificationDeleteReceiver.kt
similarity index 97%
rename from app/src/main/java/io/homeassistant/companion/android/notifications/NotificationDeleteReceiver.kt
rename to common/src/main/java/io/homeassistant/companion/android/common/notifications/NotificationDeleteReceiver.kt
index 2604df7687c..f27f629bd05 100644
--- a/app/src/main/java/io/homeassistant/companion/android/notifications/NotificationDeleteReceiver.kt
+++ b/common/src/main/java/io/homeassistant/companion/android/common/notifications/NotificationDeleteReceiver.kt
@@ -1,4 +1,4 @@
-package io.homeassistant.companion.android.notifications
+package io.homeassistant.companion.android.common.notifications
import android.content.BroadcastReceiver
import android.content.Context
diff --git a/common/src/main/java/io/homeassistant/companion/android/common/notifications/NotificationFunctions.kt b/common/src/main/java/io/homeassistant/companion/android/common/notifications/NotificationFunctions.kt
index e1019bb0416..4ed54bb1ef5 100755
--- a/common/src/main/java/io/homeassistant/companion/android/common/notifications/NotificationFunctions.kt
+++ b/common/src/main/java/io/homeassistant/companion/android/common/notifications/NotificationFunctions.kt
@@ -2,7 +2,9 @@ package io.homeassistant.companion.android.common.notifications
import android.app.NotificationChannel
import android.app.NotificationManager
+import android.app.PendingIntent
import android.content.Context
+import android.content.Intent
import android.graphics.Color
import android.graphics.PorterDuff
import android.graphics.PorterDuffColorFilter
@@ -290,3 +292,27 @@ fun clearNotification(context: Context, tag: String) {
val messageId = tag.hashCode()
notificationManagerCompat.cancel(tag, messageId, true)
}
+
+fun handleDeleteIntent(
+ context: Context,
+ builder: NotificationCompat.Builder,
+ data: Map,
+ messageId: Int,
+ group: String?,
+ groupId: Int,
+ databaseId: Long?
+) {
+ val deleteIntent = Intent(context, NotificationDeleteReceiver::class.java).apply {
+ putExtra(NotificationDeleteReceiver.EXTRA_DATA, HashMap(data))
+ putExtra(NotificationDeleteReceiver.EXTRA_NOTIFICATION_GROUP, group)
+ putExtra(NotificationDeleteReceiver.EXTRA_NOTIFICATION_GROUP_ID, groupId)
+ putExtra(NotificationDeleteReceiver.EXTRA_NOTIFICATION_DB, databaseId)
+ }
+ val deletePendingIntent = PendingIntent.getBroadcast(
+ context,
+ messageId,
+ deleteIntent,
+ PendingIntent.FLAG_CANCEL_CURRENT or PendingIntent.FLAG_IMMUTABLE
+ )
+ builder.setDeleteIntent(deletePendingIntent)
+}
diff --git a/wear/src/main/AndroidManifest.xml b/wear/src/main/AndroidManifest.xml
index f4d31032cd0..19dc629b31b 100644
--- a/wear/src/main/AndroidManifest.xml
+++ b/wear/src/main/AndroidManifest.xml
@@ -263,6 +263,7 @@
+
diff --git a/wear/src/main/java/io/homeassistant/companion/android/notifications/MessagingManager.kt b/wear/src/main/java/io/homeassistant/companion/android/notifications/MessagingManager.kt
index fffc857adad..76cd38f90d9 100755
--- a/wear/src/main/java/io/homeassistant/companion/android/notifications/MessagingManager.kt
+++ b/wear/src/main/java/io/homeassistant/companion/android/notifications/MessagingManager.kt
@@ -14,6 +14,7 @@ import io.homeassistant.companion.android.common.notifications.commandBeaconMoni
import io.homeassistant.companion.android.common.notifications.commandBleTransmitter
import io.homeassistant.companion.android.common.notifications.getGroupNotificationBuilder
import io.homeassistant.companion.android.common.notifications.handleChannel
+import io.homeassistant.companion.android.common.notifications.handleDeleteIntent
import io.homeassistant.companion.android.common.notifications.handleSmallIcon
import io.homeassistant.companion.android.common.notifications.handleText
import io.homeassistant.companion.android.common.util.TextToSpeechData
@@ -116,6 +117,8 @@ class MessagingManager @Inject constructor(
handleText(notificationBuilder, data)
+ handleDeleteIntent(context, notificationBuilder, data, messageId, group, groupId, null)
+
notificationManagerCompat.apply {
Log.d(TAG, "Show notification with tag \"$tag\" and id \"$messageId\"")
notify(tag, messageId, notificationBuilder.build())