From 7c8549bf5ea0de321a506e04ddceda43213a352f Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Fri, 30 Jul 2021 12:27:28 -0400 Subject: [PATCH] Don't unnecessarily create threads for groups. --- .../service/webrtc/SignalCallManager.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) 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 ca24382c6..5dcd58b41 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 @@ -287,17 +287,19 @@ public final class SignalCallManager implements CallManager.Observer, GroupCall. .toList(); callManager.peekGroupCall(SignalStore.internalValues().groupCallingServer(), credential.getTokenBytes().toByteArray(), members, peekInfo -> { - long threadId = DatabaseFactory.getThreadDatabase(context).getOrCreateThreadIdFor(group); + Long threadId = DatabaseFactory.getThreadDatabase(context).getThreadIdFor(group.getId()); - DatabaseFactory.getSmsDatabase(context) - .updatePreviousGroupCall(threadId, - peekInfo.getEraId(), - peekInfo.getJoinedMembers(), - WebRtcUtil.isCallFull(peekInfo)); + if (threadId != null) { + DatabaseFactory.getSmsDatabase(context) + .updatePreviousGroupCall(threadId, + peekInfo.getEraId(), + peekInfo.getJoinedMembers(), + WebRtcUtil.isCallFull(peekInfo)); - ApplicationDependencies.getMessageNotifier().updateNotification(context, threadId, true, 0, BubbleUtil.BubbleState.HIDDEN); + ApplicationDependencies.getMessageNotifier().updateNotification(context, threadId, true, 0, BubbleUtil.BubbleState.HIDDEN); - EventBus.getDefault().postSticky(new GroupCallPeekEvent(id, peekInfo.getEraId(), peekInfo.getDeviceCount(), peekInfo.getMaxDevices())); + EventBus.getDefault().postSticky(new GroupCallPeekEvent(id, peekInfo.getEraId(), peekInfo.getDeviceCount(), peekInfo.getMaxDevices())); + } }); } catch (IOException | VerificationFailedException | CallException e) { Log.e(TAG, "error peeking from active conversation", e);