kopia lustrzana https://github.com/ryukoposting/Signal-Android
Add bubbles around additional elements in wallpaper mode.
rodzic
7fa4eb079b
commit
4fb0f30d32
|
@ -160,6 +160,7 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
|
||||||
|
|
||||||
protected ConversationItemBodyBubble bodyBubble;
|
protected ConversationItemBodyBubble bodyBubble;
|
||||||
protected View reply;
|
protected View reply;
|
||||||
|
protected View replyIcon;
|
||||||
@Nullable protected ViewGroup contactPhotoHolder;
|
@Nullable protected ViewGroup contactPhotoHolder;
|
||||||
@Nullable private QuoteView quoteView;
|
@Nullable private QuoteView quoteView;
|
||||||
private EmojiTextView bodyText;
|
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.revealableStub = new Stub<>(findViewById(R.id.revealable_view_stub));
|
||||||
this.groupSenderHolder = findViewById(R.id.group_sender_holder);
|
this.groupSenderHolder = findViewById(R.id.group_sender_holder);
|
||||||
this.quoteView = findViewById(R.id.quote_view);
|
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);
|
this.reactionsView = findViewById(R.id.reactions_view);
|
||||||
|
|
||||||
setOnClickListener(new ClickListener(null));
|
setOnClickListener(new ClickListener(null));
|
||||||
|
@ -282,7 +284,7 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
|
||||||
setBodyText(messageRecord, searchQuery);
|
setBodyText(messageRecord, searchQuery);
|
||||||
setBubbleState(messageRecord, hasWallpaper);
|
setBubbleState(messageRecord, hasWallpaper);
|
||||||
setInteractionState(conversationMessage, pulse);
|
setInteractionState(conversationMessage, pulse);
|
||||||
setStatusIcons(messageRecord);
|
setStatusIcons(messageRecord, hasWallpaper);
|
||||||
setContactPhoto(recipient.get());
|
setContactPhoto(recipient.get());
|
||||||
setGroupMessageStatus(messageRecord, recipient.get());
|
setGroupMessageStatus(messageRecord, recipient.get());
|
||||||
setGroupAuthorColor(messageRecord, hasWallpaper);
|
setGroupAuthorColor(messageRecord, hasWallpaper);
|
||||||
|
@ -459,6 +461,12 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
|
||||||
if (audioViewStub.resolved()) {
|
if (audioViewStub.resolved()) {
|
||||||
setAudioViewTint(messageRecord);
|
setAudioViewTint(messageRecord);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (hasWallpaper) {
|
||||||
|
replyIcon.setBackgroundResource(R.drawable.wallpaper_message_decoration_background);
|
||||||
|
} else {
|
||||||
|
replyIcon.setBackground(null);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setAudioViewTint(MessageRecord messageRecord) {
|
private void setAudioViewTint(MessageRecord messageRecord) {
|
||||||
|
@ -1003,7 +1011,7 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
|
||||||
return messageBody;
|
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);
|
bodyText.setCompoundDrawablesWithIntrinsicBounds(0, 0, messageRecord.isKeyExchange() ? R.drawable.ic_menu_login : 0, 0);
|
||||||
|
|
||||||
if (messageRecord.isFailed()) {
|
if (messageRecord.isFailed()) {
|
||||||
|
@ -1013,6 +1021,12 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
|
||||||
} else {
|
} else {
|
||||||
alertView.setNone();
|
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) {
|
private void setQuote(@NonNull MessageRecord current, @NonNull Optional<MessageRecord> previous, @NonNull Optional<MessageRecord> next, boolean isGroupThread) {
|
||||||
|
|
|
@ -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>
|
|
@ -14,17 +14,26 @@
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:paddingStart="8dp">
|
android:paddingStart="8dp">
|
||||||
|
|
||||||
|
<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">
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatImageView
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
android:id="@+id/reply_icon"
|
android:id="@+id/reply_icon"
|
||||||
android:layout_width="@dimen/conversation_item_reply_size"
|
android:layout_width="@dimen/conversation_item_reply_size"
|
||||||
android:layout_height="@dimen/conversation_item_reply_size"
|
android:layout_height="@dimen/conversation_item_reply_size"
|
||||||
android:layout_alignStart="@id/body_bubble"
|
android:padding="9dp"
|
||||||
android:layout_alignTop="@id/body_bubble"
|
|
||||||
android:layout_alignBottom="@id/body_bubble"
|
|
||||||
android:alpha="0"
|
|
||||||
android:tint="@color/signal_icon_tint_primary"
|
android:tint="@color/signal_icon_tint_primary"
|
||||||
|
android:layout_gravity="center"
|
||||||
app:srcCompat="@drawable/ic_reply_24" />
|
app:srcCompat="@drawable/ic_reply_24" />
|
||||||
|
|
||||||
|
</FrameLayout>
|
||||||
|
|
||||||
<FrameLayout
|
<FrameLayout
|
||||||
android:id="@+id/contact_photo_container"
|
android:id="@+id/contact_photo_container"
|
||||||
android:layout_width="@dimen/conversation_item_avatar_size"
|
android:layout_width="@dimen/conversation_item_avatar_size"
|
||||||
|
|
|
@ -14,17 +14,26 @@
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:paddingStart="8dp">
|
android:paddingStart="8dp">
|
||||||
|
|
||||||
|
<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">
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatImageView
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
android:id="@+id/reply_icon"
|
android:id="@+id/reply_icon"
|
||||||
android:layout_width="@dimen/conversation_item_reply_size"
|
android:layout_width="@dimen/conversation_item_reply_size"
|
||||||
android:layout_height="@dimen/conversation_item_reply_size"
|
android:layout_height="@dimen/conversation_item_reply_size"
|
||||||
android:layout_alignStart="@id/body_bubble"
|
android:padding="9dp"
|
||||||
android:layout_alignTop="@id/body_bubble"
|
|
||||||
android:layout_alignBottom="@id/body_bubble"
|
|
||||||
android:alpha="0"
|
|
||||||
android:tint="@color/signal_icon_tint_primary"
|
android:tint="@color/signal_icon_tint_primary"
|
||||||
|
android:layout_gravity="center"
|
||||||
app:srcCompat="@drawable/ic_reply_24" />
|
app:srcCompat="@drawable/ic_reply_24" />
|
||||||
|
|
||||||
|
</FrameLayout>
|
||||||
|
|
||||||
<FrameLayout
|
<FrameLayout
|
||||||
android:id="@+id/contact_photo_container"
|
android:id="@+id/contact_photo_container"
|
||||||
android:layout_width="@dimen/conversation_item_avatar_size"
|
android:layout_width="@dimen/conversation_item_avatar_size"
|
||||||
|
|
|
@ -13,17 +13,26 @@
|
||||||
android:nextFocusRight="@id/embedded_text_editor"
|
android:nextFocusRight="@id/embedded_text_editor"
|
||||||
android:orientation="horizontal">
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<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">
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatImageView
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
android:id="@+id/reply_icon"
|
android:id="@+id/reply_icon"
|
||||||
android:layout_width="@dimen/conversation_item_reply_size"
|
android:layout_width="@dimen/conversation_item_reply_size"
|
||||||
android:layout_height="@dimen/conversation_item_reply_size"
|
android:layout_height="@dimen/conversation_item_reply_size"
|
||||||
android:layout_alignStart="@id/body_bubble"
|
android:padding="9dp"
|
||||||
android:layout_alignTop="@id/body_bubble"
|
|
||||||
android:layout_alignBottom="@id/body_bubble"
|
|
||||||
android:alpha="0"
|
|
||||||
android:tint="@color/signal_icon_tint_primary"
|
android:tint="@color/signal_icon_tint_primary"
|
||||||
|
android:layout_gravity="center"
|
||||||
app:srcCompat="@drawable/ic_reply_24" />
|
app:srcCompat="@drawable/ic_reply_24" />
|
||||||
|
|
||||||
|
</FrameLayout>
|
||||||
|
|
||||||
<org.thoughtcrime.securesms.conversation.ConversationItemBodyBubble
|
<org.thoughtcrime.securesms.conversation.ConversationItemBodyBubble
|
||||||
android:id="@+id/body_bubble"
|
android:id="@+id/body_bubble"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
|
@ -163,8 +172,8 @@
|
||||||
android:layout_alignParentEnd="true"
|
android:layout_alignParentEnd="true"
|
||||||
android:layout_alignParentBottom="true"
|
android:layout_alignParentBottom="true"
|
||||||
android:layout_marginStart="8dp"
|
android:layout_marginStart="8dp"
|
||||||
android:orientation="vertical"
|
android:padding="8dp"
|
||||||
android:paddingBottom="4dp" />
|
android:orientation="vertical" />
|
||||||
|
|
||||||
<org.thoughtcrime.securesms.reactions.ReactionsConversationView
|
<org.thoughtcrime.securesms.reactions.ReactionsConversationView
|
||||||
android:id="@+id/reactions_view"
|
android:id="@+id/reactions_view"
|
||||||
|
|
|
@ -13,17 +13,26 @@
|
||||||
android:nextFocusRight="@id/embedded_text_editor"
|
android:nextFocusRight="@id/embedded_text_editor"
|
||||||
android:orientation="horizontal">
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<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">
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatImageView
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
android:id="@+id/reply_icon"
|
android:id="@+id/reply_icon"
|
||||||
android:layout_width="@dimen/conversation_item_reply_size"
|
android:layout_width="@dimen/conversation_item_reply_size"
|
||||||
android:layout_height="@dimen/conversation_item_reply_size"
|
android:layout_height="@dimen/conversation_item_reply_size"
|
||||||
android:layout_alignStart="@id/body_bubble"
|
android:padding="9dp"
|
||||||
android:layout_alignTop="@id/body_bubble"
|
|
||||||
android:layout_alignBottom="@id/body_bubble"
|
|
||||||
android:alpha="0"
|
|
||||||
android:tint="@color/signal_icon_tint_primary"
|
android:tint="@color/signal_icon_tint_primary"
|
||||||
|
android:layout_gravity="center"
|
||||||
app:srcCompat="@drawable/ic_reply_24" />
|
app:srcCompat="@drawable/ic_reply_24" />
|
||||||
|
|
||||||
|
</FrameLayout>
|
||||||
|
|
||||||
<org.thoughtcrime.securesms.conversation.ConversationItemBodyBubble
|
<org.thoughtcrime.securesms.conversation.ConversationItemBodyBubble
|
||||||
android:id="@+id/body_bubble"
|
android:id="@+id/body_bubble"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
|
@ -90,8 +99,8 @@
|
||||||
android:layout_alignParentEnd="true"
|
android:layout_alignParentEnd="true"
|
||||||
android:layout_alignParentBottom="true"
|
android:layout_alignParentBottom="true"
|
||||||
android:layout_marginStart="8dp"
|
android:layout_marginStart="8dp"
|
||||||
android:orientation="vertical"
|
android:padding="8dp"
|
||||||
android:paddingBottom="4dp" />
|
android:orientation="vertical" />
|
||||||
|
|
||||||
<org.thoughtcrime.securesms.reactions.ReactionsConversationView
|
<org.thoughtcrime.securesms.reactions.ReactionsConversationView
|
||||||
android:id="@+id/reactions_view"
|
android:id="@+id/reactions_view"
|
||||||
|
|
|
@ -71,7 +71,7 @@
|
||||||
<dimen name="reaction_scrubber_anim_end_translation_y">0dp</dimen>
|
<dimen name="reaction_scrubber_anim_end_translation_y">0dp</dimen>
|
||||||
<dimen name="reaction_scrubber_width">320dp</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="conversation_item_avatar_size">28dp</dimen>
|
||||||
|
|
||||||
<dimen name="quote_corner_radius_large">10dp</dimen>
|
<dimen name="quote_corner_radius_large">10dp</dimen>
|
||||||
|
|
Ładowanie…
Reference in New Issue