Add bubbles around additional elements in wallpaper mode.

fork-5.53.8
Greyson Parrelli 2021-01-22 23:05:13 -05:00
rodzic 7fa4eb079b
commit 4fb0f30d32
7 zmienionych plików z 91 dodań i 36 usunięć

Wyświetl plik

@ -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<MessageRecord> previous, @NonNull Optional<MessageRecord> next, boolean isGroupThread) {

Wyświetl plik

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="@color/conversation_item_wallpaper_bubble_color" />
</shape>

Wyświetl plik

@ -14,16 +14,25 @@
android:orientation="vertical"
android:paddingStart="8dp">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/reply_icon"
android:layout_width="@dimen/conversation_item_reply_size"
android:layout_height="@dimen/conversation_item_reply_size"
<FrameLayout
android:id="@+id/reply_icon_wrapper"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@id/body_bubble"
android:layout_alignTop="@id/body_bubble"
android:layout_alignBottom="@id/body_bubble"
android:alpha="0"
android:tint="@color/signal_icon_tint_primary"
app:srcCompat="@drawable/ic_reply_24" />
android:alpha="0">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/reply_icon"
android:layout_width="@dimen/conversation_item_reply_size"
android:layout_height="@dimen/conversation_item_reply_size"
android:padding="9dp"
android:tint="@color/signal_icon_tint_primary"
android:layout_gravity="center"
app:srcCompat="@drawable/ic_reply_24" />
</FrameLayout>
<FrameLayout
android:id="@+id/contact_photo_container"

Wyświetl plik

@ -14,16 +14,25 @@
android:orientation="vertical"
android:paddingStart="8dp">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/reply_icon"
android:layout_width="@dimen/conversation_item_reply_size"
android:layout_height="@dimen/conversation_item_reply_size"
<FrameLayout
android:id="@+id/reply_icon_wrapper"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@id/body_bubble"
android:layout_alignTop="@id/body_bubble"
android:layout_alignBottom="@id/body_bubble"
android:alpha="0"
android:tint="@color/signal_icon_tint_primary"
app:srcCompat="@drawable/ic_reply_24" />
android:alpha="0">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/reply_icon"
android:layout_width="@dimen/conversation_item_reply_size"
android:layout_height="@dimen/conversation_item_reply_size"
android:padding="9dp"
android:tint="@color/signal_icon_tint_primary"
android:layout_gravity="center"
app:srcCompat="@drawable/ic_reply_24" />
</FrameLayout>
<FrameLayout
android:id="@+id/contact_photo_container"

Wyświetl plik

@ -13,16 +13,25 @@
android:nextFocusRight="@id/embedded_text_editor"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/reply_icon"
android:layout_width="@dimen/conversation_item_reply_size"
android:layout_height="@dimen/conversation_item_reply_size"
<FrameLayout
android:id="@+id/reply_icon_wrapper"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@id/body_bubble"
android:layout_alignTop="@id/body_bubble"
android:layout_alignBottom="@id/body_bubble"
android:alpha="0"
android:tint="@color/signal_icon_tint_primary"
app:srcCompat="@drawable/ic_reply_24" />
android:alpha="0">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/reply_icon"
android:layout_width="@dimen/conversation_item_reply_size"
android:layout_height="@dimen/conversation_item_reply_size"
android:padding="9dp"
android:tint="@color/signal_icon_tint_primary"
android:layout_gravity="center"
app:srcCompat="@drawable/ic_reply_24" />
</FrameLayout>
<org.thoughtcrime.securesms.conversation.ConversationItemBodyBubble
android:id="@+id/body_bubble"
@ -163,8 +172,8 @@
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="8dp"
android:orientation="vertical"
android:paddingBottom="4dp" />
android:padding="8dp"
android:orientation="vertical" />
<org.thoughtcrime.securesms.reactions.ReactionsConversationView
android:id="@+id/reactions_view"

Wyświetl plik

@ -13,16 +13,25 @@
android:nextFocusRight="@id/embedded_text_editor"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/reply_icon"
android:layout_width="@dimen/conversation_item_reply_size"
android:layout_height="@dimen/conversation_item_reply_size"
<FrameLayout
android:id="@+id/reply_icon_wrapper"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@id/body_bubble"
android:layout_alignTop="@id/body_bubble"
android:layout_alignBottom="@id/body_bubble"
android:alpha="0"
android:tint="@color/signal_icon_tint_primary"
app:srcCompat="@drawable/ic_reply_24" />
android:alpha="0">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/reply_icon"
android:layout_width="@dimen/conversation_item_reply_size"
android:layout_height="@dimen/conversation_item_reply_size"
android:padding="9dp"
android:tint="@color/signal_icon_tint_primary"
android:layout_gravity="center"
app:srcCompat="@drawable/ic_reply_24" />
</FrameLayout>
<org.thoughtcrime.securesms.conversation.ConversationItemBodyBubble
android:id="@+id/body_bubble"
@ -90,8 +99,8 @@
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="8dp"
android:orientation="vertical"
android:paddingBottom="4dp" />
android:padding="8dp"
android:orientation="vertical" />
<org.thoughtcrime.securesms.reactions.ReactionsConversationView
android:id="@+id/reactions_view"

Wyświetl plik

@ -71,7 +71,7 @@
<dimen name="reaction_scrubber_anim_end_translation_y">0dp</dimen>
<dimen name="reaction_scrubber_width">320dp</dimen>
<dimen name="conversation_item_reply_size">20dp</dimen>
<dimen name="conversation_item_reply_size">38dp</dimen>
<dimen name="conversation_item_avatar_size">28dp</dimen>
<dimen name="quote_corner_radius_large">10dp</dimen>