diff --git a/src/main/java/org/thoughtcrime/securesms/ConversationActivity.java b/src/main/java/org/thoughtcrime/securesms/ConversationActivity.java
index 41c8e86af..0cd3adaf1 100644
--- a/src/main/java/org/thoughtcrime/securesms/ConversationActivity.java
+++ b/src/main/java/org/thoughtcrime/securesms/ConversationActivity.java
@@ -1440,7 +1440,8 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
msg.getTimestamp(),
author,
text,
- slideDeck);
+ slideDeck,
+ false);
inputPanel.clickOnComposeInput();
}
@@ -1458,7 +1459,8 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
msg.getTimestamp(),
author,
text,
- slideDeck);
+ slideDeck,
+ true);
setDraftText(msg.getText());
inputPanel.clickOnComposeInput();
diff --git a/src/main/java/org/thoughtcrime/securesms/ConversationItem.java b/src/main/java/org/thoughtcrime/securesms/ConversationItem.java
index 6d9dcee25..e8835f3e2 100644
--- a/src/main/java/org/thoughtcrime/securesms/ConversationItem.java
+++ b/src/main/java/org/thoughtcrime/securesms/ConversationItem.java
@@ -717,7 +717,8 @@ public class ConversationItem extends BaseConversationItem
author,
quoteTxt,
slideDeck,
- current.getType() == DcMsg.DC_MSG_STICKER);
+ current.getType() == DcMsg.DC_MSG_STICKER,
+ false);
quoteView.setVisibility(View.VISIBLE);
quoteView.getLayoutParams().width = ViewGroup.LayoutParams.WRAP_CONTENT;
diff --git a/src/main/java/org/thoughtcrime/securesms/components/InputPanel.java b/src/main/java/org/thoughtcrime/securesms/components/InputPanel.java
index c307c55dd..afa0c191f 100644
--- a/src/main/java/org/thoughtcrime/securesms/components/InputPanel.java
+++ b/src/main/java/org/thoughtcrime/securesms/components/InputPanel.java
@@ -120,9 +120,10 @@ public class InputPanel extends ConstraintLayout
long id,
@NonNull Recipient author,
@NonNull CharSequence body,
- @NonNull SlideDeck attachments)
+ @NonNull SlideDeck attachments,
+ @NonNull boolean isEdit)
{
- this.quoteView.setQuote(glideRequests, msg, author, body, attachments, false);
+ this.quoteView.setQuote(glideRequests, msg, author, body, attachments, false, isEdit);
int originalHeight = this.quoteView.getVisibility() == VISIBLE ? this.quoteView.getMeasuredHeight()
: 0;
diff --git a/src/main/java/org/thoughtcrime/securesms/components/QuoteView.java b/src/main/java/org/thoughtcrime/securesms/components/QuoteView.java
index 7a30e32b9..4c4ac3558 100644
--- a/src/main/java/org/thoughtcrime/securesms/components/QuoteView.java
+++ b/src/main/java/org/thoughtcrime/securesms/components/QuoteView.java
@@ -60,6 +60,7 @@ public class QuoteView extends FrameLayout implements RecipientForeverObserver {
private SlideDeck attachments;
private int messageType;
private boolean hasSticker;
+ private boolean isEdit;
public QuoteView(Context context) {
super(context);
@@ -114,13 +115,15 @@ public class QuoteView extends FrameLayout implements RecipientForeverObserver {
@Nullable Recipient author,
@Nullable CharSequence body,
@NonNull SlideDeck attachments,
- boolean hasSticker)
+ boolean hasSticker,
+ boolean isEdit)
{
quotedMsg = msg;
this.author = author != null ? author.getDcContact() : null;
this.body = body;
this.attachments = attachments;
this.hasSticker = hasSticker;
+ this.isEdit = isEdit;
if (hasSticker) {
this.setBackgroundResource(R.drawable.conversation_item_update_background);
@@ -144,7 +147,12 @@ public class QuoteView extends FrameLayout implements RecipientForeverObserver {
}
private void setQuoteAuthor(@Nullable Recipient author) {
- if (author == null) {
+ if (isEdit) {
+ authorView.setVisibility(VISIBLE);
+ authorView.setTextColor(getEditColor());
+ quoteBarView.setBackgroundColor(getEditColor());
+ authorView.setText(getContext().getString(R.string.edit_message));
+ } else if (author == null) {
authorView.setVisibility(GONE);
quoteBarView.setBackgroundColor(getForwardedColor());
} else if (quotedMsg.isForwarded()) {
@@ -272,4 +280,8 @@ public class QuoteView extends FrameLayout implements RecipientForeverObserver {
private int getForwardedColor() {
return getResources().getColor(hasSticker? R.color.core_dark_05 : R.color.unknown_sender);
}
+
+ private int getEditColor() {
+ return getResources().getColor(R.color.delta_accent);
+ }
}
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index a4effd7eb..9f7732945 100644
--- a/src/main/res/values/strings.xml
+++ b/src/main/res/values/strings.xml
@@ -1071,6 +1071,7 @@
File
Quit
Edit
+ Edit Message
edited
Undo
Redo