From b61ca37523523ce3125a234d493e19489c03133f Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Tue, 27 Aug 2024 11:38:26 -0400 Subject: [PATCH] Do not link contacts to notification unless we have permission. --- .../org/thoughtcrime/securesms/util/ConversationUtil.java | 4 +++- .../securesms/webrtc/CallNotificationBuilder.java | 3 +-- 2 files changed, 4 insertions(+), 3 deletions(-) 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 ed45d85d99..a2663f0252 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/ConversationUtil.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/ConversationUtil.java @@ -1,5 +1,6 @@ package org.thoughtcrime.securesms.util; +import android.Manifest; import android.content.ComponentName; import android.content.Context; @@ -24,6 +25,7 @@ import org.thoughtcrime.securesms.database.SignalDatabase; import org.thoughtcrime.securesms.groups.GroupId; import org.thoughtcrime.securesms.jobs.ConversationShortcutUpdateJob; import org.thoughtcrime.securesms.notifications.NotificationChannels; +import org.thoughtcrime.securesms.permissions.Permissions; import org.thoughtcrime.securesms.recipients.Recipient; import org.thoughtcrime.securesms.recipients.RecipientId; @@ -292,7 +294,7 @@ public final class ConversationUtil { .setKey(getShortcutId(recipient.getId())) .setName(recipient.getDisplayName(context)) .setIcon(AvatarUtil.getIconCompat(context, recipient)) - .setUri(recipient.isSystemContact() ? recipient.getContactUri().toString() : null) + .setUri(recipient.isSystemContact() && Permissions.hasAny(context, Manifest.permission.READ_CONTACTS, Manifest.permission.WRITE_CONTACTS) ? 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 43df76007f..9e3e64e0ef 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/webrtc/CallNotificationBuilder.java +++ b/app/src/main/java/org/thoughtcrime/securesms/webrtc/CallNotificationBuilder.java @@ -87,8 +87,7 @@ public class CallNotificationBuilder { Recipient recipient, boolean isVideoCall, boolean skipPersonIcon - ) - { + ) { PendingIntent pendingIntent = getActivityPendingIntent(context, LaunchCallScreenIntentState.CONTENT); NotificationCompat.Builder builder = new NotificationCompat.Builder(context, getNotificationChannel(type)) .setSmallIcon(R.drawable.ic_call_secure_white_24dp)