Skip to content

Commit ae379cd

Browse files
mcgintymoxie0
authored andcommitted
fix external gif sharing
fixes signalapp#4539 Closes signalapp#4556 // FREEBIE
1 parent f3a4634 commit ae379cd

3 files changed

Lines changed: 10 additions & 3 deletions

File tree

src/org/thoughtcrime/securesms/ConversationActivity.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
157157
public static final String THREAD_ID_EXTRA = "thread_id";
158158
public static final String DRAFT_TEXT_EXTRA = "draft_text";
159159
public static final String DRAFT_IMAGE_EXTRA = "draft_image";
160+
public static final String DRAFT_GIF_EXTRA = "draft_gif";
160161
public static final String DRAFT_AUDIO_EXTRA = "draft_audio";
161162
public static final String DRAFT_VIDEO_EXTRA = "draft_video";
162163
public static final String DISTRIBUTION_TYPE_EXTRA = "distribution_type";
@@ -710,12 +711,14 @@ private void handleSecurityChange(boolean isSecureText, boolean isSecureVoice) {
710711

711712
private void initializeDraft() {
712713
String draftText = getIntent().getStringExtra(DRAFT_TEXT_EXTRA);
714+
Uri draftGif = getIntent().getParcelableExtra(DRAFT_GIF_EXTRA);
713715
Uri draftImage = getIntent().getParcelableExtra(DRAFT_IMAGE_EXTRA);
714716
Uri draftAudio = getIntent().getParcelableExtra(DRAFT_AUDIO_EXTRA);
715717
Uri draftVideo = getIntent().getParcelableExtra(DRAFT_VIDEO_EXTRA);
716718

717719
if (draftText != null) composeText.setText(draftText);
718720

721+
if (draftGif != null) setMedia(draftGif, MediaType.GIF);
719722
if (draftImage != null) setMedia(draftImage, MediaType.IMAGE);
720723
else if (draftAudio != null) setMedia(draftAudio, MediaType.AUDIO);
721724
else if (draftVideo != null) setMedia(draftVideo, MediaType.VIDEO);

src/org/thoughtcrime/securesms/ShareActivity.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import org.thoughtcrime.securesms.recipients.Recipients;
3737
import org.thoughtcrime.securesms.util.DynamicLanguage;
3838
import org.thoughtcrime.securesms.util.DynamicTheme;
39+
import org.thoughtcrime.securesms.util.MediaUtil;
3940
import org.thoughtcrime.securesms.util.ViewUtil;
4041

4142
import java.io.IOException;
@@ -188,7 +189,9 @@ private Intent getBaseShareIntent(final @NonNull Class<?> target) {
188189
final String type = streamExtra != null ? getMimeType(streamExtra) : getIntent().getType();
189190

190191
if (resolvedExtra != null) {
191-
if (ContentType.isImageType(type)) {
192+
if (MediaUtil.isGif(type)) {
193+
intent.putExtra(ConversationActivity.DRAFT_GIF_EXTRA, resolvedExtra);
194+
} else if (ContentType.isImageType(type)) {
192195
intent.putExtra(ConversationActivity.DRAFT_IMAGE_EXTRA, resolvedExtra);
193196
} else if (ContentType.isAudioType(type)) {
194197
intent.putExtra(ConversationActivity.DRAFT_AUDIO_EXTRA, resolvedExtra);

src/org/thoughtcrime/securesms/mms/GifSlide.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import java.io.IOException;
1111
import java.io.InputStream;
1212

13+
import ws.com.google.android.mms.ContentType;
1314
import ws.com.google.android.mms.pdu.PduPart;
1415

1516
public class GifSlide extends ImageSlide {
@@ -18,8 +19,8 @@ public GifSlide(Context context, Attachment attachment) {
1819
super(context, attachment);
1920
}
2021

21-
public GifSlide(Context context, Uri uri, long dataSize) throws IOException {
22-
super(context, uri, dataSize);
22+
public GifSlide(Context context, Uri uri, long size) throws IOException {
23+
super(context, constructAttachmentFromUri(context, uri, ContentType.IMAGE_GIF, size));
2324
}
2425

2526
@Override

0 commit comments

Comments
 (0)