From ed13c97ad7d0bee5bbbf4522d5fe7caf9f6d2a04 Mon Sep 17 00:00:00 2001 From: Jim Gustafson Date: Sat, 6 Jun 2020 17:15:03 -0700 Subject: [PATCH] Handle legacy hangup properly. --- .../signalservice/api/messages/SignalServiceContent.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libsignal/service/src/main/java/org/whispersystems/signalservice/api/messages/SignalServiceContent.java b/libsignal/service/src/main/java/org/whispersystems/signalservice/api/messages/SignalServiceContent.java index cbfef2b1de..a6ab2e7195 100644 --- a/libsignal/service/src/main/java/org/whispersystems/signalservice/api/messages/SignalServiceContent.java +++ b/libsignal/service/src/main/java/org/whispersystems/signalservice/api/messages/SignalServiceContent.java @@ -547,8 +547,11 @@ public final class SignalServiceContent { } return SignalServiceCallMessage.forIceUpdates(iceUpdates, isMultiRing, destinationDeviceId); + } else if (content.hasLegacyHangup()) { + SignalServiceProtos.CallMessage.Hangup hangup = content.getLegacyHangup(); + return SignalServiceCallMessage.forHangup(new HangupMessage(hangup.getId(), HangupMessage.Type.fromProto(hangup.getType()), hangup.getDeviceId(), content.hasLegacyHangup()), isMultiRing, destinationDeviceId); } else if (content.hasHangup()) { - SignalServiceProtos.CallMessage.Hangup hangup = content.hasLegacyHangup() ? content.getLegacyHangup() : content.getHangup(); + SignalServiceProtos.CallMessage.Hangup hangup = content.getHangup(); return SignalServiceCallMessage.forHangup(new HangupMessage(hangup.getId(), HangupMessage.Type.fromProto(hangup.getType()), hangup.getDeviceId(), content.hasLegacyHangup()), isMultiRing, destinationDeviceId); } else if (content.hasBusy()) { SignalServiceProtos.CallMessage.Busy busy = content.getBusy();