Hopeful fix for remote notification crash.

This commit is contained in:
Alex Hart
2023-08-22 15:02:16 -03:00
committed by GitHub
parent 4fa3570d1e
commit 38940e0111
4 changed files with 11 additions and 10 deletions

View File

@@ -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())
}
}

View File

@@ -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

View File

@@ -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();
}

View File

@@ -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))