X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/a1f0d74a99e4dc5c2e7a7ee79f59684314da4c4f..8717665d1d273a32afef136c15c0d5abaaae0f85:/src/main/java/org/asamk/signal/JsonDataMessage.java diff --git a/src/main/java/org/asamk/signal/JsonDataMessage.java b/src/main/java/org/asamk/signal/JsonDataMessage.java new file mode 100644 index 00000000..eda54025 --- /dev/null +++ b/src/main/java/org/asamk/signal/JsonDataMessage.java @@ -0,0 +1,34 @@ +package org.asamk.signal; + +import org.whispersystems.signalservice.api.messages.SignalServiceAttachment; +import org.whispersystems.signalservice.api.messages.SignalServiceDataMessage; + +import java.util.ArrayList; +import java.util.List; + +class JsonDataMessage { + long timestamp; + String message; + int expiresInSeconds; + List attachments; + JsonGroupInfo groupInfo; + + JsonDataMessage(SignalServiceDataMessage dataMessage) { + this.timestamp = dataMessage.getTimestamp(); + if (dataMessage.getGroupInfo().isPresent()) { + this.groupInfo = new JsonGroupInfo(dataMessage.getGroupInfo().get()); + } + if (dataMessage.getBody().isPresent()) { + this.message = dataMessage.getBody().get(); + } + this.expiresInSeconds = dataMessage.getExpiresInSeconds(); + if (dataMessage.getAttachments().isPresent()) { + this.attachments = new ArrayList<>(dataMessage.getAttachments().get().size()); + for (SignalServiceAttachment attachment : dataMessage.getAttachments().get()) { + this.attachments.add(new JsonAttachment(attachment)); + } + } else { + this.attachments = new ArrayList<>(); + } + } +}