import com.fasterxml.jackson.databind.ObjectMapper;
-import org.asamk.signal.manager.JsonStickerPack;
-import org.asamk.signal.manager.StickerPackInvalidException;
-import org.whispersystems.libsignal.util.Pair;
-import org.whispersystems.libsignal.util.guava.Optional;
+import org.asamk.signal.manager.api.Pair;
+import org.asamk.signal.manager.api.StickerPackInvalidException;
+import org.asamk.signal.manager.storage.stickerPacks.JsonStickerPack;
import org.whispersystems.signalservice.api.messages.SignalServiceStickerManifestUpload;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
-import java.net.URLConnection;
import java.util.ArrayList;
+import java.util.Optional;
import java.util.zip.ZipFile;
public class StickerUtils {
: getContentType(rootPath, zip, sticker.file());
var stickerInfo = new SignalServiceStickerManifestUpload.StickerInfo(data.first(),
data.second(),
- Optional.fromNullable(sticker.emoji()).or(""),
+ Optional.ofNullable(sticker.emoji()).orElse(""),
contentType);
stickers.add(stickerInfo);
}
.contentType() : getContentType(rootPath, zip, pack.cover().file());
cover = new SignalServiceStickerManifestUpload.StickerInfo(data.first(),
data.second(),
- Optional.fromNullable(pack.cover().emoji()).or(""),
+ Optional.ofNullable(pack.cover().emoji()).orElse(""),
contentType);
}
}
private static Pair<InputStream, Long> getInputStreamAndLength(
- final String rootPath, final ZipFile zip, final String subfile
+ final String rootPath,
+ final ZipFile zip,
+ final String subfile
) throws IOException {
if (zip != null) {
final var entry = zip.getEntry(subfile);
}
private static String getContentType(
- final String rootPath, final ZipFile zip, final String subfile
+ final String rootPath,
+ final ZipFile zip,
+ final String subfile
) throws IOException {
if (zip != null) {
final var entry = zip.getEntry(subfile);
try (InputStream bufferedStream = new BufferedInputStream(zip.getInputStream(entry))) {
- return URLConnection.guessContentTypeFromStream(bufferedStream);
+ return MimeUtils.getStreamMimeType(bufferedStream).orElse(null);
}
} else {
final var file = new File(rootPath, subfile);
- return Utils.getFileMimeType(file, null);
+ return MimeUtils.getFileMimeType(file).orElse(null);
}
}
}