- static JsonDataMessage from(SignalServiceDataMessage dataMessage, Manager m) {
- final var timestamp = dataMessage.getTimestamp();
- final JsonGroupInfo groupInfo;
- if (dataMessage.getGroupContext().isPresent()) {
- final var groupContext = dataMessage.getGroupContext().get();
- if (groupContext.getGroupV1().isPresent()) {
- var group = groupContext.getGroupV1().get();
- groupInfo = JsonGroupInfo.from(group);
- } else if (groupContext.getGroupV2().isPresent()) {
- var group = groupContext.getGroupV2().get();
- groupInfo = JsonGroupInfo.from(group);
- } else {
- groupInfo = null;
- }
- } else {
- groupInfo = null;
- }
- final var message = dataMessage.getBody().orNull();
- final var expiresInSeconds = dataMessage.getExpiresInSeconds();
- final var viewOnce = dataMessage.isViewOnce();
- final var reaction = dataMessage.getReaction().isPresent() ? JsonReaction.from(dataMessage.getReaction().get(),
- m) : null;
- final var quote = dataMessage.getQuote().isPresent() ? JsonQuote.from(dataMessage.getQuote().get(), m) : null;
- final List<JsonMention> mentions;
- if (dataMessage.getMentions().isPresent()) {
- mentions = dataMessage.getMentions()
- .get()
- .stream()
- .map(mention -> JsonMention.from(mention, m))
- .collect(Collectors.toList());
- } else {
- mentions = List.of();
- }
- final var remoteDelete = dataMessage.getRemoteDelete().isPresent()
- ? JsonRemoteDelete.from(dataMessage.getRemoteDelete().get())
+ static JsonDataMessage from(MessageEnvelope.Data dataMessage, Manager m) {
+ final var timestamp = dataMessage.timestamp();
+ final var groupInfo = dataMessage.groupContext().isPresent() ? JsonGroupInfo.from(dataMessage.groupContext()
+ .get(), m) : null;
+ final var storyContext = dataMessage.storyContext().isPresent()
+ ? JsonStoryContext.from(dataMessage.storyContext().get())