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 ca24382c68..5dcd58b416 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);