From 979d2c663d7e94bd2d8139286e3cfbe9fdf8ca0f Mon Sep 17 00:00:00 2001 From: "B. Petersen" Date: Fri, 29 Mar 2019 00:28:32 +0100 Subject: [PATCH] remove dead quote code --- res/layout/conversation_input_panel.xml | 13 - res/layout/conversation_item_received.xml | 13 - res/layout/conversation_item_sent.xml | 13 - res/layout/quote_view.xml | 155 ---------- res/values/attrs.xml | 10 - .../securesms/ConversationActivity.java | 33 +-- .../securesms/ConversationItem.java | 67 +---- .../securesms/attachments/Attachment.java | 9 +- .../attachments/DatabaseAttachment.java | 4 +- .../securesms/attachments/DcAttachment.java | 3 +- .../securesms/attachments/UriAttachment.java | 8 +- .../securesms/components/InputPanel.java | 28 -- .../securesms/components/QuoteView.java | 275 ------------------ .../securesms/contactshare/Contact.java | 2 +- .../securesms/mms/AudioSlide.java | 4 +- .../securesms/mms/DocumentSlide.java | 2 +- .../thoughtcrime/securesms/mms/GifSlide.java | 2 +- .../securesms/mms/ImageSlide.java | 2 +- .../securesms/mms/QuoteModel.java | 40 --- src/org/thoughtcrime/securesms/mms/Slide.java | 6 +- .../securesms/mms/VideoSlide.java | 2 +- 21 files changed, 19 insertions(+), 672 deletions(-) delete mode 100644 res/layout/quote_view.xml delete mode 100644 src/org/thoughtcrime/securesms/components/QuoteView.java delete mode 100644 src/org/thoughtcrime/securesms/mms/QuoteModel.java 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) {