diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/MediaReviewFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/MediaReviewFragment.kt index 56d4c570ac..3f6be8de54 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/MediaReviewFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/MediaReviewFragment.kt @@ -236,7 +236,7 @@ class MediaReviewFragment : Fragment(R.layout.v2_media_review_fragment), Schedul if (MediaUtil.isImageType(media.contentType) && editorData != null && editorData is ImageEditorFragment.Data) { val model = editorData.readModel() if (model != null) { - ImageEditorFragment.renderToSingleUseBlob(requireContext(), model) + ImageEditorFragment.renderToSingleSessionBlob(requireContext(), model) } else { media.uri } diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/send/TextStoryPostSendRepository.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/send/TextStoryPostSendRepository.kt index 90d9ed685e..14bee5434b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/send/TextStoryPostSendRepository.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/send/TextStoryPostSendRepository.kt @@ -32,7 +32,7 @@ class TextStoryPostSendRepository { val outputStream = ByteArrayOutputStream() bitmap.compress(Bitmap.CompressFormat.PNG, 100, outputStream) bitmap.recycle() - BlobProvider.getInstance().forData(outputStream.toByteArray()).createForSingleUseInMemory() + BlobProvider.getInstance().forData(outputStream.toByteArray()).createForSingleSessionInMemory() }.subscribeOn(Schedulers.computation()) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/scribbles/ImageEditorFragment.java b/app/src/main/java/org/thoughtcrime/securesms/scribbles/ImageEditorFragment.java index 79e9f98767..bf15165fcf 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/scribbles/ImageEditorFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/scribbles/ImageEditorFragment.java @@ -819,6 +819,20 @@ public final class ImageEditorFragment extends Fragment implements ImageEditorHu .createForSingleUseInMemory(); } + @WorkerThread + public static @NonNull Uri renderToSingleSessionBlob(@NonNull Context context, @NonNull EditorModel editorModel) { + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + Bitmap image = editorModel.render(context, new FontTypefaceProvider()); + + image.compress(Bitmap.CompressFormat.JPEG, 80, outputStream); + image.recycle(); + + return BlobProvider.getInstance() + .forData(outputStream.toByteArray()) + .withMimeType(MediaUtil.IMAGE_JPEG) + .createForSingleSessionInMemory(); + } + private void onDrawingChanged(boolean stillTouching, boolean isUserEdit) { if (isUserEdit) { hasMadeAnEditThisSession = true;