Merge pull request #6183 from SpiritCroc/persist-image-notification

Fix some notifications never getting dismissed
This commit is contained in:
Benoit Marty 2022-05-30 20:24:11 +02:00 committed by GitHub
commit bd2cd3ad96
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 11 additions and 5 deletions

1
changelog.d/4862.bugfix Normal file
View File

@ -0,0 +1 @@
Fix some notifications not clearing when read

View File

@ -151,7 +151,7 @@ class NotifiableEventResolver @Inject constructor(
senderName = senderDisplayName,
senderId = event.root.senderId,
body = body.toString(),
imageUri = event.fetchImageIfPresent(session),
imageUriString = event.fetchImageIfPresent(session)?.toString(),
roomId = event.root.roomId!!,
roomName = roomName,
matrixID = session.myUserId
@ -176,7 +176,7 @@ class NotifiableEventResolver @Inject constructor(
senderName = senderDisplayName,
senderId = event.root.senderId,
body = body,
imageUri = event.fetchImageIfPresent(session),
imageUriString = event.fetchImageIfPresent(session)?.toString(),
roomId = event.root.roomId!!,
roomName = roomName,
roomIsDirect = room.roomSummary()?.isDirect ?: false,

View File

@ -27,7 +27,9 @@ data class NotifiableMessageEvent(
val senderName: String?,
val senderId: String?,
val body: String?,
val imageUri: Uri?,
// We cannot use Uri? type here, as that could trigger a
// NotSerializableException when persisting this to storage
val imageUriString: String?,
val roomId: String,
val roomName: String?,
val roomIsDirect: Boolean = false,
@ -45,4 +47,7 @@ data class NotifiableMessageEvent(
val type: String = EventType.MESSAGE
val description: String = body ?: ""
val title: String = senderName ?: ""
val imageUri: Uri?
get() = imageUriString?.let { Uri.parse(it) }
}

View File

@ -145,7 +145,7 @@ class NotificationBroadcastReceiver : BroadcastReceiver() {
?: context?.getString(R.string.notification_sender_me),
senderId = session.myUserId,
body = message,
imageUri = null,
imageUriString = null,
roomId = room.roomId,
roomName = room.roomSummary()?.displayName ?: room.roomId,
roomIsDirect = room.roomSummary()?.isDirect == true,

View File

@ -77,5 +77,5 @@ fun aNotifiableMessageEvent(
roomIsDirect = false,
canBeReplaced = false,
isRedacted = isRedacted,
imageUri = null
imageUriString = null
)