X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/ae41d0c5026fe868c6198e1005344fc78b6e0a2c..1fae09433d79ede67febe3257abf1f1dbd2146e6:/src/main/java/org/asamk/signal/json/JsonCallMessage.java diff --git a/src/main/java/org/asamk/signal/json/JsonCallMessage.java b/src/main/java/org/asamk/signal/json/JsonCallMessage.java index c1b1d443..e30aeafa 100644 --- a/src/main/java/org/asamk/signal/json/JsonCallMessage.java +++ b/src/main/java/org/asamk/signal/json/JsonCallMessage.java @@ -1,5 +1,7 @@ package org.asamk.signal.json; +import com.fasterxml.jackson.annotation.JsonInclude; + import org.whispersystems.signalservice.api.messages.calls.AnswerMessage; import org.whispersystems.signalservice.api.messages.calls.BusyMessage; import org.whispersystems.signalservice.api.messages.calls.HangupMessage; @@ -9,29 +11,19 @@ import org.whispersystems.signalservice.api.messages.calls.SignalServiceCallMess import java.util.List; -class JsonCallMessage { - - OfferMessage offerMessage; - AnswerMessage answerMessage; - BusyMessage busyMessage; - HangupMessage hangupMessage; - List iceUpdateMessages; +record JsonCallMessage( + @JsonInclude(JsonInclude.Include.NON_NULL) OfferMessage offerMessage, + @JsonInclude(JsonInclude.Include.NON_NULL) AnswerMessage answerMessage, + @JsonInclude(JsonInclude.Include.NON_NULL) BusyMessage busyMessage, + @JsonInclude(JsonInclude.Include.NON_NULL) HangupMessage hangupMessage, + @JsonInclude(JsonInclude.Include.NON_NULL) List iceUpdateMessages +) { - JsonCallMessage(SignalServiceCallMessage callMessage) { - if (callMessage.getOfferMessage().isPresent()) { - this.offerMessage = callMessage.getOfferMessage().get(); - } - if (callMessage.getAnswerMessage().isPresent()) { - this.answerMessage = callMessage.getAnswerMessage().get(); - } - if (callMessage.getBusyMessage().isPresent()) { - this.busyMessage = callMessage.getBusyMessage().get(); - } - if (callMessage.getHangupMessage().isPresent()) { - this.hangupMessage = callMessage.getHangupMessage().get(); - } - if (callMessage.getIceUpdateMessages().isPresent()) { - this.iceUpdateMessages = callMessage.getIceUpdateMessages().get(); - } + static JsonCallMessage from(SignalServiceCallMessage callMessage) { + return new JsonCallMessage(callMessage.getOfferMessage().orNull(), + callMessage.getAnswerMessage().orNull(), + callMessage.getBusyMessage().orNull(), + callMessage.getHangupMessage().orNull(), + callMessage.getIceUpdateMessages().orNull()); } }