diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/QuoteView.java b/app/src/main/java/org/thoughtcrime/securesms/components/QuoteView.java
index d480135caf..82cc893618 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/components/QuoteView.java
+++ b/app/src/main/java/org/thoughtcrime/securesms/components/QuoteView.java
@@ -27,7 +27,6 @@ import org.thoughtcrime.securesms.attachments.Attachment;
import org.thoughtcrime.securesms.components.mention.MentionAnnotation;
import org.thoughtcrime.securesms.conversation.colors.ChatColors;
import org.thoughtcrime.securesms.database.model.Mention;
-import org.thoughtcrime.securesms.database.model.databaseprotos.StoryTextPost;
import org.thoughtcrime.securesms.mms.DecryptableStreamUriLoader.DecryptableUri;
import org.thoughtcrime.securesms.mms.GlideRequests;
import org.thoughtcrime.securesms.mms.Slide;
@@ -51,8 +50,9 @@ public class QuoteView extends FrameLayout implements RecipientForeverObserver {
PREVIEW(0),
OUTGOING(1),
INCOMING(2),
- STORY_REPLY(3),
- STORY_REPLY_PREVIEW(4);
+ STORY_REPLY_OUTGOING(3),
+ STORY_REPLY_INCOMING(4),
+ STORY_REPLY_PREVIEW(5);
private final int code;
@@ -185,8 +185,6 @@ public class QuoteView extends FrameLayout implements RecipientForeverObserver {
thumbHeight = getResources().getDimensionPixelOffset(R.dimen.quote_story_thumb_height);
}
- mainView.setMinimumHeight(thumbHeight);
-
ViewGroup.LayoutParams params = thumbnailView.getLayoutParams();
params.height = thumbHeight;
params.width = thumbWidth;
@@ -211,8 +209,8 @@ public class QuoteView extends FrameLayout implements RecipientForeverObserver {
this.author.observeForever(this);
setQuoteAuthor(author);
- setQuoteText(body, attachments);
- setQuoteAttachment(glideRequests, body, attachments);
+ setQuoteText(body, attachments, originalMissing);
+ setQuoteAttachment(glideRequests, body, attachments, originalMissing);
setQuoteMissingFooter(originalMissing);
if (Build.VERSION.SDK_INT < 21 && messageType == MessageType.INCOMING && chatColors != null) {
@@ -251,7 +249,7 @@ public class QuoteView extends FrameLayout implements RecipientForeverObserver {
}
private void setQuoteAuthor(@NonNull Recipient author) {
- boolean outgoing = messageType != MessageType.INCOMING;
+ boolean outgoing = messageType != MessageType.INCOMING && messageType != MessageType.STORY_REPLY_INCOMING;
boolean preview = messageType == MessageType.PREVIEW || messageType == MessageType.STORY_REPLY_PREVIEW;
if (isStoryReply()) {
@@ -262,15 +260,25 @@ public class QuoteView extends FrameLayout implements RecipientForeverObserver {
: author.getDisplayName(getContext()));
}
- quoteBarView.setBackgroundColor(ContextCompat.getColor(getContext(), outgoing ? R.color.core_white : android.R.color.transparent));
- mainView.setBackgroundColor(ContextCompat.getColor(getContext(), preview ? R.color.quote_preview_background : R.color.quote_view_background));
+ quoteBarView.setBackgroundColor(ContextCompat.getColor(getContext(), outgoing || isStoryReply() ? R.color.core_white : android.R.color.transparent));
+ mainView.setBackgroundColor(ContextCompat.getColor(getContext(), preview || (!outgoing && isStoryReply()) ? R.color.quote_preview_background : R.color.quote_view_background));
}
private boolean isStoryReply() {
- return messageType == MessageType.STORY_REPLY || messageType == MessageType.STORY_REPLY_PREVIEW;
+ return messageType == MessageType.STORY_REPLY_OUTGOING ||
+ messageType == MessageType.STORY_REPLY_INCOMING ||
+ messageType == MessageType.STORY_REPLY_PREVIEW;
}
- private void setQuoteText(@Nullable CharSequence body, @NonNull SlideDeck attachments) {
+ private void setQuoteText(@Nullable CharSequence body, @NonNull SlideDeck attachments, boolean originalMissing) {
+ if (originalMissing && isStoryReply()) {
+ bodyView.setVisibility(GONE);
+ mediaDescriptionText.setVisibility(VISIBLE);
+
+ mediaDescriptionText.setText(R.string.QuoteView_no_longer_available);
+ return;
+ }
+
boolean isTextStory = !attachments.containsMediaSlide() && isStoryReply();
if (!TextUtils.isEmpty(body) || !attachments.containsMediaSlide()) {
@@ -324,7 +332,9 @@ public class QuoteView extends FrameLayout implements RecipientForeverObserver {
}
}
- private void setQuoteAttachment(@NonNull GlideRequests glideRequests, @NonNull CharSequence body, @NonNull SlideDeck slideDeck) {
+ private void setQuoteAttachment(@NonNull GlideRequests glideRequests, @NonNull CharSequence body, @NonNull SlideDeck slideDeck, boolean originalMissing) {
+ mainView.setMinimumHeight(isStoryReply() && originalMissing ? 0 : thumbHeight);
+
if (!attachments.containsMediaSlide() && isStoryReply()) {
StoryTextPostModel model = StoryTextPostModel.parseFrom(body.toString(), id, author.getId());
attachmentVideoOverlayView.setVisibility(GONE);
@@ -375,7 +385,7 @@ public class QuoteView extends FrameLayout implements RecipientForeverObserver {
}
private void setQuoteMissingFooter(boolean missing) {
- footerView.setVisibility(missing ? VISIBLE : GONE);
+ footerView.setVisibility(missing && !isStoryReply() ? VISIBLE : GONE);
footerView.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.quote_view_background));
}
diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItem.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItem.java
index 703eb27842..7c7e5fe14f 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItem.java
+++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItem.java
@@ -1424,7 +1424,7 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
Quote quote = ((MediaMmsMessageRecord)current).getQuote();
if (((MediaMmsMessageRecord) current).getParentStoryId() != null) {
- quoteView.setMessageType(QuoteView.MessageType.STORY_REPLY);
+ quoteView.setMessageType(current.isOutgoing() ? QuoteView.MessageType.STORY_REPLY_OUTGOING : QuoteView.MessageType.STORY_REPLY_INCOMING);
} else {
quoteView.setMessageType(current.isOutgoing() ? QuoteView.MessageType.OUTGOING : QuoteView.MessageType.INCOMING);
}
diff --git a/app/src/main/res/layout/quote_view.xml b/app/src/main/res/layout/quote_view.xml
index 98560b530a..3aed9aa921 100644
--- a/app/src/main/res/layout/quote_view.xml
+++ b/app/src/main/res/layout/quote_view.xml
@@ -43,13 +43,13 @@
diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml
index 3e6e4a9758..772c6a2519 100644
--- a/app/src/main/res/values/attrs.xml
+++ b/app/src/main/res/values/attrs.xml
@@ -171,8 +171,9 @@
-
-
+
+
+
diff --git a/app/src/main/res/values/light_colors.xml b/app/src/main/res/values/light_colors.xml
index a20e5a20dc..3fcad8c40c 100644
--- a/app/src/main/res/values/light_colors.xml
+++ b/app/src/main/res/values/light_colors.xml
@@ -160,7 +160,7 @@
@color/transparent_white_60
@color/transparent_white_80
- @color/core_grey_15
+ #f2f2f2
@color/core_white
@color/core_grey_05
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 0b73a7c455..728fa5f71f 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -2088,9 +2088,11 @@
You
Original message not found
- %1$s Story
+ %1$s · Story
- Your Story
+ You · Story
+
+ No longer available
Scroll to the bottom