From: AsamK Date: Mon, 3 Jan 2022 16:51:04 +0000 (+0100) Subject: Change stickerId to hex everywhere X-Git-Tag: v0.10.1~8 X-Git-Url: https://git.nmode.ca/signal-cli/commitdiff_plain/beb3adcc72cd24b29688a931bf6246ab688249ea Change stickerId to hex everywhere Remove packKey from output --- diff --git a/lib/src/main/java/org/asamk/signal/manager/ManagerImpl.java b/lib/src/main/java/org/asamk/signal/manager/ManagerImpl.java index fdb28929..b584da44 100644 --- a/lib/src/main/java/org/asamk/signal/manager/ManagerImpl.java +++ b/lib/src/main/java/org/asamk/signal/manager/ManagerImpl.java @@ -30,6 +30,7 @@ import org.asamk.signal.manager.api.SendGroupMessageResults; import org.asamk.signal.manager.api.SendMessageResult; import org.asamk.signal.manager.api.SendMessageResults; import org.asamk.signal.manager.api.StickerPack; +import org.asamk.signal.manager.api.StickerPackId; import org.asamk.signal.manager.api.TypingAction; import org.asamk.signal.manager.api.UnregisteredRecipientException; import org.asamk.signal.manager.api.UpdateGroup; @@ -49,7 +50,6 @@ import org.asamk.signal.manager.storage.recipients.Profile; import org.asamk.signal.manager.storage.recipients.RecipientAddress; import org.asamk.signal.manager.storage.recipients.RecipientId; import org.asamk.signal.manager.storage.stickers.Sticker; -import org.asamk.signal.manager.storage.stickers.StickerPackId; import org.asamk.signal.manager.util.AttachmentUtils; import org.asamk.signal.manager.util.KeyUtils; import org.asamk.signal.manager.util.StickerUtils; diff --git a/lib/src/main/java/org/asamk/signal/manager/StickerPackStore.java b/lib/src/main/java/org/asamk/signal/manager/StickerPackStore.java index 778e748a..8d755215 100644 --- a/lib/src/main/java/org/asamk/signal/manager/StickerPackStore.java +++ b/lib/src/main/java/org/asamk/signal/manager/StickerPackStore.java @@ -2,7 +2,7 @@ package org.asamk.signal.manager; import com.fasterxml.jackson.databind.ObjectMapper; -import org.asamk.signal.manager.storage.stickers.StickerPackId; +import org.asamk.signal.manager.api.StickerPackId; import org.asamk.signal.manager.util.IOUtils; import org.asamk.signal.manager.util.Utils; import org.whispersystems.signalservice.api.util.StreamDetails; diff --git a/lib/src/main/java/org/asamk/signal/manager/api/MessageEnvelope.java b/lib/src/main/java/org/asamk/signal/manager/api/MessageEnvelope.java index 2e386d7f..aa34a459 100644 --- a/lib/src/main/java/org/asamk/signal/manager/api/MessageEnvelope.java +++ b/lib/src/main/java/org/asamk/signal/manager/api/MessageEnvelope.java @@ -322,10 +322,12 @@ public record MessageEnvelope( } } - public record Sticker(byte[] packId, byte[] packKey, int stickerId) { + public record Sticker(StickerPackId packId, byte[] packKey, int stickerId) { static Sticker from(SignalServiceDataMessage.Sticker sticker) { - return new Sticker(sticker.getPackId(), sticker.getPackKey(), sticker.getStickerId()); + return new Sticker(StickerPackId.deserialize(sticker.getPackId()), + sticker.getPackKey(), + sticker.getStickerId()); } } diff --git a/lib/src/main/java/org/asamk/signal/manager/api/StickerPack.java b/lib/src/main/java/org/asamk/signal/manager/api/StickerPack.java index 45d86c8e..e051a961 100644 --- a/lib/src/main/java/org/asamk/signal/manager/api/StickerPack.java +++ b/lib/src/main/java/org/asamk/signal/manager/api/StickerPack.java @@ -1,7 +1,5 @@ package org.asamk.signal.manager.api; -import org.asamk.signal.manager.storage.stickers.StickerPackId; - import java.util.List; import java.util.Optional; diff --git a/lib/src/main/java/org/asamk/signal/manager/storage/stickers/StickerPackId.java b/lib/src/main/java/org/asamk/signal/manager/api/StickerPackId.java similarity index 93% rename from lib/src/main/java/org/asamk/signal/manager/storage/stickers/StickerPackId.java rename to lib/src/main/java/org/asamk/signal/manager/api/StickerPackId.java index 6d992d1d..38ea4950 100644 --- a/lib/src/main/java/org/asamk/signal/manager/storage/stickers/StickerPackId.java +++ b/lib/src/main/java/org/asamk/signal/manager/api/StickerPackId.java @@ -1,4 +1,4 @@ -package org.asamk.signal.manager.storage.stickers; +package org.asamk.signal.manager.api; import java.util.Arrays; diff --git a/lib/src/main/java/org/asamk/signal/manager/helper/IncomingMessageHandler.java b/lib/src/main/java/org/asamk/signal/manager/helper/IncomingMessageHandler.java index 2efcdcaa..3aaccfdc 100644 --- a/lib/src/main/java/org/asamk/signal/manager/helper/IncomingMessageHandler.java +++ b/lib/src/main/java/org/asamk/signal/manager/helper/IncomingMessageHandler.java @@ -20,6 +20,7 @@ import org.asamk.signal.manager.actions.SendSyncGroupsAction; import org.asamk.signal.manager.actions.SendSyncKeysAction; import org.asamk.signal.manager.api.MessageEnvelope; import org.asamk.signal.manager.api.Pair; +import org.asamk.signal.manager.api.StickerPackId; import org.asamk.signal.manager.groups.GroupId; import org.asamk.signal.manager.groups.GroupNotFoundException; import org.asamk.signal.manager.groups.GroupUtils; @@ -29,7 +30,6 @@ import org.asamk.signal.manager.storage.groups.GroupInfoV1; import org.asamk.signal.manager.storage.recipients.Profile; import org.asamk.signal.manager.storage.recipients.RecipientId; import org.asamk.signal.manager.storage.stickers.Sticker; -import org.asamk.signal.manager.storage.stickers.StickerPackId; import org.signal.libsignal.metadata.ProtocolInvalidKeyException; import org.signal.libsignal.metadata.ProtocolInvalidKeyIdException; import org.signal.libsignal.metadata.ProtocolInvalidMessageException; diff --git a/lib/src/main/java/org/asamk/signal/manager/jobs/RetrieveStickerPackJob.java b/lib/src/main/java/org/asamk/signal/manager/jobs/RetrieveStickerPackJob.java index 4a3ac306..f9768004 100644 --- a/lib/src/main/java/org/asamk/signal/manager/jobs/RetrieveStickerPackJob.java +++ b/lib/src/main/java/org/asamk/signal/manager/jobs/RetrieveStickerPackJob.java @@ -1,8 +1,8 @@ package org.asamk.signal.manager.jobs; import org.asamk.signal.manager.JsonStickerPack; +import org.asamk.signal.manager.api.StickerPackId; import org.asamk.signal.manager.helper.Context; -import org.asamk.signal.manager.storage.stickers.StickerPackId; import org.asamk.signal.manager.util.IOUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/lib/src/main/java/org/asamk/signal/manager/storage/stickers/Sticker.java b/lib/src/main/java/org/asamk/signal/manager/storage/stickers/Sticker.java index 495da8d6..f101e474 100644 --- a/lib/src/main/java/org/asamk/signal/manager/storage/stickers/Sticker.java +++ b/lib/src/main/java/org/asamk/signal/manager/storage/stickers/Sticker.java @@ -1,5 +1,7 @@ package org.asamk.signal.manager.storage.stickers; +import org.asamk.signal.manager.api.StickerPackId; + public class Sticker { private final StickerPackId packId; diff --git a/lib/src/main/java/org/asamk/signal/manager/storage/stickers/StickerStore.java b/lib/src/main/java/org/asamk/signal/manager/storage/stickers/StickerStore.java index b1de3fec..2ebb7078 100644 --- a/lib/src/main/java/org/asamk/signal/manager/storage/stickers/StickerStore.java +++ b/lib/src/main/java/org/asamk/signal/manager/storage/stickers/StickerStore.java @@ -1,5 +1,7 @@ package org.asamk.signal.manager.storage.stickers; +import org.asamk.signal.manager.api.StickerPackId; + import java.util.Base64; import java.util.Collection; import java.util.HashMap; diff --git a/src/main/java/org/asamk/signal/ReceiveMessageHandler.java b/src/main/java/org/asamk/signal/ReceiveMessageHandler.java index b76817c3..314b0c68 100644 --- a/src/main/java/org/asamk/signal/ReceiveMessageHandler.java +++ b/src/main/java/org/asamk/signal/ReceiveMessageHandler.java @@ -8,10 +8,10 @@ import org.asamk.signal.manager.groups.GroupId; import org.asamk.signal.manager.storage.recipients.RecipientAddress; import org.asamk.signal.output.PlainTextWriter; import org.asamk.signal.util.DateUtils; +import org.asamk.signal.util.Hex; import org.slf4j.helpers.MessageFormatter; import java.util.ArrayList; -import java.util.Base64; import java.util.stream.Collectors; public class ReceiveMessageHandler implements Manager.ReceiveMessageHandler { @@ -349,8 +349,7 @@ public class ReceiveMessageHandler implements Manager.ReceiveMessageHandler { private void printSticker( final PlainTextWriter writer, final MessageEnvelope.Data.Sticker sticker ) { - writer.println("Pack id: {}", Base64.getEncoder().encodeToString(sticker.packId())); - writer.println("Pack key: {}", Base64.getEncoder().encodeToString(sticker.packKey())); + writer.println("Pack id: {}", Hex.toStringCondensed(sticker.packId().serialize())); writer.println("Sticker id: {}", sticker.stickerId()); } diff --git a/src/main/java/org/asamk/signal/dbus/DbusReceiveMessageHandler.java b/src/main/java/org/asamk/signal/dbus/DbusReceiveMessageHandler.java index 34e7105c..375fb0b1 100644 --- a/src/main/java/org/asamk/signal/dbus/DbusReceiveMessageHandler.java +++ b/src/main/java/org/asamk/signal/dbus/DbusReceiveMessageHandler.java @@ -162,7 +162,10 @@ public class DbusReceiveMessageHandler implements Manager.ReceiveMessageHandler } private Map> getStickerMap(final MessageEnvelope.Data.Sticker sticker) { - return Map.of("packId", new Variant<>(sticker.packId()), "stickerId", new Variant<>(sticker.stickerId())); + return Map.of("packId", + new Variant<>(sticker.packId().serialize()), + "stickerId", + new Variant<>(sticker.stickerId())); } private Map> getReactionMap(final MessageEnvelope.Data.Reaction reaction) { diff --git a/src/main/java/org/asamk/signal/json/JsonSticker.java b/src/main/java/org/asamk/signal/json/JsonSticker.java index 96435ad6..720130ef 100644 --- a/src/main/java/org/asamk/signal/json/JsonSticker.java +++ b/src/main/java/org/asamk/signal/json/JsonSticker.java @@ -1,16 +1,13 @@ package org.asamk.signal.json; import org.asamk.signal.manager.api.MessageEnvelope; +import org.asamk.signal.util.Hex; -import java.util.Base64; - -public record JsonSticker(String packId, String packKey, int stickerId) { +public record JsonSticker(String packId, int stickerId) { static JsonSticker from(MessageEnvelope.Data.Sticker sticker) { - final var encoder = Base64.getEncoder(); - final var packId = encoder.encodeToString(sticker.packId()); - final var packKey = encoder.encodeToString(sticker.packKey()); + final var packId = Hex.toStringCondensed(sticker.packId().serialize()); final var stickerId = sticker.stickerId(); - return new JsonSticker(packId, packKey, stickerId); + return new JsonSticker(packId, stickerId); } }