fix external gif sharing

fixes #4539
Closes #4556
// FREEBIE
This commit is contained in:
Jake McGinty 2015-11-16 10:48:28 -08:00 committed by Moxie Marlinspike
parent f3a4634d30
commit ae379cd3dd
3 changed files with 10 additions and 3 deletions

View File

@ -157,6 +157,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
public static final String THREAD_ID_EXTRA = "thread_id";
public static final String DRAFT_TEXT_EXTRA = "draft_text";
public static final String DRAFT_IMAGE_EXTRA = "draft_image";
public static final String DRAFT_GIF_EXTRA = "draft_gif";
public static final String DRAFT_AUDIO_EXTRA = "draft_audio";
public static final String DRAFT_VIDEO_EXTRA = "draft_video";
public static final String DISTRIBUTION_TYPE_EXTRA = "distribution_type";
@ -710,12 +711,14 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
private void initializeDraft() {
String draftText = getIntent().getStringExtra(DRAFT_TEXT_EXTRA);
Uri draftGif = getIntent().getParcelableExtra(DRAFT_GIF_EXTRA);
Uri draftImage = getIntent().getParcelableExtra(DRAFT_IMAGE_EXTRA);
Uri draftAudio = getIntent().getParcelableExtra(DRAFT_AUDIO_EXTRA);
Uri draftVideo = getIntent().getParcelableExtra(DRAFT_VIDEO_EXTRA);
if (draftText != null) composeText.setText(draftText);
if (draftGif != null) setMedia(draftGif, MediaType.GIF);
if (draftImage != null) setMedia(draftImage, MediaType.IMAGE);
else if (draftAudio != null) setMedia(draftAudio, MediaType.AUDIO);
else if (draftVideo != null) setMedia(draftVideo, MediaType.VIDEO);

View File

@ -36,6 +36,7 @@ import org.thoughtcrime.securesms.providers.PersistentBlobProvider;
import org.thoughtcrime.securesms.recipients.Recipients;
import org.thoughtcrime.securesms.util.DynamicLanguage;
import org.thoughtcrime.securesms.util.DynamicTheme;
import org.thoughtcrime.securesms.util.MediaUtil;
import org.thoughtcrime.securesms.util.ViewUtil;
import java.io.IOException;
@ -188,7 +189,9 @@ public class ShareActivity extends PassphraseRequiredActionBarActivity
final String type = streamExtra != null ? getMimeType(streamExtra) : getIntent().getType();
if (resolvedExtra != null) {
if (ContentType.isImageType(type)) {
if (MediaUtil.isGif(type)) {
intent.putExtra(ConversationActivity.DRAFT_GIF_EXTRA, resolvedExtra);
} else if (ContentType.isImageType(type)) {
intent.putExtra(ConversationActivity.DRAFT_IMAGE_EXTRA, resolvedExtra);
} else if (ContentType.isAudioType(type)) {
intent.putExtra(ConversationActivity.DRAFT_AUDIO_EXTRA, resolvedExtra);

View File

@ -10,6 +10,7 @@ import org.thoughtcrime.securesms.crypto.MasterSecret;
import java.io.IOException;
import java.io.InputStream;
import ws.com.google.android.mms.ContentType;
import ws.com.google.android.mms.pdu.PduPart;
public class GifSlide extends ImageSlide {
@ -18,8 +19,8 @@ public class GifSlide extends ImageSlide {
super(context, attachment);
}
public GifSlide(Context context, Uri uri, long dataSize) throws IOException {
super(context, uri, dataSize);
public GifSlide(Context context, Uri uri, long size) throws IOException {
super(context, constructAttachmentFromUri(context, uri, ContentType.IMAGE_GIF, size));
}
@Override