Skip to content

Commit 9912a5f

Browse files
alex-signalcody-signal
authored andcommitted
Allow anyone to join a call link.
1 parent c3be92d commit 9912a5f

7 files changed

Lines changed: 10 additions & 50 deletions

File tree

app/src/main/java/org/thoughtcrime/securesms/calls/links/CallLinks.kt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import org.thoughtcrime.securesms.database.DatabaseObserver
1414
import org.thoughtcrime.securesms.database.SignalDatabase
1515
import org.thoughtcrime.securesms.dependencies.AppDependencies
1616
import org.thoughtcrime.securesms.service.webrtc.links.CallLinkRoomId
17-
import org.thoughtcrime.securesms.util.RemoteConfig
1817
import java.net.URLDecoder
1918

2019
/**
@@ -63,10 +62,6 @@ object CallLinks {
6362

6463
@JvmStatic
6564
fun parseUrl(url: String): CallLinkRootKey? {
66-
if (!RemoteConfig.adHocCalling) {
67-
return null
68-
}
69-
7065
if (!url.startsWith(HTTPS_LINK_PREFIX) && !url.startsWith(SNGL_LINK_PREFIX)) {
7166
Log.w(TAG, "Invalid url prefix.")
7267
return null

app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItem.java

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1163,18 +1163,16 @@ private void setMediaAttributes(@NonNull MessageRecord messageRecord,
11631163
//noinspection ConstantConditions
11641164
LinkPreview linkPreview = ((MmsMessageRecord) messageRecord).getLinkPreviews().get(0);
11651165

1166-
if (RemoteConfig.adHocCalling()) {
1167-
CallLinkRootKey callLinkRootKey = CallLinks.parseUrl(linkPreview.getUrl());
1168-
if (callLinkRootKey != null) {
1169-
joinCallLinkStub.setVisibility(View.VISIBLE);
1170-
joinCallLinkStub.get().setTextColor(ContextCompat.getColor(context, messageRecord.isOutgoing() ? R.color.signal_light_colorOnPrimary : R.color.signal_colorOnPrimaryContainer));
1171-
joinCallLinkStub.get().setBackgroundColor(ContextCompat.getColor(context, messageRecord.isOutgoing() ? R.color.signal_light_colorTransparent2 : R.color.signal_colorOnPrimary));
1172-
joinCallLinkStub.get().setOnClickListener(v -> {
1173-
if (eventListener != null) {
1174-
eventListener.onJoinCallLink(callLinkRootKey);
1175-
}
1176-
});
1177-
}
1166+
CallLinkRootKey callLinkRootKey = CallLinks.parseUrl(linkPreview.getUrl());
1167+
if (callLinkRootKey != null) {
1168+
joinCallLinkStub.setVisibility(View.VISIBLE);
1169+
joinCallLinkStub.get().setTextColor(ContextCompat.getColor(context, messageRecord.isOutgoing() ? R.color.signal_light_colorOnPrimary : R.color.signal_colorOnPrimaryContainer));
1170+
joinCallLinkStub.get().setBackgroundColor(ContextCompat.getColor(context, messageRecord.isOutgoing() ? R.color.signal_light_colorTransparent2 : R.color.signal_colorOnPrimary));
1171+
joinCallLinkStub.get().setOnClickListener(v -> {
1172+
if (eventListener != null) {
1173+
eventListener.onJoinCallLink(callLinkRootKey);
1174+
}
1175+
});
11781176
}
11791177

11801178
if (hasBigImageLinkPreview(messageRecord)) {

app/src/main/java/org/thoughtcrime/securesms/jobs/CallLinkPeekJob.kt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import org.thoughtcrime.securesms.jobmanager.JsonJobData
1212
import org.thoughtcrime.securesms.jobmanager.impl.NetworkConstraint
1313
import org.thoughtcrime.securesms.recipients.Recipient
1414
import org.thoughtcrime.securesms.recipients.RecipientId
15-
import org.thoughtcrime.securesms.util.RemoteConfig
1615
import java.util.concurrent.TimeUnit
1716

1817
/**
@@ -46,11 +45,6 @@ internal class CallLinkPeekJob private constructor(
4645
)
4746

4847
override fun onRun() {
49-
if (!RemoteConfig.adHocCalling) {
50-
Log.i(TAG, "Ad hoc calling is disabled. Dropping peek for call link.")
51-
return
52-
}
53-
5448
val recipient = Recipient.resolved(callLinkRecipientId)
5549
if (!recipient.isCallLink) {
5650
Log.w(TAG, "Recipient was not a call link. Ignoring.")

app/src/main/java/org/thoughtcrime/securesms/jobs/CallLinkUpdateSendJob.kt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import org.thoughtcrime.securesms.jobmanager.Job
1313
import org.thoughtcrime.securesms.jobmanager.impl.NetworkConstraint
1414
import org.thoughtcrime.securesms.jobs.protos.CallLinkUpdateSendJobData
1515
import org.thoughtcrime.securesms.service.webrtc.links.CallLinkRoomId
16-
import org.thoughtcrime.securesms.util.RemoteConfig
1716
import org.whispersystems.signalservice.api.messages.multidevice.SignalServiceSyncMessage
1817
import org.whispersystems.signalservice.api.push.exceptions.PushNetworkException
1918
import org.whispersystems.signalservice.api.push.exceptions.ServerRejectedException
@@ -63,11 +62,6 @@ class CallLinkUpdateSendJob private constructor(
6362
override fun onFailure() = Unit
6463

6564
override fun onRun() {
66-
if (!RemoteConfig.adHocCalling) {
67-
Log.i(TAG, "Call links are not enabled. Exiting.")
68-
return
69-
}
70-
7165
val callLink = SignalDatabase.callLinks.getCallLinkByRoomId(callLinkRoomId)
7266
if (callLink?.credentials == null) {
7367
Log.i(TAG, "Call link not found or missing credentials. Exiting.")

app/src/main/java/org/thoughtcrime/securesms/messages/SyncMessageProcessor.kt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,6 @@ import org.thoughtcrime.securesms.util.EarlyMessageCacheEntry
9595
import org.thoughtcrime.securesms.util.IdentityUtil
9696
import org.thoughtcrime.securesms.util.MediaUtil
9797
import org.thoughtcrime.securesms.util.MessageConstraintsUtil
98-
import org.thoughtcrime.securesms.util.RemoteConfig
9998
import org.thoughtcrime.securesms.util.TextSecurePreferences
10099
import org.thoughtcrime.securesms.util.Util
101100
import org.whispersystems.signalservice.api.crypto.EnvelopeMetadata
@@ -1407,11 +1406,6 @@ object SyncMessageProcessor {
14071406

14081407
@Throws(BadGroupIdException::class)
14091408
private fun handleSynchronizeGroupOrAdHocCallEvent(callEvent: SyncMessage.CallEvent, envelopeTimestamp: Long) {
1410-
if (!RemoteConfig.adHocCalling && callEvent.type == SyncMessage.CallEvent.Type.AD_HOC_CALL) {
1411-
log(envelopeTimestamp, "Ad-Hoc calling is not currently supported by this client, ignoring.")
1412-
return
1413-
}
1414-
14151409
val callId: Long = callEvent.id!!
14161410
val timestamp: Long = callEvent.timestamp ?: 0L
14171411
val type: CallTable.Type? = CallTable.Type.from(callEvent.type)

app/src/main/java/org/thoughtcrime/securesms/service/webrtc/SignalCallManager.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -392,11 +392,6 @@ public void peekCallLinkCall(@NonNull RecipientId id) {
392392
return;
393393
}
394394

395-
if (!RemoteConfig.adHocCalling()) {
396-
Log.i(TAG, "Ad Hoc Calling is disabled. Ignoring request to peek.");
397-
return;
398-
}
399-
400395
networkExecutor.execute(() -> {
401396
try {
402397
Recipient callLinkRecipient = Recipient.resolved(id);

app/src/main/java/org/thoughtcrime/securesms/util/CommunicationActions.java

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -312,11 +312,6 @@ public static void handlePotentialCallLinkUrl(@NonNull FragmentActivity activity
312312
return;
313313
}
314314

315-
if (!RemoteConfig.adHocCalling()) {
316-
Toast.makeText(activity, R.string.CommunicationActions_cant_join_call, Toast.LENGTH_SHORT).show();
317-
return;
318-
}
319-
320315
CallLinkRootKey rootKey = CallLinks.parseUrl(potentialUrl);
321316
if (rootKey == null) {
322317
Log.w(TAG, "Failed to parse root key from call link");
@@ -342,11 +337,6 @@ public static void startVideoCall(@NonNull Fragment fragment, @NonNull CallLinkR
342337
}
343338

344339
private static void startVideoCall(@NonNull CallContext callContext, @NonNull CallLinkRootKey rootKey) {
345-
if (!RemoteConfig.adHocCalling()) {
346-
Toast.makeText(callContext.getContext(), R.string.CommunicationActions_cant_join_call, Toast.LENGTH_SHORT).show();
347-
return;
348-
}
349-
350340
SimpleTask.run(() -> {
351341
CallLinkRoomId roomId = CallLinkRoomId.fromBytes(rootKey.deriveRoomId());
352342
CallLinkTable.CallLink callLink = SignalDatabase.callLinks().getOrCreateCallLinkByRootKey(rootKey);

0 commit comments

Comments
 (0)