mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-02-25 12:17:22 +00:00
Remove legacy call message fields
This commit is contained in:
@@ -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)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -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<SendMessageResult> results = GroupSendUtil.sendCallMessage(context,
|
||||
|
||||
@@ -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<IceUpdateMessage> 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);
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user