Added sticker field to json output. Also added hidden mac file to .gitignore (#418)

This commit is contained in:
Atomic-Bean 2021-01-15 03:40:35 +10:30 committed by GitHub
parent a643609ed2
commit 9bba7a85ab
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 27 additions and 2 deletions

1
.gitignore vendored
View file

@ -10,3 +10,4 @@ local.properties
.project
.settings/
out/
.DS_Store

View file

@ -19,6 +19,7 @@ class JsonDataMessage {
JsonQuote quote;
List<JsonMention> mentions;
List<JsonAttachment> 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());
}
}

View file

@ -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 ??
}
}