diff options
author | Samuel Newman <mozzius@protonmail.com> | 2025-06-20 11:01:55 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-06-20 11:01:55 +0300 |
commit | 4c75b568dfad4f44d4df76f44236bb1c9acd89a4 (patch) | |
tree | 911b496b7dbcb2712de8175e284bd8e586d26beb /modules | |
parent | 9702b210cc8d506aaf9f4fe3fd4b3f1951554360 (diff) | |
download | voidsky-4c75b568dfad4f44d4df76f44236bb1c9acd89a4.tar.zst |
Android notification channels (#8539)
Diffstat (limited to 'modules')
-rw-r--r-- | modules/expo-background-notification-handler/android/src/main/java/expo/modules/backgroundnotificationhandler/BackgroundNotificationHandler.kt | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/modules/expo-background-notification-handler/android/src/main/java/expo/modules/backgroundnotificationhandler/BackgroundNotificationHandler.kt b/modules/expo-background-notification-handler/android/src/main/java/expo/modules/backgroundnotificationhandler/BackgroundNotificationHandler.kt index 7c1494c70..9fdfcfd89 100644 --- a/modules/expo-background-notification-handler/android/src/main/java/expo/modules/backgroundnotificationhandler/BackgroundNotificationHandler.kt +++ b/modules/expo-background-notification-handler/android/src/main/java/expo/modules/backgroundnotificationhandler/BackgroundNotificationHandler.kt @@ -15,6 +15,8 @@ class BackgroundNotificationHandler( if (remoteMessage.data["reason"] == "chat-message") { mutateWithChatMessage(remoteMessage) + } else { + mutateWithOtherReason(remoteMessage) } notifInterface.showMessage(remoteMessage) @@ -39,4 +41,17 @@ class BackgroundNotificationHandler( // TODO - Remove this once we have more backend capability remoteMessage.data["badge"] = null } + + private fun mutateWithOtherReason(remoteMessage: RemoteMessage) { + // If oreo or higher + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) { + // If one of "like", "repost", "follow", "mention", "reply", "quote", "like-via-repost", "repost-via-repost" + // assign to it's eponymous channel. otherwise do nothing, let expo handle it + when (remoteMessage.data["reason"]) { + "like", "repost", "follow", "mention", "reply", "quote", "like-via-repost", "repost-via-repost" -> { + remoteMessage.data["channelId"] = remoteMessage.data["reason"] + } + } + } + } } |