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 dde69ba93..53d728a21 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItem.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItem.java @@ -160,6 +160,7 @@ public final class ConversationItem extends RelativeLayout implements BindableCo protected ConversationItemBodyBubble bodyBubble; protected View reply; + protected View replyIcon; @Nullable protected ViewGroup contactPhotoHolder; @Nullable private QuoteView quoteView; private EmojiTextView bodyText; @@ -237,7 +238,8 @@ public final class ConversationItem extends RelativeLayout implements BindableCo this.revealableStub = new Stub<>(findViewById(R.id.revealable_view_stub)); this.groupSenderHolder = findViewById(R.id.group_sender_holder); this.quoteView = findViewById(R.id.quote_view); - this.reply = findViewById(R.id.reply_icon); + this.reply = findViewById(R.id.reply_icon_wrapper); + this.replyIcon = findViewById(R.id.reply_icon); this.reactionsView = findViewById(R.id.reactions_view); setOnClickListener(new ClickListener(null)); @@ -282,7 +284,7 @@ public final class ConversationItem extends RelativeLayout implements BindableCo setBodyText(messageRecord, searchQuery); setBubbleState(messageRecord, hasWallpaper); setInteractionState(conversationMessage, pulse); - setStatusIcons(messageRecord); + setStatusIcons(messageRecord, hasWallpaper); setContactPhoto(recipient.get()); setGroupMessageStatus(messageRecord, recipient.get()); setGroupAuthorColor(messageRecord, hasWallpaper); @@ -459,6 +461,12 @@ public final class ConversationItem extends RelativeLayout implements BindableCo if (audioViewStub.resolved()) { setAudioViewTint(messageRecord); } + + if (hasWallpaper) { + replyIcon.setBackgroundResource(R.drawable.wallpaper_message_decoration_background); + } else { + replyIcon.setBackground(null); + } } private void setAudioViewTint(MessageRecord messageRecord) { @@ -1003,7 +1011,7 @@ public final class ConversationItem extends RelativeLayout implements BindableCo return messageBody; } - private void setStatusIcons(MessageRecord messageRecord) { + private void setStatusIcons(MessageRecord messageRecord, boolean hasWallpaper) { bodyText.setCompoundDrawablesWithIntrinsicBounds(0, 0, messageRecord.isKeyExchange() ? R.drawable.ic_menu_login : 0, 0); if (messageRecord.isFailed()) { @@ -1013,6 +1021,12 @@ public final class ConversationItem extends RelativeLayout implements BindableCo } else { alertView.setNone(); } + + if (hasWallpaper) { + alertView.setBackgroundResource(R.drawable.wallpaper_message_decoration_background); + } else { + alertView.setBackground(null); + } } private void setQuote(@NonNull MessageRecord current, @NonNull Optional previous, @NonNull Optional next, boolean isGroupThread) { diff --git a/app/src/main/res/drawable/wallpaper_message_decoration_background.xml b/app/src/main/res/drawable/wallpaper_message_decoration_background.xml new file mode 100644 index 000000000..825fb502b --- /dev/null +++ b/app/src/main/res/drawable/wallpaper_message_decoration_background.xml @@ -0,0 +1,5 @@ + + + + diff --git a/app/src/main/res/layout/conversation_item_received_multimedia.xml b/app/src/main/res/layout/conversation_item_received_multimedia.xml index 8d2605397..82c26da5e 100644 --- a/app/src/main/res/layout/conversation_item_received_multimedia.xml +++ b/app/src/main/res/layout/conversation_item_received_multimedia.xml @@ -14,16 +14,25 @@ android:orientation="vertical" android:paddingStart="8dp"> - + android:alpha="0"> + + + + - + android:alpha="0"> + + + + - + android:alpha="0"> + + + + + android:padding="8dp" + android:orientation="vertical" /> - + android:alpha="0"> + + + + + android:padding="8dp" + android:orientation="vertical" /> 0dp 320dp - 20dp + 38dp 28dp 10dp