package org.asamk.signal.json;
import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
import org.whispersystems.signalservice.api.messages.calls.AnswerMessage;
import org.whispersystems.signalservice.api.messages.calls.BusyMessage;
import java.util.List;
-class JsonCallMessage {
-
- @JsonProperty
- @JsonInclude(JsonInclude.Include.NON_NULL)
- final OfferMessage offerMessage;
-
- @JsonProperty
- @JsonInclude(JsonInclude.Include.NON_NULL)
- final AnswerMessage answerMessage;
-
- @JsonProperty
- @JsonInclude(JsonInclude.Include.NON_NULL)
- final BusyMessage busyMessage;
-
- @JsonProperty
- @JsonInclude(JsonInclude.Include.NON_NULL)
- final HangupMessage hangupMessage;
-
- @JsonProperty
- @JsonInclude(JsonInclude.Include.NON_NULL)
- final List<IceUpdateMessage> iceUpdateMessages;
-
- JsonCallMessage(SignalServiceCallMessage callMessage) {
- this.offerMessage = callMessage.getOfferMessage().orNull();
- this.answerMessage = callMessage.getAnswerMessage().orNull();
- this.busyMessage = callMessage.getBusyMessage().orNull();
- this.hangupMessage = callMessage.getHangupMessage().orNull();
- this.iceUpdateMessages = callMessage.getIceUpdateMessages().orNull();
+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<IceUpdateMessage> iceUpdateMessages
+) {
+
+ static JsonCallMessage from(SignalServiceCallMessage callMessage) {
+ return new JsonCallMessage(callMessage.getOfferMessage().orNull(),
+ callMessage.getAnswerMessage().orNull(),
+ callMessage.getBusyMessage().orNull(),
+ callMessage.getHangupMessage().orNull(),
+ callMessage.getIceUpdateMessages().orNull());
}
}