From: Atomic-Bean <75401809+Atomic-Bean@users.noreply.github.com> Date: Thu, 14 Jan 2021 17:10:35 +0000 (+1030) Subject: Added sticker field to json output. Also added hidden mac file to .gitignore (#418) X-Git-Tag: v0.7.3~33 X-Git-Url: https://git.nmode.ca/signal-cli/commitdiff_plain/9bba7a85ab6fbe7cc8de6ece4b3850c883907e01 Added sticker field to json output. Also added hidden mac file to .gitignore (#418) --- diff --git a/.gitignore b/.gitignore index 3dc9875b..8fa9c8bd 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ local.properties .project .settings/ out/ +.DS_Store diff --git a/src/main/java/org/asamk/signal/json/JsonDataMessage.java b/src/main/java/org/asamk/signal/json/JsonDataMessage.java index 57201eda..787f47ab 100644 --- a/src/main/java/org/asamk/signal/json/JsonDataMessage.java +++ b/src/main/java/org/asamk/signal/json/JsonDataMessage.java @@ -19,6 +19,7 @@ class JsonDataMessage { JsonQuote quote; List mentions; List attachments; + JsonSticker sticker; JsonGroupInfo groupInfo; JsonDataMessage(SignalServiceDataMessage dataMessage, Manager m) { @@ -60,15 +61,19 @@ class JsonDataMessage { } else { this.attachments = List.of(); } + if (dataMessage.getSticker().isPresent()) { + this.sticker = new JsonSticker(dataMessage.getSticker().get()); + } } public JsonDataMessage(Signal.MessageReceived messageReceived) { 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()); } @@ -76,9 +81,10 @@ class JsonDataMessage { 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()); } } diff --git a/src/main/java/org/asamk/signal/json/JsonSticker.java b/src/main/java/org/asamk/signal/json/JsonSticker.java new file mode 100644 index 00000000..228d2883 --- /dev/null +++ b/src/main/java/org/asamk/signal/json/JsonSticker.java @@ -0,0 +1,18 @@ +package org.asamk.signal.json; + +import org.whispersystems.signalservice.api.messages.SignalServiceDataMessage; +import org.whispersystems.util.Base64; + +public class JsonSticker { + + String packId; + String packKey; + int stickerId; + + public JsonSticker(SignalServiceDataMessage.Sticker sticker) { + this.packId = Base64.encodeBytes(sticker.getPackId()); + this.packKey = Base64.encodeBytes(sticker.getPackKey()); + this.stickerId = sticker.getStickerId(); + // TODO also download sticker image ?? + } +}