Fix crash when sharing stickers you don't have installed.

fork-5.53.8
Greyson Parrelli 2021-01-24 02:33:11 -05:00
rodzic d8060b3041
commit 3a2990a911
1 zmienionych plików z 1 dodań i 8 usunięć

Wyświetl plik

@ -174,7 +174,7 @@ public final class MultiShareSender {
private static @NonNull SlideDeck buildSlideDeck(@NonNull Context context, @NonNull MultiShareArgs multiShareArgs) { private static @NonNull SlideDeck buildSlideDeck(@NonNull Context context, @NonNull MultiShareArgs multiShareArgs) {
SlideDeck slideDeck = new SlideDeck(); SlideDeck slideDeck = new SlideDeck();
if (multiShareArgs.getStickerLocator() != null) { if (multiShareArgs.getStickerLocator() != null) {
slideDeck.addSlide(buildStickerSlide(context, multiShareArgs.getStickerLocator())); slideDeck.addSlide(new StickerSlide(context, multiShareArgs.getDataUri(), 0, multiShareArgs.getStickerLocator(), multiShareArgs.getDataType()));
} else if (!multiShareArgs.getMedia().isEmpty()) { } else if (!multiShareArgs.getMedia().isEmpty()) {
for (Media media : multiShareArgs.getMedia()) { for (Media media : multiShareArgs.getMedia()) {
slideDeck.addSlide(SlideFactory.getSlide(context, media.getMimeType(), media.getUri(), media.getWidth(), media.getHeight())); slideDeck.addSlide(SlideFactory.getSlide(context, media.getMimeType(), media.getUri(), media.getWidth(), media.getHeight()));
@ -186,13 +186,6 @@ public final class MultiShareSender {
return slideDeck; return slideDeck;
} }
private static @NonNull StickerSlide buildStickerSlide(@NonNull Context context, @NonNull StickerLocator stickerLocator) {
StickerDatabase stickerDatabase = DatabaseFactory.getStickerDatabase(context);
StickerRecord stickerRecord = stickerDatabase.getSticker(stickerLocator.getPackId(), stickerLocator.getStickerId(), false);
return new StickerSlide(context, stickerRecord.getUri(), stickerRecord.getSize(), stickerLocator, stickerRecord.getContentType());
}
public static final class MultiShareSendResultCollection { public static final class MultiShareSendResultCollection {
private final List<MultiShareSendResult> results; private final List<MultiShareSendResult> results;