diff --git a/res/layout/conversation_input_panel.xml b/res/layout/conversation_input_panel.xml
index 7751c210b..56707114c 100644
--- a/res/layout/conversation_input_panel.xml
+++ b/res/layout/conversation_input_panel.xml
@@ -31,19 +31,6 @@
android:clipToPadding="false"
android:orientation="vertical">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/res/values/attrs.xml b/res/values/attrs.xml
index 977c6a0b8..a4cf1cc42 100644
--- a/res/values/attrs.xml
+++ b/res/values/attrs.xml
@@ -212,16 +212,6 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/src/org/thoughtcrime/securesms/ConversationActivity.java b/src/org/thoughtcrime/securesms/ConversationActivity.java
index 2af1c0247..868220261 100644
--- a/src/org/thoughtcrime/securesms/ConversationActivity.java
+++ b/src/org/thoughtcrime/securesms/ConversationActivity.java
@@ -903,7 +903,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
protected ListenableFuture processComposeControls(int action) {
return processComposeControls(action, composeText.getTextTrimmed(),
- attachmentManager.isAttachmentPresent() || inputPanel.getQuote().isPresent()?
+ attachmentManager.isAttachmentPresent()?
attachmentManager.buildSlideDeck() : null);
}
@@ -917,7 +917,6 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
composeText.setText("");
if(slideDeck!=null) {
- inputPanel.clearQuote();
attachmentManager.clear(glideRequests, false);
try {
@@ -1290,36 +1289,6 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
@Override
public void handleReplyMessage(DcMsg messageRecord) {
-// Recipient author;
-//
-// if (messageRecord.isOutgoing()) {
-// author = Recipient.from(this, Address.fromSerialized(Prefs.getLocalNumber(this)), true);
-// } else {
-// author = messageRecord.getIndividualRecipient();
-// }
-//
-// if (messageRecord.isMms() && !((MmsMessageRecord) messageRecord).getSharedContacts().isEmpty()) {
-// Contact contact = ((MmsMessageRecord) messageRecord).getSharedContacts().get(0);
-// String displayName = ContactUtil.getDisplayName(contact);
-// String body = getString(R.string.ConversationActivity_quoted_contact_message, EmojiStrings.BUST_IN_SILHOUETTE, displayName);
-// SlideDeck slideDeck = new SlideDeck();
-//
-// if (contact.getAvatarAttachment() != null) {
-// slideDeck.addSlide(MediaUtil.getSlideForAttachment(this, contact.getAvatarAttachment()));
-// }
-//
-// inputPanel.setQuote(GlideApp.with(this),
-// messageRecord.getDateSent(),
-// author,
-// body,
-// slideDeck);
-// } else {
-// inputPanel.setQuote(GlideApp.with(this),
-// messageRecord.getDateSent(),
-// author,
-// messageRecord.getBody(),
-// messageRecord.isMms() ? ((MmsMessageRecord) messageRecord).getSlideDeck() : new SlideDeck());
-// }
}
@Override
diff --git a/src/org/thoughtcrime/securesms/ConversationItem.java b/src/org/thoughtcrime/securesms/ConversationItem.java
index ca6f313b3..74f6664a4 100644
--- a/src/org/thoughtcrime/securesms/ConversationItem.java
+++ b/src/org/thoughtcrime/securesms/ConversationItem.java
@@ -47,7 +47,6 @@ import org.thoughtcrime.securesms.components.AvatarImageView;
import org.thoughtcrime.securesms.components.ConversationItemFooter;
import org.thoughtcrime.securesms.components.ConversationItemThumbnail;
import org.thoughtcrime.securesms.components.DocumentView;
-import org.thoughtcrime.securesms.components.QuoteView;
import org.thoughtcrime.securesms.connect.ApplicationDcContext;
import org.thoughtcrime.securesms.connect.DcHelper;
import org.thoughtcrime.securesms.mms.AudioSlide;
@@ -91,7 +90,6 @@ public class ConversationItem extends LinearLayout
private GlideRequests glideRequests;
protected ViewGroup bodyBubble;
- private QuoteView quoteView;
private TextView bodyText;
private ConversationItemFooter footer;
private TextView groupSender;
@@ -147,7 +145,6 @@ public class ConversationItem extends LinearLayout
this.audioViewStub = new Stub<>(findViewById(R.id.audio_view_stub));
this.documentViewStub = new Stub<>(findViewById(R.id.document_view_stub));
this.groupSenderHolder = findViewById(R.id.group_sender_holder);
- this.quoteView = findViewById(R.id.quote_view);
this.container = findViewById(R.id.container);
setOnClickListener(new ClickListener(null));
@@ -188,7 +185,6 @@ public class ConversationItem extends LinearLayout
setContactPhoto();
setGroupMessageStatus();
setAuthor(messageRecord, groupThread);
- setQuote(messageRecord, groupThread);
setMessageSpacing(context);
setFooter(messageRecord, locale);
}
@@ -209,16 +205,6 @@ public class ConversationItem extends LinearLayout
//boolean needsMeasure = false;
- if (hasQuote(messageRecord)) {
- int quoteWidth = quoteView.getMeasuredWidth();
- int availableWidth = getAvailableMessageBubbleWidth(quoteView);
-
- if (quoteWidth != availableWidth) {
- quoteView.getLayoutParams().width = availableWidth;
- //needsMeasure = true;
- }
- }
-
/*
ConversationItemFooter activeFooter = getActiveFooter(messageRecord);
int availableWidth = getAvailableMessageBubbleWidth(footer);
@@ -348,10 +334,6 @@ public class ConversationItem extends LinearLayout
return dcMsg.getType()==DcMsg.DC_MSG_FILE && !dcMsg.isSetupMessage();
}
- private boolean hasQuote(DcMsg messageRecord) {
- return false;
- }
-
private void setBodyText(DcMsg messageRecord) {
bodyText.setClickable(false);
bodyText.setFocusable(false);
@@ -497,8 +479,7 @@ public class ConversationItem extends LinearLayout
}
if ((!current.isOutgoing() && isGroupThread)
- || current.isForwarded()
- || hasQuote(messageRecord)){
+ || current.isForwarded()){
topLeft = 0;
topRight = 0;
}
@@ -541,52 +522,6 @@ public class ConversationItem extends LinearLayout
return messageBody;
}
- private void setQuote(@NonNull DcMsg current, boolean isGroupThread) {
-// if (current.isMms() && !current.isMmsNotification() && ((MediaMmsDcMsg)current).getQuote() != null) {
-// Quote quote = ((MediaMmsDcMsg)current).getQuote();
-// assert quote != null;
-// quoteView.setQuote(glideRequests, quote.getId(), Recipient.from(context, quote.getAuthor(), true), quote.getText(), quote.getAttachment());
-// quoteView.setVisibility(View.VISIBLE);
-// quoteView.getLayoutParams().width = ViewGroup.LayoutParams.WRAP_CONTENT;
-//
-// quoteView.setOnClickListener(view -> {
-// if (eventListener != null && batchIsEmpty()) {
-// eventListener.onQuoteClicked((MmsDcMsg) current);
-// } else {
-// passthroughClickListener.onClick(view);
-// }
-// });
-//
-// quoteView.setOnLongClickListener(passthroughClickListener);
-//
-// if (isStartOfMessageCluster(current, previous, isGroupThread)) {
-// if (current.isOutgoing()) {
-// quoteView.setTopCornerSizes(true, true);
-// } else if (isGroupThread) {
-// quoteView.setTopCornerSizes(false, false);
-// } else {
-// quoteView.setTopCornerSizes(true, true);
-// }
-// } else if (!isSingularMessage(current, previous, next, isGroupThread)) {
-// if (current.isOutgoing()) {
-// quoteView.setTopCornerSizes(true, false);
-// } else {
-// quoteView.setTopCornerSizes(false, true);
-// }
-// }
-//
-// if (mediaThumbnailStub.resolved()) {
-// ViewUtil.setTopMargin(mediaThumbnailStub.get(), readDimen(R.dimen.message_bubble_top_padding));
-// }
-// } else {
-// quoteView.dismiss();
-//
-// if (mediaThumbnailStub.resolved()) {
-// ViewUtil.setTopMargin(mediaThumbnailStub.get(), 0);
-// }
-// }
- }
-
private void setGutterSizes(@NonNull DcMsg current, boolean isGroupThread) {
if (isGroupThread && current.isOutgoing()) {
ViewUtil.setLeftMargin(container, readDimen(R.dimen.conversation_group_left_gutter));
diff --git a/src/org/thoughtcrime/securesms/attachments/Attachment.java b/src/org/thoughtcrime/securesms/attachments/Attachment.java
index fd8efa89b..7cf72fd5f 100644
--- a/src/org/thoughtcrime/securesms/attachments/Attachment.java
+++ b/src/org/thoughtcrime/securesms/attachments/Attachment.java
@@ -24,12 +24,10 @@ public abstract class Attachment {
private final int width;
private final int height;
- private final boolean quote;
-
public Attachment(@NonNull String contentType, int transferState, long size, @Nullable String fileName,
@Nullable String location, @Nullable String key, @Nullable String relay,
@Nullable byte[] digest, @Nullable String fastPreflightId, boolean voiceNote,
- int width, int height, boolean quote)
+ int width, int height)
{
this.contentType = contentType;
this.transferState = transferState;
@@ -40,7 +38,6 @@ public abstract class Attachment {
this.voiceNote = voiceNote;
this.width = width;
this.height = height;
- this.quote = quote;
}
@Nullable
@@ -92,8 +89,4 @@ public abstract class Attachment {
public int getHeight() {
return height;
}
-
- public boolean isQuote() {
- return quote;
- }
}
diff --git a/src/org/thoughtcrime/securesms/attachments/DatabaseAttachment.java b/src/org/thoughtcrime/securesms/attachments/DatabaseAttachment.java
index 752a86d42..035417b58 100644
--- a/src/org/thoughtcrime/securesms/attachments/DatabaseAttachment.java
+++ b/src/org/thoughtcrime/securesms/attachments/DatabaseAttachment.java
@@ -16,9 +16,9 @@ public class DatabaseAttachment extends Attachment {
String contentType, int transferProgress, long size,
String fileName, String location, String key, String relay,
byte[] digest, String fastPreflightId, boolean voiceNote,
- int width, int height, boolean quote)
+ int width, int height)
{
- super(contentType, transferProgress, size, fileName, location, key, relay, digest, fastPreflightId, voiceNote, width, height, quote);
+ super(contentType, transferProgress, size, fileName, location, key, relay, digest, fastPreflightId, voiceNote, width, height);
this.attachmentId = attachmentId;
this.hasData = hasData;
this.hasThumbnail = hasThumbnail;
diff --git a/src/org/thoughtcrime/securesms/attachments/DcAttachment.java b/src/org/thoughtcrime/securesms/attachments/DcAttachment.java
index 8a42aad0e..e245d2025 100644
--- a/src/org/thoughtcrime/securesms/attachments/DcAttachment.java
+++ b/src/org/thoughtcrime/securesms/attachments/DcAttachment.java
@@ -13,12 +13,11 @@ public class DcAttachment extends Attachment {
private final DcMsg dcMsg;
public DcAttachment(DcMsg dcMsg) {
- // todo: width, height, quote
super(dcMsg.getFilemime(), AttachmentDatabase.TRANSFER_PROGRESS_DONE, dcMsg.getFilebytes(),
dcMsg.getFilename(),
Uri.fromFile(new File(dcMsg.getFile())).toString(), String.valueOf(dcMsg.getId()), null, null,
null, dcMsg.getType() == DcMsg.DC_MSG_VOICE,
- 0, 0, false);
+ 0, 0);
this.dcMsg = dcMsg;
}
diff --git a/src/org/thoughtcrime/securesms/attachments/UriAttachment.java b/src/org/thoughtcrime/securesms/attachments/UriAttachment.java
index 72c4f365e..d1cd989c4 100644
--- a/src/org/thoughtcrime/securesms/attachments/UriAttachment.java
+++ b/src/org/thoughtcrime/securesms/attachments/UriAttachment.java
@@ -10,17 +10,17 @@ public class UriAttachment extends Attachment {
private final @Nullable Uri thumbnailUri;
public UriAttachment(@NonNull Uri uri, @NonNull String contentType, int transferState, long size,
- @Nullable String fileName, boolean voiceNote, boolean quote)
+ @Nullable String fileName, boolean voiceNote)
{
- this(uri, uri, contentType, transferState, size, 0, 0, fileName, null, voiceNote, quote);
+ this(uri, uri, contentType, transferState, size, 0, 0, fileName, null, voiceNote);
}
public UriAttachment(@NonNull Uri dataUri, @Nullable Uri thumbnailUri,
@NonNull String contentType, int transferState, long size, int width, int height,
@Nullable String fileName, @Nullable String fastPreflightId,
- boolean voiceNote, boolean quote)
+ boolean voiceNote)
{
- super(contentType, transferState, size, fileName, null, null, null, null, fastPreflightId, voiceNote, width, height, quote);
+ super(contentType, transferState, size, fileName, null, null, null, null, fastPreflightId, voiceNote, width, height);
this.dataUri = dataUri;
this.thumbnailUri = thumbnailUri;
}
diff --git a/src/org/thoughtcrime/securesms/components/InputPanel.java b/src/org/thoughtcrime/securesms/components/InputPanel.java
index d89430a31..3d9737507 100644
--- a/src/org/thoughtcrime/securesms/components/InputPanel.java
+++ b/src/org/thoughtcrime/securesms/components/InputPanel.java
@@ -23,17 +23,12 @@ import android.widget.Toast;
import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.components.emoji.EmojiDrawer;
import org.thoughtcrime.securesms.components.emoji.EmojiToggle;
-import org.thoughtcrime.securesms.mms.GlideRequests;
-import org.thoughtcrime.securesms.mms.QuoteModel;
-import org.thoughtcrime.securesms.mms.SlideDeck;
-import org.thoughtcrime.securesms.recipients.Recipient;
import org.thoughtcrime.securesms.util.Prefs;
import org.thoughtcrime.securesms.util.Util;
import org.thoughtcrime.securesms.util.ViewUtil;
import org.thoughtcrime.securesms.util.concurrent.AssertedSuccessListener;
import org.thoughtcrime.securesms.util.concurrent.ListenableFuture;
import org.thoughtcrime.securesms.util.concurrent.SettableFuture;
-import org.thoughtcrime.securesms.util.guava.Optional;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicLong;
@@ -48,7 +43,6 @@ public class InputPanel extends LinearLayout
private static final int FADE_TIME = 150;
- private QuoteView quoteView;
private EmojiToggle emojiToggle;
private ComposeText composeText;
private View quickCameraToggle;
@@ -80,9 +74,6 @@ public class InputPanel extends LinearLayout
public void onFinishInflate() {
super.onFinishInflate();
- View quoteDismiss = findViewById(R.id.quote_dismiss);
-
- this.quoteView = findViewById(R.id.quote_view);
this.emojiToggle = findViewById(R.id.emoji_toggle);
this.composeText = findViewById(R.id.embedded_text_editor);
this.quickCameraToggle = findViewById(R.id.quick_camera_toggle);
@@ -106,8 +97,6 @@ public class InputPanel extends LinearLayout
emojiToggle.setVisibility(View.VISIBLE);
emojiVisible = true;
}
-
- quoteDismiss.setOnClickListener(v -> clearQuote());
}
public void setListener(final @NonNull Listener listener) {
@@ -120,23 +109,6 @@ public class InputPanel extends LinearLayout
composeText.setMediaListener(listener);
}
- public void setQuote(@NonNull GlideRequests glideRequests, long id, @NonNull Recipient author, @NonNull String body, @NonNull SlideDeck attachments) {
- this.quoteView.setQuote(glideRequests, id, author, body, attachments);
- this.quoteView.setVisibility(View.VISIBLE);
- }
-
- public void clearQuote() {
- this.quoteView.dismiss();
- }
-
- public Optional getQuote() {
- if (quoteView.getQuoteId() > 0 && quoteView.getVisibility() == View.VISIBLE) {
- return Optional.of(new QuoteModel(quoteView.getQuoteId(), quoteView.getAuthor().getAddress(), quoteView.getBody(), quoteView.getAttachments()));
- } else {
- return Optional.absent();
- }
- }
-
public void setEmojiDrawer(@NonNull EmojiDrawer emojiDrawer) {
emojiToggle.attach(emojiDrawer);
}
diff --git a/src/org/thoughtcrime/securesms/components/QuoteView.java b/src/org/thoughtcrime/securesms/components/QuoteView.java
deleted file mode 100644
index f25dce805..000000000
--- a/src/org/thoughtcrime/securesms/components/QuoteView.java
+++ /dev/null
@@ -1,275 +0,0 @@
-package org.thoughtcrime.securesms.components;
-
-
-import android.content.Context;
-import android.content.res.TypedArray;
-import android.graphics.Canvas;
-import android.graphics.Color;
-import android.os.Build;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.annotation.RequiresApi;
-import android.text.TextUtils;
-import android.util.AttributeSet;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.FrameLayout;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.TextView;
-
-import com.annimon.stream.Stream;
-import com.bumptech.glide.load.engine.DiskCacheStrategy;
-
-import org.thoughtcrime.securesms.R;
-import org.thoughtcrime.securesms.attachments.Attachment;
-import org.thoughtcrime.securesms.mms.DecryptableStreamUriLoader.DecryptableUri;
-import org.thoughtcrime.securesms.mms.GlideRequests;
-import org.thoughtcrime.securesms.mms.Slide;
-import org.thoughtcrime.securesms.mms.SlideDeck;
-import org.thoughtcrime.securesms.recipients.Recipient;
-import org.thoughtcrime.securesms.recipients.RecipientModifiedListener;
-import org.thoughtcrime.securesms.util.ThemeUtil;
-import org.thoughtcrime.securesms.util.Util;
-
-import java.util.List;
-
-public class QuoteView extends FrameLayout implements RecipientModifiedListener {
-
- private static final String TAG = QuoteView.class.getSimpleName();
-
- private static final int MESSAGE_TYPE_PREVIEW = 0;
- private static final int MESSAGE_TYPE_OUTGOING = 1;
- private static final int MESSAGE_TYPE_INCOMING = 2;
-
- private ViewGroup rootView;
- private TextView authorView;
- private TextView bodyView;
- private ImageView quoteBarView;
- private ImageView thumbnailView;
- private View attachmentVideoOverlayView;
- private ViewGroup attachmentContainerView;
- private TextView attachmentNameView;
- private ImageView dismissView;
-
- private long id;
- private Recipient author;
- private String body;
- private TextView mediaDescriptionText;
- private SlideDeck attachments;
- private int messageType;
- private int largeCornerRadius;
- private int smallCornerRadius;
- private CornerMask cornerMask;
-
-
- public QuoteView(Context context) {
- super(context);
- initialize(null);
- }
-
- public QuoteView(Context context, AttributeSet attrs) {
- super(context, attrs);
- initialize(attrs);
- }
-
- public QuoteView(Context context, AttributeSet attrs, int defStyleAttr) {
- super(context, attrs, defStyleAttr);
- initialize(attrs);
- }
-
- @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
- public QuoteView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
- super(context, attrs, defStyleAttr, defStyleRes);
- initialize(attrs);
- }
-
- private void initialize(@Nullable AttributeSet attrs) {
- inflate(getContext(), R.layout.quote_view, this);
-
- this.rootView = findViewById(R.id.quote_root);
- this.authorView = findViewById(R.id.quote_author);
- this.bodyView = findViewById(R.id.quote_text);
- this.quoteBarView = findViewById(R.id.quote_bar);
- this.thumbnailView = findViewById(R.id.quote_thumbnail);
- this.attachmentVideoOverlayView = findViewById(R.id.quote_video_overlay);
- this.attachmentContainerView = findViewById(R.id.quote_attachment_container);
- this.attachmentNameView = findViewById(R.id.quote_attachment_name);
- this.dismissView = findViewById(R.id.quote_dismiss);
- this.mediaDescriptionText = findViewById(R.id.media_type);
- this.largeCornerRadius = getResources().getDimensionPixelSize(R.dimen.quote_corner_radius_large);
- this.smallCornerRadius = getResources().getDimensionPixelSize(R.dimen.quote_corner_radius_bottom);
-
- cornerMask = new CornerMask(this);
- cornerMask.setRadii(largeCornerRadius, largeCornerRadius, smallCornerRadius, smallCornerRadius);
-
- if (attrs != null) {
- TypedArray typedArray = getContext().getTheme().obtainStyledAttributes(attrs, R.styleable.QuoteView, 0, 0);
- int primaryColor = typedArray.getColor(R.styleable.QuoteView_quote_colorPrimary, Color.BLACK);
- int secondaryColor = typedArray.getColor(R.styleable.QuoteView_quote_colorSecondary, Color.BLACK);
- messageType = typedArray.getInt(R.styleable.QuoteView_message_type, 0);
- typedArray.recycle();
-
- dismissView.setVisibility(messageType == MESSAGE_TYPE_PREVIEW ? VISIBLE : GONE);
-
- authorView.setTextColor(primaryColor);
- bodyView.setTextColor(primaryColor);
- attachmentNameView.setTextColor(primaryColor);
- mediaDescriptionText.setTextColor(secondaryColor);
-
- if (messageType == MESSAGE_TYPE_PREVIEW) {
- int radius = getResources().getDimensionPixelOffset(R.dimen.quote_corner_radius_preview);
- cornerMask.setTopLeftRadius(radius);
- cornerMask.setTopRightRadius(radius);
- }
- }
-
- dismissView.setOnClickListener(view -> setVisibility(GONE));
-
- if (cornerMask.isLegacy()) {
- setWillNotDraw(false);
- }
- }
-
- @Override
- protected void onDraw(Canvas canvas) {
- super.onDraw(canvas);
- if (cornerMask.isLegacy()) {
- cornerMask.mask(canvas);
- }
- }
-
- @Override
- protected void dispatchDraw(Canvas canvas) {
- super.dispatchDraw(canvas);
- if (!cornerMask.isLegacy()) {
- cornerMask.mask(canvas);
- }
- }
-
- public void setQuote(GlideRequests glideRequests, long id, @NonNull Recipient author, @Nullable String body, @NonNull SlideDeck attachments) {
- if (this.author != null) this.author.removeListener(this);
-
- this.id = id;
- this.author = author;
- this.body = body;
- this.attachments = attachments;
-
- author.addListener(this);
- setQuoteAuthor(author);
- setQuoteText(body, attachments);
- setQuoteAttachment(glideRequests, attachments);
- }
-
- public void setTopCornerSizes(boolean topLeftLarge, boolean topRightLarge) {
- cornerMask.setTopLeftRadius(topLeftLarge ? largeCornerRadius : smallCornerRadius);
- cornerMask.setTopRightRadius(topRightLarge ? largeCornerRadius : smallCornerRadius);
- }
-
- public void dismiss() {
- if (this.author != null) this.author.removeListener(this);
-
- this.id = 0;
- this.author = null;
- this.body = null;
-
- setVisibility(GONE);
- }
-
- @Override
- public void onModified(Recipient recipient) {
- Util.runOnMain(() -> {
- if (recipient == author) {
- setQuoteAuthor(recipient);
- }
- });
- }
-
- private void setQuoteAuthor(@NonNull Recipient author) {
- boolean outgoing = messageType != MESSAGE_TYPE_INCOMING;
- boolean isOwnNumber = Util.isOwnNumber(getContext(), author.getAddress());
-
- authorView.setText(isOwnNumber ? getContext().getString(R.string.self)
- : author.toShortString());
-
- // We use the raw color resource because Android 4.x was struggling with tints here
- //quoteBarView.setImageResource(author.getColor().toQuoteBarColorResource(getContext(), outgoing));
- //rootView.setBackgroundColor(author.getColor().toQuoteBackgroundColor(getContext(), outgoing));
- }
-
- private void setQuoteText(@Nullable String body, @NonNull SlideDeck attachments) {
- if (!TextUtils.isEmpty(body) || !attachments.containsMediaSlide()) {
- bodyView.setVisibility(VISIBLE);
- bodyView.setText(body == null ? "" : body);
- mediaDescriptionText.setVisibility(GONE);
- return;
- }
-
- bodyView.setVisibility(GONE);
- mediaDescriptionText.setVisibility(VISIBLE);
-
- List audioSlides = Stream.of(attachments.getSlides()).filter(Slide::hasAudio).limit(1).toList();
- List documentSlides = Stream.of(attachments.getSlides()).filter(Slide::hasDocument).limit(1).toList();
- List imageSlides = Stream.of(attachments.getSlides()).filter(Slide::hasImage).limit(1).toList();
- List videoSlides = Stream.of(attachments.getSlides()).filter(Slide::hasVideo).limit(1).toList();
-
- // Given that most types have images, we specifically check images last
- if (!audioSlides.isEmpty()) {
- mediaDescriptionText.setText(R.string.audio);
- } else if (!documentSlides.isEmpty()) {
- mediaDescriptionText.setVisibility(GONE);
- } else if (!videoSlides.isEmpty()) {
- mediaDescriptionText.setText(R.string.video);
- } else if (!imageSlides.isEmpty()) {
- mediaDescriptionText.setText(R.string.image);
- }
- }
-
- private void setQuoteAttachment(@NonNull GlideRequests glideRequests, @NonNull SlideDeck slideDeck) {
- List imageVideoSlides = Stream.of(slideDeck.getSlides()).filter(s -> s.hasImage() || s.hasVideo()).limit(1).toList();
- List documentSlides = Stream.of(attachments.getSlides()).filter(Slide::hasDocument).limit(1).toList();
-
- attachmentVideoOverlayView.setVisibility(GONE);
-
- if (!imageVideoSlides.isEmpty() && imageVideoSlides.get(0).getThumbnailUri() != null) {
- thumbnailView.setVisibility(VISIBLE);
- attachmentContainerView.setVisibility(GONE);
- dismissView.setBackgroundResource(R.drawable.dismiss_background);
- if (imageVideoSlides.get(0).hasVideo()) {
- attachmentVideoOverlayView.setVisibility(VISIBLE);
- }
- glideRequests.load(new DecryptableUri(imageVideoSlides.get(0).getThumbnailUri()))
- .centerCrop()
- .diskCacheStrategy(DiskCacheStrategy.RESOURCE)
- .into(thumbnailView);
- } else if (!documentSlides.isEmpty()){
- thumbnailView.setVisibility(GONE);
- attachmentContainerView.setVisibility(VISIBLE);
- attachmentNameView.setText(documentSlides.get(0).getFileName().or(""));
- } else {
- thumbnailView.setVisibility(GONE);
- attachmentContainerView.setVisibility(GONE);
- dismissView.setBackgroundDrawable(null);
- }
-
- if (ThemeUtil.isDarkTheme(getContext())) {
- dismissView.setBackgroundResource(R.drawable.circle_alpha);
- }
- }
-
- public long getQuoteId() {
- return id;
- }
-
- public Recipient getAuthor() {
- return author;
- }
-
- public String getBody() {
- return body;
- }
-
- public List getAttachments() {
- return attachments.asAttachments();
- }
-}
diff --git a/src/org/thoughtcrime/securesms/contactshare/Contact.java b/src/org/thoughtcrime/securesms/contactshare/Contact.java
index b25ca7141..e30d6b62c 100644
--- a/src/org/thoughtcrime/securesms/contactshare/Contact.java
+++ b/src/org/thoughtcrime/securesms/contactshare/Contact.java
@@ -587,7 +587,7 @@ public class Contact implements Parcelable {
private static Attachment attachmentFromUri(@Nullable Uri uri) {
if (uri == null) return null;
- return new UriAttachment(uri, MediaUtil.IMAGE_JPEG, AttachmentDatabase.TRANSFER_PROGRESS_DONE, 0, null, false, false);
+ return new UriAttachment(uri, MediaUtil.IMAGE_JPEG, AttachmentDatabase.TRANSFER_PROGRESS_DONE, 0, null, false);
}
@Override
diff --git a/src/org/thoughtcrime/securesms/mms/AudioSlide.java b/src/org/thoughtcrime/securesms/mms/AudioSlide.java
index a062c2f9b..c1425ebd6 100644
--- a/src/org/thoughtcrime/securesms/mms/AudioSlide.java
+++ b/src/org/thoughtcrime/securesms/mms/AudioSlide.java
@@ -42,11 +42,11 @@ public class AudioSlide extends Slide {
}
public AudioSlide(Context context, Uri uri, long dataSize, boolean voiceNote) {
- super(context, constructAttachmentFromUri(context, uri, MediaUtil.AUDIO_UNSPECIFIED, dataSize, 0, 0, false, null, voiceNote, false));
+ super(context, constructAttachmentFromUri(context, uri, MediaUtil.AUDIO_UNSPECIFIED, dataSize, 0, 0, false, null, voiceNote));
}
public AudioSlide(Context context, Uri uri, long dataSize, String contentType, boolean voiceNote) {
- super(context, new UriAttachment(uri, null, contentType, AttachmentDatabase.TRANSFER_PROGRESS_STARTED, dataSize, 0, 0, null, null, voiceNote, false));
+ super(context, new UriAttachment(uri, null, contentType, AttachmentDatabase.TRANSFER_PROGRESS_STARTED, dataSize, 0, 0, null, null, voiceNote));
}
public AudioSlide(Context context, Attachment attachment) {
diff --git a/src/org/thoughtcrime/securesms/mms/DocumentSlide.java b/src/org/thoughtcrime/securesms/mms/DocumentSlide.java
index 3131f5e81..096927052 100644
--- a/src/org/thoughtcrime/securesms/mms/DocumentSlide.java
+++ b/src/org/thoughtcrime/securesms/mms/DocumentSlide.java
@@ -29,7 +29,7 @@ public class DocumentSlide extends Slide {
@NonNull String contentType, long size,
@Nullable String fileName)
{
- super(context, constructAttachmentFromUri(context, uri, contentType, size, 0, 0, true, StorageUtil.getCleanFileName(fileName), false, false));
+ super(context, constructAttachmentFromUri(context, uri, contentType, size, 0, 0, true, StorageUtil.getCleanFileName(fileName), false));
}
@Override
diff --git a/src/org/thoughtcrime/securesms/mms/GifSlide.java b/src/org/thoughtcrime/securesms/mms/GifSlide.java
index d3c7029aa..d10c6ce0b 100644
--- a/src/org/thoughtcrime/securesms/mms/GifSlide.java
+++ b/src/org/thoughtcrime/securesms/mms/GifSlide.java
@@ -20,7 +20,7 @@ public class GifSlide extends ImageSlide {
}
public GifSlide(Context context, Uri uri, long size, int width, int height) {
- super(context, constructAttachmentFromUri(context, uri, MediaUtil.IMAGE_GIF, size, width, height, true, null, false, false));
+ super(context, constructAttachmentFromUri(context, uri, MediaUtil.IMAGE_GIF, size, width, height, true, null, false));
}
@Override
diff --git a/src/org/thoughtcrime/securesms/mms/ImageSlide.java b/src/org/thoughtcrime/securesms/mms/ImageSlide.java
index 0df84b59f..b32b8e892 100644
--- a/src/org/thoughtcrime/securesms/mms/ImageSlide.java
+++ b/src/org/thoughtcrime/securesms/mms/ImageSlide.java
@@ -44,7 +44,7 @@ public class ImageSlide extends Slide {
}
public ImageSlide(Context context, Uri uri, long size, int width, int height) {
- super(context, constructAttachmentFromUri(context, uri, MediaUtil.IMAGE_JPEG, size, width, height, true, null, false, false));
+ super(context, constructAttachmentFromUri(context, uri, MediaUtil.IMAGE_JPEG, size, width, height, true, null, false));
}
@Override
diff --git a/src/org/thoughtcrime/securesms/mms/QuoteModel.java b/src/org/thoughtcrime/securesms/mms/QuoteModel.java
deleted file mode 100644
index 1ed405d6e..000000000
--- a/src/org/thoughtcrime/securesms/mms/QuoteModel.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.thoughtcrime.securesms.mms;
-
-
-import android.support.annotation.Nullable;
-
-import org.thoughtcrime.securesms.attachments.Attachment;
-import org.thoughtcrime.securesms.database.Address;
-
-import java.util.List;
-
-public class QuoteModel {
-
- private final long id;
- private final Address author;
- private final String text;
- private final List attachments;
-
- public QuoteModel(long id, Address author, String text, @Nullable List attachments) {
- this.id = id;
- this.author = author;
- this.text = text;
- this.attachments = attachments;
- }
-
- public long getId() {
- return id;
- }
-
- public Address getAuthor() {
- return author;
- }
-
- public String getText() {
- return text;
- }
-
- public List getAttachments() {
- return attachments;
- }
-}
diff --git a/src/org/thoughtcrime/securesms/mms/Slide.java b/src/org/thoughtcrime/securesms/mms/Slide.java
index 9fad9c4e2..7bfcc0c0d 100644
--- a/src/org/thoughtcrime/securesms/mms/Slide.java
+++ b/src/org/thoughtcrime/securesms/mms/Slide.java
@@ -140,8 +140,7 @@ public abstract class Slide {
int height,
boolean hasThumbnail,
@Nullable String fileName,
- boolean voiceNote,
- boolean quote)
+ boolean voiceNote)
{
try {
String resolvedType = Optional.fromNullable(MediaUtil.getMimeType(context, uri)).or(defaultMime);
@@ -155,8 +154,7 @@ public abstract class Slide {
height,
fileName,
fastPreflightId,
- voiceNote,
- quote);
+ voiceNote);
} catch (NoSuchAlgorithmException e) {
throw new AssertionError(e);
}
diff --git a/src/org/thoughtcrime/securesms/mms/VideoSlide.java b/src/org/thoughtcrime/securesms/mms/VideoSlide.java
index eee2e3e84..a1d3fac27 100644
--- a/src/org/thoughtcrime/securesms/mms/VideoSlide.java
+++ b/src/org/thoughtcrime/securesms/mms/VideoSlide.java
@@ -33,7 +33,7 @@ import org.thoughtcrime.securesms.util.ResUtil;
public class VideoSlide extends Slide {
public VideoSlide(Context context, Uri uri, long dataSize) {
- super(context, constructAttachmentFromUri(context, uri, MediaUtil.VIDEO_UNSPECIFIED, dataSize, 0, 0, MediaUtil.hasVideoThumbnail(uri), null, false, false));
+ super(context, constructAttachmentFromUri(context, uri, MediaUtil.VIDEO_UNSPECIFIED, dataSize, 0, 0, MediaUtil.hasVideoThumbnail(uri), null, false));
}
public VideoSlide(Context context, DcMsg dcMsg) {