]> nmode's Git Repositories - signal-cli/blobdiff - lib/src/main/java/org/asamk/signal/manager/StickerPackStore.java
Cleanup manager package
[signal-cli] / lib / src / main / java / org / asamk / signal / manager / StickerPackStore.java
diff --git a/lib/src/main/java/org/asamk/signal/manager/StickerPackStore.java b/lib/src/main/java/org/asamk/signal/manager/StickerPackStore.java
deleted file mode 100644 (file)
index 8d75521..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-package org.asamk.signal.manager;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-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;
-import org.whispersystems.signalservice.internal.util.Hex;
-
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.nio.charset.StandardCharsets;
-
-public class StickerPackStore {
-
-    private final File stickersPath;
-
-    public StickerPackStore(final File stickersPath) {
-        this.stickersPath = stickersPath;
-    }
-
-    public boolean existsStickerPack(StickerPackId stickerPackId) {
-        return getStickerPackManifestFile(stickerPackId).exists();
-    }
-
-    public JsonStickerPack retrieveManifest(StickerPackId stickerPackId) throws IOException {
-        try (final var inputStream = new FileInputStream(getStickerPackManifestFile(stickerPackId))) {
-            return new ObjectMapper().readValue(inputStream, JsonStickerPack.class);
-        }
-    }
-
-    public StreamDetails retrieveSticker(final StickerPackId stickerPackId, final int stickerId) throws IOException {
-        final var stickerFile = getStickerPackStickerFile(stickerPackId, stickerId);
-        if (!stickerFile.exists()) {
-            return null;
-        }
-        return Utils.createStreamDetailsFromFile(stickerFile);
-    }
-
-    public void storeManifest(StickerPackId stickerPackId, JsonStickerPack manifest) throws IOException {
-        try (final var output = new FileOutputStream(getStickerPackManifestFile(stickerPackId))) {
-            try (var writer = new BufferedWriter(new OutputStreamWriter(output, StandardCharsets.UTF_8))) {
-                new ObjectMapper().writeValue(writer, manifest);
-            }
-        }
-    }
-
-    public void storeSticker(StickerPackId stickerPackId, int stickerId, StickerStorer storer) throws IOException {
-        createStickerPackDir(stickerPackId);
-        try (final var output = new FileOutputStream(getStickerPackStickerFile(stickerPackId, stickerId))) {
-            storer.store(output);
-        }
-    }
-
-    private File getStickerPackManifestFile(StickerPackId stickerPackId) {
-        return new File(getStickerPackPath(stickerPackId), "manifest.json");
-    }
-
-    private File getStickerPackStickerFile(StickerPackId stickerPackId, int stickerId) {
-        return new File(getStickerPackPath(stickerPackId), String.valueOf(stickerId));
-    }
-
-    private File getStickerPackPath(StickerPackId stickerPackId) {
-        return new File(stickersPath, Hex.toStringCondensed(stickerPackId.serialize()));
-    }
-
-    private void createStickerPackDir(StickerPackId stickerPackId) throws IOException {
-        IOUtils.createPrivateDirectories(getStickerPackPath(stickerPackId));
-    }
-
-    @FunctionalInterface
-    public interface StickerStorer {
-
-        void store(OutputStream outputStream) throws IOException;
-    }
-}