From d77162d768a45ecbe3798fde73dbf4c2250f7bcb Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 14 Apr 2023 17:14:29 +0200 Subject: [PATCH] Create getDismissRoomPendingIntent() --- .../impl/notifications/NotificationUtils.kt | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/notifications/NotificationUtils.kt b/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/notifications/NotificationUtils.kt index ef4d4c7438..196f7efb05 100755 --- a/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/notifications/NotificationUtils.kt +++ b/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/notifications/NotificationUtils.kt @@ -300,26 +300,13 @@ class NotificationUtils @Inject constructor( if (!roomInfo.hasSmartReplyError) { addAction(quickReplyActionFactory.create(roomInfo, threadId)) } - if (openIntent != null) { setContentIntent(openIntent) } - if (largeIcon != null) { setLargeIcon(largeIcon) } - - val intent = Intent(context, NotificationBroadcastReceiver::class.java) - intent.action = actionIds.dismissRoom - intent.putExtra(NotificationBroadcastReceiver.KEY_SESSION_ID, roomInfo.sessionId) - intent.putExtra(NotificationBroadcastReceiver.KEY_ROOM_ID, roomInfo.roomId) - val pendingIntent = PendingIntent.getBroadcast( - context.applicationContext, - clock.epochMillis().toInt(), - intent, - PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE - ) - setDeleteIntent(pendingIntent) + setDeleteIntent(getDismissRoomPendingIntent(roomInfo)) } .setTicker(tickerText) .build() @@ -487,13 +474,26 @@ class NotificationUtils @Inject constructor( intent.data = createIgnoredUri("deleteSummary?$sessionId") intent.putExtra(NotificationBroadcastReceiver.KEY_SESSION_ID, sessionId) return PendingIntent.getBroadcast( - context.applicationContext, + context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE ) } + private fun getDismissRoomPendingIntent(roomInfo: RoomEventGroupInfo): PendingIntent { + val intent = Intent(context, NotificationBroadcastReceiver::class.java) + intent.action = actionIds.dismissRoom + intent.putExtra(NotificationBroadcastReceiver.KEY_SESSION_ID, roomInfo.sessionId) + intent.putExtra(NotificationBroadcastReceiver.KEY_ROOM_ID, roomInfo.roomId) + return PendingIntent.getBroadcast( + context, + clock.epochMillis().toInt(), + intent, + PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE + ) + } + /** * Cancel the foreground notification service. */