import org.asamk.Signal;
import org.asamk.signal.manager.Manager;
-import org.whispersystems.signalservice.api.messages.SignalServiceAttachment;
import org.whispersystems.signalservice.api.messages.SignalServiceDataMessage;
import org.whispersystems.signalservice.api.messages.SignalServiceGroup;
import org.whispersystems.signalservice.api.messages.SignalServiceGroupV2;
-import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
JsonQuote quote;
List<JsonMention> mentions;
List<JsonAttachment> attachments;
+ JsonSticker sticker;
JsonGroupInfo groupInfo;
JsonDataMessage(SignalServiceDataMessage dataMessage, Manager m) {
this.quote = new JsonQuote(dataMessage.getQuote().get(), m);
}
if (dataMessage.getMentions().isPresent()) {
- this.mentions = new ArrayList<>(dataMessage.getMentions().get().size());
- for (SignalServiceDataMessage.Mention mention : dataMessage.getMentions().get()) {
- this.mentions.add(new JsonMention(mention, m));
- }
+ this.mentions = dataMessage.getMentions()
+ .get()
+ .stream()
+ .map(mention -> new JsonMention(mention, m))
+ .collect(Collectors.toList());
} else {
- this.mentions = new ArrayList<>();
+ this.mentions = List.of();
}
if (dataMessage.getAttachments().isPresent()) {
- this.attachments = new ArrayList<>(dataMessage.getAttachments().get().size());
- for (SignalServiceAttachment attachment : dataMessage.getAttachments().get()) {
- this.attachments.add(new JsonAttachment(attachment));
- }
+ this.attachments = dataMessage.getAttachments()
+ .get()
+ .stream()
+ .map(JsonAttachment::new)
+ .collect(Collectors.toList());
} else {
- this.attachments = new ArrayList<>();
+ this.attachments = List.of();
+ }
+ if (dataMessage.getSticker().isPresent()) {
+ this.sticker = new JsonSticker(dataMessage.getSticker().get());
}
}
timestamp = messageReceived.getTimestamp();
message = messageReceived.getMessage();
groupInfo = new JsonGroupInfo(messageReceived.getGroupId());
- reaction = null; // TODO Replace these 3 with the proper commands
+ reaction = null; // TODO Replace these 4 with the proper commands
quote = null;
mentions = null;
+ sticker = null;
attachments = messageReceived.getAttachments().stream().map(JsonAttachment::new).collect(Collectors.toList());
}
timestamp = messageReceived.getTimestamp();
message = messageReceived.getMessage();
groupInfo = new JsonGroupInfo(messageReceived.getGroupId());
- reaction = null; // TODO Replace these 3 with the proper commands
+ reaction = null; // TODO Replace these 4 with the proper commands
quote = null;
mentions = null;
+ sticker = null;
attachments = messageReceived.getAttachments().stream().map(JsonAttachment::new).collect(Collectors.toList());
}
}