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;
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;
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;
}
}
- 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());
}
}
package org.asamk.signal.manager.api;
-import org.asamk.signal.manager.storage.stickers.StickerPackId;
-
import java.util.List;
import java.util.Optional;
-package org.asamk.signal.manager.storage.stickers;
+package org.asamk.signal.manager.api;
import java.util.Arrays;
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;
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;
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;
package org.asamk.signal.manager.storage.stickers;
+import org.asamk.signal.manager.api.StickerPackId;
+
public class Sticker {
private final StickerPackId packId;
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;
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 {
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());
}
}
private Map<String, Variant<? extends Serializable>> 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<String, Variant<?>> getReactionMap(final MessageEnvelope.Data.Reaction reaction) {
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);
}
}