From 78b714e019702ca9c3799c9fd2ebaef265555f99 Mon Sep 17 00:00:00 2001 From: Jim Gustafson Date: Thu, 4 Jan 2024 16:19:43 -0800 Subject: [PATCH] Remove legacy call message fields --- .../messages/CallMessageProcessor.kt | 16 ++++----- .../service/webrtc/SignalCallManager.java | 8 ++--- .../service/webrtc/WebRtcActionProcessor.java | 16 ++++----- .../securesms/service/webrtc/WebRtcData.java | 16 ++------- .../api/SignalServiceMessageSender.java | 16 +-------- .../api/messages/calls/AnswerMessage.java | 8 +---- .../api/messages/calls/IceUpdateMessage.java | 8 +---- .../api/messages/calls/OfferMessage.java | 8 +---- .../calls/SignalServiceCallMessage.java | 35 +++++-------------- .../src/main/protowire/SignalService.proto | 17 ++++----- 10 files changed, 40 insertions(+), 108 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/messages/CallMessageProcessor.kt b/app/src/main/java/org/thoughtcrime/securesms/messages/CallMessageProcessor.kt index 5b58c50c98..991fb4d208 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/messages/CallMessageProcessor.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/messages/CallMessageProcessor.kt @@ -40,9 +40,7 @@ object CallMessageProcessor { callMessage.offer != null -> handleCallOfferMessage(envelope, metadata, callMessage.offer!!, senderRecipient.id, serverDeliveredTimestamp) callMessage.answer != null -> handleCallAnswerMessage(envelope, metadata, callMessage.answer!!, senderRecipient.id) callMessage.iceUpdate.isNotEmpty() -> handleCallIceUpdateMessage(envelope, metadata, callMessage.iceUpdate, senderRecipient.id) - callMessage.hangup != null || callMessage.legacyHangup != null -> { - handleCallHangupMessage(envelope, metadata, callMessage.hangup ?: callMessage.legacyHangup, senderRecipient.id) - } + callMessage.hangup != null -> handleCallHangupMessage(envelope, metadata, callMessage.hangup!!, senderRecipient.id) callMessage.busy != null -> handleCallBusyMessage(envelope, metadata, callMessage.busy!!, senderRecipient.id) callMessage.opaque != null -> handleCallOpaqueMessage(envelope, metadata, callMessage.opaque!!, senderRecipient.requireAci(), serverDeliveredTimestamp) } @@ -51,10 +49,10 @@ object CallMessageProcessor { private fun handleCallOfferMessage(envelope: Envelope, metadata: EnvelopeMetadata, offer: Offer, senderRecipientId: RecipientId, serverDeliveredTimestamp: Long) { log(envelope.timestamp!!, "handleCallOfferMessage...") - val offerId = if (offer.id != null && offer.type != null && ((offer.opaque != null) xor (offer.sdp != null))) { + val offerId = if (offer.id != null && offer.type != null && offer.opaque != null) { offer.id!! } else { - warn(envelope.timestamp!!, "Invalid offer, missing id/type, or invalid combination of opaque/sdp") + warn(envelope.timestamp!!, "Invalid offer, missing id, type, or opaque") return } @@ -64,7 +62,7 @@ object CallMessageProcessor { ApplicationDependencies.getSignalCallManager() .receivedOffer( CallMetadata(remotePeer, metadata.sourceDeviceId), - OfferMetadata(offer.opaque?.toByteArray(), offer.sdp, OfferMessage.Type.fromProto(offer.type!!)), + OfferMetadata(offer.opaque?.toByteArray(), OfferMessage.Type.fromProto(offer.type!!)), ReceivedOfferMetadata( remoteIdentityKey, envelope.serverTimestamp!!, @@ -81,10 +79,10 @@ object CallMessageProcessor { ) { log(envelope.timestamp!!, "handleCallAnswerMessage...") - val answerId = if (answer.id != null && ((answer.opaque != null) xor (answer.sdp != null))) { + val answerId = if (answer.id != null && answer.opaque != null) { answer.id!! } else { - warn(envelope.timestamp!!, "Invalid answer, missing id") + warn(envelope.timestamp!!, "Invalid answer, missing id or opaque") return } @@ -94,7 +92,7 @@ object CallMessageProcessor { ApplicationDependencies.getSignalCallManager() .receivedAnswer( CallMetadata(remotePeer, metadata.sourceDeviceId), - AnswerMetadata(answer.opaque?.toByteArray(), answer.sdp), + AnswerMetadata(answer.opaque?.toByteArray()), ReceivedAnswerMetadata(remoteIdentityKey) ) } 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 a6a1e62636..4da906a39a 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 @@ -678,7 +678,7 @@ public final class SignalCallManager implements CallManager.Observer, GroupCall. OfferMessage.Type offerType = WebRtcUtil.getOfferTypeFromCallMediaType(callMediaType); WebRtcData.CallMetadata callMetadata = new WebRtcData.CallMetadata(remotePeer, remoteDevice); - WebRtcData.OfferMetadata offerMetadata = new WebRtcData.OfferMetadata(opaque, null, offerType); + WebRtcData.OfferMetadata offerMetadata = new WebRtcData.OfferMetadata(opaque, offerType); process((s, p) -> p.handleSendOffer(s, callMetadata, offerMetadata, broadcast)); } @@ -699,7 +699,7 @@ public final class SignalCallManager implements CallManager.Observer, GroupCall. Log.i(TAG, "onSendAnswer: id: " + remotePeer.getCallId().format(remoteDevice)); WebRtcData.CallMetadata callMetadata = new WebRtcData.CallMetadata(remotePeer, remoteDevice); - WebRtcData.AnswerMetadata answerMetadata = new WebRtcData.AnswerMetadata(opaque, null); + WebRtcData.AnswerMetadata answerMetadata = new WebRtcData.AnswerMetadata(opaque); process((s, p) -> p.handleSendAnswer(s, callMetadata, answerMetadata, broadcast)); } @@ -760,7 +760,7 @@ public final class SignalCallManager implements CallManager.Observer, GroupCall. Log.i(TAG, "onSendCallMessage():"); OpaqueMessage opaqueMessage = new OpaqueMessage(bytes, getUrgencyFromCallUrgency(urgency)); - SignalServiceCallMessage callMessage = SignalServiceCallMessage.forOpaque(opaqueMessage, true, null); + SignalServiceCallMessage callMessage = SignalServiceCallMessage.forOpaque(opaqueMessage, null); networkExecutor.execute(() -> { Recipient recipient = Recipient.resolved(RecipientId.from(ACI.from(aciUuid))); @@ -797,7 +797,7 @@ public final class SignalCallManager implements CallManager.Observer, GroupCall. .collect(Collectors.toList()))); OpaqueMessage opaqueMessage = new OpaqueMessage(message, getUrgencyFromCallUrgency(urgency)); - SignalServiceCallMessage callMessage = SignalServiceCallMessage.forOutgoingGroupOpaque(groupId.getDecodedId(), System.currentTimeMillis(), opaqueMessage, true, null); + SignalServiceCallMessage callMessage = SignalServiceCallMessage.forOutgoingGroupOpaque(groupId.getDecodedId(), System.currentTimeMillis(), opaqueMessage, null); RecipientAccessList accessList = new RecipientAccessList(recipients); List results = GroupSendUtil.sendCallMessage(context, diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/WebRtcActionProcessor.java b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/WebRtcActionProcessor.java index ff628e20aa..8916507314 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/WebRtcActionProcessor.java +++ b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/WebRtcActionProcessor.java @@ -132,9 +132,9 @@ public abstract class WebRtcActionProcessor { protected final @NonNull WebRtcServiceState handleSendOffer(@NonNull WebRtcServiceState currentState, @NonNull CallMetadata callMetadata, @NonNull OfferMetadata offerMetadata, boolean broadcast) { Log.i(tag, "handleSendOffer(): id: " + callMetadata.getCallId().format(callMetadata.getRemoteDevice())); - OfferMessage offerMessage = new OfferMessage(callMetadata.getCallId().longValue(), offerMetadata.getSdp(), offerMetadata.getOfferType(), offerMetadata.getOpaque()); + OfferMessage offerMessage = new OfferMessage(callMetadata.getCallId().longValue(), offerMetadata.getOfferType(), offerMetadata.getOpaque()); Integer destinationDeviceId = broadcast ? null : callMetadata.getRemoteDevice(); - SignalServiceCallMessage callMessage = SignalServiceCallMessage.forOffer(offerMessage, true, destinationDeviceId); + SignalServiceCallMessage callMessage = SignalServiceCallMessage.forOffer(offerMessage, destinationDeviceId); Recipient callRecipient = currentState.getCallInfoState().getCallRecipient(); RecipientUtil.shareProfileIfFirstSecureMessage(callRecipient); @@ -320,9 +320,9 @@ public abstract class WebRtcActionProcessor { { Log.i(tag, "handleSendAnswer(): id: " + callMetadata.getCallId().format(callMetadata.getRemoteDevice())); - AnswerMessage answerMessage = new AnswerMessage(callMetadata.getCallId().longValue(), answerMetadata.getSdp(), answerMetadata.getOpaque()); + AnswerMessage answerMessage = new AnswerMessage(callMetadata.getCallId().longValue(), answerMetadata.getOpaque()); Integer destinationDeviceId = broadcast ? null : callMetadata.getRemoteDevice(); - SignalServiceCallMessage callMessage = SignalServiceCallMessage.forAnswer(answerMessage, true, destinationDeviceId); + SignalServiceCallMessage callMessage = SignalServiceCallMessage.forAnswer(answerMessage, destinationDeviceId); webRtcInteractor.sendCallMessage(callMetadata.getRemotePeer(), callMessage); @@ -348,7 +348,7 @@ public abstract class WebRtcActionProcessor { BusyMessage busyMessage = new BusyMessage(callMetadata.getCallId().longValue()); Integer destinationDeviceId = broadcast ? null : callMetadata.getRemoteDevice(); - SignalServiceCallMessage callMessage = SignalServiceCallMessage.forBusy(busyMessage, true, destinationDeviceId); + SignalServiceCallMessage callMessage = SignalServiceCallMessage.forBusy(busyMessage, destinationDeviceId); webRtcInteractor.sendCallMessage(callMetadata.getRemotePeer(), callMessage); @@ -411,7 +411,7 @@ public abstract class WebRtcActionProcessor { HangupMessage hangupMessage = new HangupMessage(callMetadata.getCallId().longValue(), hangupMetadata.getType(), hangupMetadata.getDeviceId()); Integer destinationDeviceId = broadcast ? null : callMetadata.getRemoteDevice(); - SignalServiceCallMessage callMessage = SignalServiceCallMessage.forHangup(hangupMessage, true, destinationDeviceId); + SignalServiceCallMessage callMessage = SignalServiceCallMessage.forHangup(hangupMessage, destinationDeviceId); webRtcInteractor.sendCallMessage(callMetadata.getRemotePeer(), callMessage); @@ -494,11 +494,11 @@ public abstract class WebRtcActionProcessor { Log.i(tag, "handleSendIceCandidates(): id: " + callMetadata.getCallId().format(callMetadata.getRemoteDevice())); List iceUpdateMessages = Stream.of(iceCandidates) - .map(c -> new IceUpdateMessage(callMetadata.getCallId().longValue(), c, null)) + .map(c -> new IceUpdateMessage(callMetadata.getCallId().longValue(), c)) .toList(); Integer destinationDeviceId = broadcast ? null : callMetadata.getRemoteDevice(); - SignalServiceCallMessage callMessage = SignalServiceCallMessage.forIceUpdates(iceUpdateMessages, true, destinationDeviceId); + SignalServiceCallMessage callMessage = SignalServiceCallMessage.forIceUpdates(iceUpdateMessages, destinationDeviceId); webRtcInteractor.sendCallMessage(callMetadata.getRemotePeer(), callMessage); diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/WebRtcData.java b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/WebRtcData.java index 55b9276ed9..e111cc3ace 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/WebRtcData.java +++ b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/WebRtcData.java @@ -46,12 +46,10 @@ public class WebRtcData { */ public static class OfferMetadata { private final @Nullable byte[] opaque; - private final @Nullable String sdp; private final @NonNull OfferMessage.Type offerType; - public OfferMetadata(@Nullable byte[] opaque, @Nullable String sdp, @NonNull OfferMessage.Type offerType) { + public OfferMetadata(@Nullable byte[] opaque, @NonNull OfferMessage.Type offerType) { this.opaque = opaque; - this.sdp = sdp; this.offerType = offerType; } @@ -59,10 +57,6 @@ public class WebRtcData { return opaque; } - @Nullable String getSdp() { - return sdp; - } - @NonNull OfferMessage.Type getOfferType() { return offerType; } @@ -100,20 +94,14 @@ public class WebRtcData { */ public static class AnswerMetadata { private final @Nullable byte[] opaque; - private final @Nullable String sdp; - public AnswerMetadata(@Nullable byte[] opaque, @Nullable String sdp) { + public AnswerMetadata(@Nullable byte[] opaque) { this.opaque = opaque; - this.sdp = sdp; } @Nullable byte[] getOpaque() { return opaque; } - - @Nullable String getSdp() { - return sdp; - } } /** diff --git a/libsignal-service/src/main/java/org/whispersystems/signalservice/api/SignalServiceMessageSender.java b/libsignal-service/src/main/java/org/whispersystems/signalservice/api/SignalServiceMessageSender.java index e046b86b22..a082752d9e 100644 --- a/libsignal-service/src/main/java/org/whispersystems/signalservice/api/SignalServiceMessageSender.java +++ b/libsignal-service/src/main/java/org/whispersystems/signalservice/api/SignalServiceMessageSender.java @@ -1294,10 +1294,6 @@ public class SignalServiceMessageSender { offerBuilder.opaque(ByteString.of(offer.getOpaque())); } - if (offer.getSdp() != null) { - offerBuilder.sdp(offer.getSdp()); - } - builder.offer(offerBuilder.build()); } else if (callMessage.getAnswerMessage().isPresent()) { AnswerMessage answer = callMessage.getAnswerMessage().get(); @@ -1308,28 +1304,18 @@ public class SignalServiceMessageSender { answerBuilder.opaque(ByteString.of(answer.getOpaque())); } - if (answer.getSdp() != null) { - answerBuilder.sdp(answer.getSdp()); - } - builder.answer(answerBuilder.build()); } else if (callMessage.getIceUpdateMessages().isPresent()) { List updates = callMessage.getIceUpdateMessages().get(); List iceUpdates = new ArrayList<>(updates.size()); for (IceUpdateMessage update : updates) { CallMessage.IceUpdate.Builder iceBuilder = new CallMessage.IceUpdate.Builder() - .id(update.getId()) - .mid("audio") - .line(0); + .id(update.getId()); if (update.getOpaque() != null) { iceBuilder.opaque(ByteString.of(update.getOpaque())); } - if (update.getSdp() != null) { - iceBuilder.sdp(update.getSdp()); - } - iceUpdates.add(iceBuilder.build()); } builder.iceUpdate(iceUpdates); diff --git a/libsignal-service/src/main/java/org/whispersystems/signalservice/api/messages/calls/AnswerMessage.java b/libsignal-service/src/main/java/org/whispersystems/signalservice/api/messages/calls/AnswerMessage.java index 33ea91cc05..2fa1755fce 100644 --- a/libsignal-service/src/main/java/org/whispersystems/signalservice/api/messages/calls/AnswerMessage.java +++ b/libsignal-service/src/main/java/org/whispersystems/signalservice/api/messages/calls/AnswerMessage.java @@ -4,19 +4,13 @@ package org.whispersystems.signalservice.api.messages.calls; public class AnswerMessage { private final long id; - private final String sdp; private final byte[] opaque; - public AnswerMessage(long id, String sdp, byte[] opaque) { + public AnswerMessage(long id, byte[] opaque) { this.id = id; - this.sdp = sdp; this.opaque = opaque; } - public String getSdp() { - return sdp; - } - public long getId() { return id; } diff --git a/libsignal-service/src/main/java/org/whispersystems/signalservice/api/messages/calls/IceUpdateMessage.java b/libsignal-service/src/main/java/org/whispersystems/signalservice/api/messages/calls/IceUpdateMessage.java index c846f259d0..2d7b5821d6 100644 --- a/libsignal-service/src/main/java/org/whispersystems/signalservice/api/messages/calls/IceUpdateMessage.java +++ b/libsignal-service/src/main/java/org/whispersystems/signalservice/api/messages/calls/IceUpdateMessage.java @@ -5,12 +5,10 @@ public class IceUpdateMessage { private final long id; private final byte[] opaque; - private final String sdp; - public IceUpdateMessage(long id, byte[] opaque, String sdp) { + public IceUpdateMessage(long id, byte[] opaque) { this.id = id; this.opaque = opaque; - this.sdp = sdp; } public long getId() { @@ -20,8 +18,4 @@ public class IceUpdateMessage { public byte[] getOpaque() { return opaque; } - - public String getSdp() { - return sdp; - } } diff --git a/libsignal-service/src/main/java/org/whispersystems/signalservice/api/messages/calls/OfferMessage.java b/libsignal-service/src/main/java/org/whispersystems/signalservice/api/messages/calls/OfferMessage.java index a1688b248e..5df6f14a3d 100644 --- a/libsignal-service/src/main/java/org/whispersystems/signalservice/api/messages/calls/OfferMessage.java +++ b/libsignal-service/src/main/java/org/whispersystems/signalservice/api/messages/calls/OfferMessage.java @@ -5,21 +5,15 @@ import org.whispersystems.signalservice.internal.push.CallMessage; public class OfferMessage { private final long id; - private final String sdp; private final Type type; private final byte[] opaque; - public OfferMessage(long id, String sdp, Type type, byte[] opaque) { + public OfferMessage(long id, Type type, byte[] opaque) { this.id = id; - this.sdp = sdp; this.type = type; this.opaque = opaque; } - public String getSdp() { - return sdp; - } - public long getId() { return id; } diff --git a/libsignal-service/src/main/java/org/whispersystems/signalservice/api/messages/calls/SignalServiceCallMessage.java b/libsignal-service/src/main/java/org/whispersystems/signalservice/api/messages/calls/SignalServiceCallMessage.java index 84ab3d79e3..259fd1d9c8 100644 --- a/libsignal-service/src/main/java/org/whispersystems/signalservice/api/messages/calls/SignalServiceCallMessage.java +++ b/libsignal-service/src/main/java/org/whispersystems/signalservice/api/messages/calls/SignalServiceCallMessage.java @@ -15,7 +15,6 @@ public class SignalServiceCallMessage { private final Optional> iceUpdateMessages; private final Optional opaqueMessage; private final Optional destinationDeviceId; - private final boolean isMultiRing; private final Optional groupId; private final Optional timestamp; @@ -25,10 +24,9 @@ public class SignalServiceCallMessage { Optional hangupMessage, Optional busyMessage, Optional opaqueMessage, - boolean isMultiRing, Optional destinationDeviceId) { - this(offerMessage, answerMessage, iceUpdateMessages, hangupMessage, busyMessage, opaqueMessage, isMultiRing, destinationDeviceId, Optional.empty(), Optional.empty()); + this(offerMessage, answerMessage, iceUpdateMessages, hangupMessage, busyMessage, opaqueMessage, destinationDeviceId, Optional.empty(), Optional.empty()); } private SignalServiceCallMessage(Optional offerMessage, @@ -37,7 +35,6 @@ public class SignalServiceCallMessage { Optional hangupMessage, Optional busyMessage, Optional opaqueMessage, - boolean isMultiRing, Optional destinationDeviceId, Optional groupId, Optional timestamp) @@ -48,46 +45,42 @@ public class SignalServiceCallMessage { this.hangupMessage = hangupMessage; this.busyMessage = busyMessage; this.opaqueMessage = opaqueMessage; - this.isMultiRing = isMultiRing; this.destinationDeviceId = destinationDeviceId; this.groupId = groupId; this.timestamp = timestamp; } - public static SignalServiceCallMessage forOffer(OfferMessage offerMessage, boolean isMultiRing, Integer destinationDeviceId) { + public static SignalServiceCallMessage forOffer(OfferMessage offerMessage, Integer destinationDeviceId) { return new SignalServiceCallMessage(Optional.of(offerMessage), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), - isMultiRing, Optional.ofNullable(destinationDeviceId)); } - public static SignalServiceCallMessage forAnswer(AnswerMessage answerMessage, boolean isMultiRing, Integer destinationDeviceId) { + public static SignalServiceCallMessage forAnswer(AnswerMessage answerMessage, Integer destinationDeviceId) { return new SignalServiceCallMessage(Optional.empty(), Optional.of(answerMessage), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), - isMultiRing, Optional.ofNullable(destinationDeviceId)); } - public static SignalServiceCallMessage forIceUpdates(List iceUpdateMessages, boolean isMultiRing, Integer destinationDeviceId) { + public static SignalServiceCallMessage forIceUpdates(List iceUpdateMessages, Integer destinationDeviceId) { return new SignalServiceCallMessage(Optional.empty(), Optional.empty(), Optional.of(iceUpdateMessages), Optional.empty(), Optional.empty(), Optional.empty(), - isMultiRing, Optional.ofNullable(destinationDeviceId)); } - public static SignalServiceCallMessage forIceUpdate(final IceUpdateMessage iceUpdateMessage, boolean isMultiRing, Integer destinationDeviceId) { + public static SignalServiceCallMessage forIceUpdate(final IceUpdateMessage iceUpdateMessage, Integer destinationDeviceId) { List iceUpdateMessages = new LinkedList<>(); iceUpdateMessages.add(iceUpdateMessage); @@ -97,51 +90,46 @@ public class SignalServiceCallMessage { Optional.empty(), Optional.empty(), Optional.empty(), - isMultiRing, Optional.ofNullable(destinationDeviceId)); } - public static SignalServiceCallMessage forHangup(HangupMessage hangupMessage, boolean isMultiRing, Integer destinationDeviceId) { + public static SignalServiceCallMessage forHangup(HangupMessage hangupMessage, Integer destinationDeviceId) { return new SignalServiceCallMessage(Optional.empty(), Optional.empty(), Optional.empty(), Optional.of(hangupMessage), Optional.empty(), Optional.empty(), - isMultiRing, Optional.ofNullable(destinationDeviceId)); } - public static SignalServiceCallMessage forBusy(BusyMessage busyMessage, boolean isMultiRing, Integer destinationDeviceId) { + public static SignalServiceCallMessage forBusy(BusyMessage busyMessage, Integer destinationDeviceId) { return new SignalServiceCallMessage(Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.of(busyMessage), Optional.empty(), - isMultiRing, Optional.ofNullable(destinationDeviceId)); } - public static SignalServiceCallMessage forOpaque(OpaqueMessage opaqueMessage, boolean isMultiRing, Integer destinationDeviceId) { + public static SignalServiceCallMessage forOpaque(OpaqueMessage opaqueMessage, Integer destinationDeviceId) { return new SignalServiceCallMessage(Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.of(opaqueMessage), - isMultiRing, Optional.ofNullable(destinationDeviceId)); } - public static SignalServiceCallMessage forOutgoingGroupOpaque(byte[] groupId, long timestamp, OpaqueMessage opaqueMessage, boolean isMultiRing, Integer destinationDeviceId) { + public static SignalServiceCallMessage forOutgoingGroupOpaque(byte[] groupId, long timestamp, OpaqueMessage opaqueMessage, Integer destinationDeviceId) { return new SignalServiceCallMessage(Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.of(opaqueMessage), - isMultiRing, Optional.ofNullable(destinationDeviceId), Optional.of(groupId), Optional.of(timestamp)); @@ -155,7 +143,6 @@ public class SignalServiceCallMessage { Optional.empty(), Optional.empty(), Optional.empty(), - false, Optional.empty()); } @@ -183,10 +170,6 @@ public class SignalServiceCallMessage { return opaqueMessage; } - public boolean isMultiRing() { - return isMultiRing; - } - public Optional getDestinationDeviceId() { return destinationDeviceId; } diff --git a/libsignal-service/src/main/protowire/SignalService.proto b/libsignal-service/src/main/protowire/SignalService.proto index 20348e355a..82f942b29d 100644 --- a/libsignal-service/src/main/protowire/SignalService.proto +++ b/libsignal-service/src/main/protowire/SignalService.proto @@ -63,27 +63,22 @@ message CallMessage { } optional uint64 id = 1; - // Legacy/deprecated; replaced by 'opaque' - optional string sdp = 2; + reserved /* sdp */ 2; optional Type type = 3; optional bytes opaque = 4; } message Answer { optional uint64 id = 1; - // Legacy/deprecated; replaced by 'opaque' - optional string sdp = 2; + reserved /* sdp */ 2; optional bytes opaque = 3; } message IceUpdate { optional uint64 id = 1; - // Legacy/deprecated; remove when old clients are gone. - optional string mid = 2; - // Legacy/deprecated; remove when old clients are gone. - optional uint32 line = 3; - // Legacy/deprecated; replaced by 'opaque' - optional string sdp = 4; + reserved /* mid */ 2; + reserved /* line */ 3; + reserved /* sdp */ 4; optional bytes opaque = 5; } @@ -118,7 +113,7 @@ message CallMessage { optional Offer offer = 1; optional Answer answer = 2; repeated IceUpdate iceUpdate = 3; - optional Hangup legacyHangup = 4; + reserved /* legacyHangup */ 4; optional Busy busy = 5; reserved /* profileKey */ 6; optional Hangup hangup = 7;