From 38940e01110b45f0dd3e093ebf03aa1605b72c15 Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Tue, 22 Aug 2023 15:02:16 -0300 Subject: [PATCH] Hopeful fix for remote notification crash. --- .../thoughtcrime/securesms/providers/AvatarProvider.kt | 7 ++----- .../java/org/thoughtcrime/securesms/util/AvatarUtil.java | 4 ++-- .../org/thoughtcrime/securesms/util/ConversationUtil.java | 2 +- .../securesms/webrtc/CallNotificationBuilder.java | 8 ++++++-- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/providers/AvatarProvider.kt b/app/src/main/java/org/thoughtcrime/securesms/providers/AvatarProvider.kt index 3b9f14280e..92496551fe 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/providers/AvatarProvider.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/providers/AvatarProvider.kt @@ -59,11 +59,8 @@ class AvatarProvider : BaseContentProvider() { } @JvmStatic - fun getContentUri(context: Context, recipientId: RecipientId): Uri { - val uri = ContentUris.withAppendedId(CONTENT_URI, recipientId.toLong()) - context.applicationContext.grantUriPermission("com.android.systemui", uri, Intent.FLAG_GRANT_READ_URI_PERMISSION) - - return uri + fun getContentUri(recipientId: RecipientId): Uri { + return ContentUris.withAppendedId(CONTENT_URI, recipientId.toLong()) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/AvatarUtil.java b/app/src/main/java/org/thoughtcrime/securesms/util/AvatarUtil.java index 910305de9b..45039f9d90 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/AvatarUtil.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/AvatarUtil.java @@ -109,8 +109,8 @@ public final class AvatarUtil { } @WorkerThread - public static IconCompat getIconWithUriForNotification(@NonNull Context context, @NonNull RecipientId recipientId) { - return IconCompat.createWithContentUri(AvatarProvider.getContentUri(context, recipientId)); + public static IconCompat getIconWithUriForNotification(@NonNull RecipientId recipientId) { + return IconCompat.createWithContentUri(AvatarProvider.getContentUri(recipientId)); } @WorkerThread diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/ConversationUtil.java b/app/src/main/java/org/thoughtcrime/securesms/util/ConversationUtil.java index 6d702491f2..bd20b8944a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/ConversationUtil.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/ConversationUtil.java @@ -290,7 +290,7 @@ public final class ConversationUtil { return new Person.Builder() .setKey(getShortcutId(recipient.getId())) .setName(recipient.getDisplayName(context)) - .setIcon(AvatarUtil.getIconWithUriForNotification(context, recipient.getId())) + .setIcon(AvatarUtil.getIconWithUriForNotification(recipient.getId())) .setUri(recipient.isSystemContact() ? recipient.getContactUri().toString() : null) .build(); } diff --git a/app/src/main/java/org/thoughtcrime/securesms/webrtc/CallNotificationBuilder.java b/app/src/main/java/org/thoughtcrime/securesms/webrtc/CallNotificationBuilder.java index 20803e0ab0..415b9173eb 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/webrtc/CallNotificationBuilder.java +++ b/app/src/main/java/org/thoughtcrime/securesms/webrtc/CallNotificationBuilder.java @@ -80,8 +80,10 @@ public class CallNotificationBuilder { builder.setCategory(NotificationCompat.CATEGORY_CALL); builder.setFullScreenIntent(pendingIntent, true); + Person person = ConversationUtil.buildPerson(context, recipient); + builder.addPerson(person); + if (deviceVersionSupportsIncomingCallStyle()) { - Person person = ConversationUtil.buildPerson(context, recipient); builder.setStyle(NotificationCompat.CallStyle.forIncomingCall( person, getServicePendingIntent(context, WebRtcCallService.denyCallIntent(context)), @@ -100,8 +102,10 @@ public class CallNotificationBuilder { builder.setPriority(NotificationCompat.PRIORITY_DEFAULT); builder.setCategory(NotificationCompat.CATEGORY_CALL); + Person person = ConversationUtil.buildPerson(context, recipient); + builder.addPerson(person); + if (deviceVersionSupportsIncomingCallStyle()) { - Person person = ConversationUtil.buildPerson(context, recipient); builder.setStyle(NotificationCompat.CallStyle.forOngoingCall( person, getServicePendingIntent(context, WebRtcCallService.hangupIntent(context))