diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/SignalCallManager.java b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/SignalCallManager.java index d66511de3e..481de40a4f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/SignalCallManager.java +++ b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/SignalCallManager.java @@ -743,13 +743,13 @@ private void processStateless(@NonNull Function1 group = SignalDatabase.groups().getGroup(groupId); + GroupId.V2 groupId = GroupId.v2(new GroupIdentifier(groupIdBytes)); + GroupDatabase.GroupRecord group = SignalDatabase.groups().getGroup(groupId).orElse(null); - if (group.isPresent()) { - process((s, p) -> p.handleGroupCallRingUpdate(s, new RemotePeer(group.get().getRecipientId()), groupId, ringId, uuid, ringUpdate)); + if (group != null && group.isActive() && !Recipient.resolved(group.getRecipientId()).isBlocked()) { + process((s, p) -> p.handleGroupCallRingUpdate(s, new RemotePeer(group.getRecipientId()), groupId, ringId, uuid, ringUpdate)); } else { - Log.w(TAG, "Unable to ring unknown group."); + Log.w(TAG, "Unable to ring unknown/inactive/blocked group."); } } catch (InvalidInputException e) { Log.w(TAG, "Unable to ring group due to invalid group id", e);