Reduce layout depth of conversation items.

This commit is contained in:
Alan Evans
2020-12-01 16:20:53 -04:00
committed by GitHub
parent 4ae0f3999c
commit 5f30745908
5 changed files with 569 additions and 611 deletions

View File

@@ -21,7 +21,6 @@ import android.annotation.SuppressLint;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.Intent;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.graphics.PorterDuff;
import android.graphics.Rect;
@@ -45,7 +44,7 @@ import android.util.AttributeSet;
import android.util.TypedValue;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
@@ -93,7 +92,6 @@ import org.thoughtcrime.securesms.jobs.SmsSendJob;
import org.thoughtcrime.securesms.linkpreview.LinkPreview;
import org.thoughtcrime.securesms.linkpreview.LinkPreviewUtil;
import org.thoughtcrime.securesms.logging.Log;
import org.thoughtcrime.securesms.mms.AudioSlide;
import org.thoughtcrime.securesms.mms.GlideRequests;
import org.thoughtcrime.securesms.mms.ImageSlide;
import org.thoughtcrime.securesms.mms.PartAuthority;
@@ -113,11 +111,9 @@ import org.thoughtcrime.securesms.util.DateUtils;
import org.thoughtcrime.securesms.util.DynamicTheme;
import org.thoughtcrime.securesms.util.InterceptableLongClickCopyLinkSpan;
import org.thoughtcrime.securesms.util.LongClickMovementMethod;
import org.thoughtcrime.securesms.util.MessageRecordUtil;
import org.thoughtcrime.securesms.util.SearchUtil;
import org.thoughtcrime.securesms.util.StringUtil;
import org.thoughtcrime.securesms.util.TextSecurePreferences;
import org.thoughtcrime.securesms.util.ThemeUtil;
import org.thoughtcrime.securesms.util.UrlClickHandler;
import org.thoughtcrime.securesms.util.Util;
import org.thoughtcrime.securesms.util.VibrateUtil;
@@ -143,7 +139,7 @@ import static org.thoughtcrime.securesms.util.ThemeUtil.isDarkTheme;
*
*/
public class ConversationItem extends LinearLayout implements BindableConversationItem,
public final class ConversationItem extends RelativeLayout implements BindableConversationItem,
RecipientForeverObserver
{
private static final String TAG = ConversationItem.class.getSimpleName();
@@ -173,7 +169,6 @@ public class ConversationItem extends LinearLayout implements BindableConversati
@Nullable private View groupSenderHolder;
private AvatarImageView contactPhoto;
private AlertView alertView;
private ViewGroup container;
protected ReactionsConversationView reactionsView;
private @NonNull Set<ConversationMessage> batchSelected = new HashSet<>();
@@ -242,7 +237,6 @@ public class ConversationItem extends LinearLayout implements BindableConversati
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.container = findViewById(R.id.container);
this.reply = findViewById(R.id.reply_icon);
this.reactionsView = findViewById(R.id.reactions_view);
@@ -1053,9 +1047,9 @@ public class ConversationItem extends LinearLayout implements BindableConversati
private void setGutterSizes(@NonNull MessageRecord current, boolean isGroupThread) {
if (isGroupThread && current.isOutgoing()) {
ViewUtil.setLeftMargin(container, readDimen(R.dimen.conversation_group_left_gutter));
ViewUtil.setLeftMargin(this, readDimen(R.dimen.conversation_group_left_gutter));
} else if (current.isOutgoing()) {
ViewUtil.setLeftMargin(container, readDimen(R.dimen.conversation_individual_left_gutter));
ViewUtil.setLeftMargin(this, readDimen(R.dimen.conversation_individual_left_gutter));
}
}

View File

@@ -1,245 +1,236 @@
<?xml version="1.0" encoding="utf-8"?>
<org.thoughtcrime.securesms.conversation.ConversationItem
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
<org.thoughtcrime.securesms.conversation.ConversationItem xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/conversation_item"
android:layout_width="fill_parent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:focusable="true"
android:nextFocusLeft="@+id/container"
android:nextFocusRight="@+id/embedded_text_editor"
android:layout_marginEnd="@dimen/conversation_individual_right_gutter"
android:clipChildren="false"
android:clipToPadding="false"
android:clipChildren="false">
android:focusable="true"
android:nextFocusLeft="@+id/conversation_item"
android:nextFocusRight="@+id/embedded_text_editor"
android:orientation="vertical"
android:paddingStart="8dp">
<RelativeLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/conversation_individual_right_gutter"
android:paddingStart="8dp"
android:clipToPadding="false"
android:clipChildren="false">
<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: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" />
<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"
app:srcCompat="@drawable/ic_reply_24"
android:tint="@color/signal_icon_tint_primary"
android:alpha="0"
android:layout_alignTop="@id/body_bubble"
android:layout_alignBottom="@id/body_bubble"
android:layout_alignStart="@id/body_bubble" />
<FrameLayout
android:id="@+id/contact_photo_container"
android:layout_width="@dimen/conversation_item_avatar_size"
android:layout_height="@dimen/conversation_item_avatar_size"
android:layout_alignBottom="@id/body_bubble"
android:layout_alignParentStart="true"
android:layout_marginStart="4dp">
<FrameLayout
android:id="@+id/contact_photo_container"
<org.thoughtcrime.securesms.components.AvatarImageView
android:id="@+id/contact_photo"
android:layout_width="@dimen/conversation_item_avatar_size"
android:layout_height="@dimen/conversation_item_avatar_size"
android:layout_marginStart="4dp"
android:layout_alignParentStart="true"
android:layout_alignBottom="@id/body_bubble">
android:contentDescription="@string/conversation_item_received__contact_photo_description"
android:cropToPadding="true"
android:foreground="@drawable/contact_photo_background"
app:fallbackImageSize="small" />
<org.thoughtcrime.securesms.components.AvatarImageView
android:id="@+id/contact_photo"
android:foreground="@drawable/contact_photo_background"
android:layout_width="@dimen/conversation_item_avatar_size"
android:layout_height="@dimen/conversation_item_avatar_size"
android:cropToPadding="true"
android:contentDescription="@string/conversation_item_received__contact_photo_description"
app:fallbackImageSize="small" />
</FrameLayout>
</FrameLayout>
<org.thoughtcrime.securesms.conversation.ConversationItemBodyBubble
android:id="@+id/body_bubble"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="@dimen/message_bubble_edge_margin"
android:layout_toEndOf="@id/contact_photo_container"
android:background="@color/white"
android:clipChildren="false"
android:clipToPadding="false"
android:orientation="vertical"
tools:backgroundTint="@color/conversation_blue">
<org.thoughtcrime.securesms.conversation.ConversationItemBodyBubble
android:id="@+id/body_bubble"
<LinearLayout
android:id="@+id/group_sender_holder"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/message_bubble_edge_margin"
android:layout_marginStart="8dp"
android:layout_toEndOf="@id/contact_photo_container"
android:orientation="vertical"
android:clipToPadding="false"
android:clipChildren="false"
android:background="@color/white"
tools:backgroundTint="@color/conversation_blue">
<LinearLayout
android:id="@+id/group_sender_holder"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/message_bubble_top_padding"
android:layout_marginBottom="2dp"
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:orientation="horizontal"
android:visibility="gone"
tools:visibility="visible">
<org.thoughtcrime.securesms.components.emoji.EmojiTextView
android:id="@+id/group_message_sender"
style="@style/Signal.Text.Preview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="4sp"
android:ellipsize="end"
android:maxLines="1"
android:textColor="@color/conversation_item_received_text_primary_color"
android:textStyle="bold"
tools:text="+14152222222"
tools:visibility="visible" />
<org.thoughtcrime.securesms.components.emoji.EmojiTextView
android:id="@+id/group_message_sender_profile"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingStart="4sp"
android:paddingEnd="4sp"
style="@style/Signal.Text.Preview"
android:fontFamily="sans-serif-regular"
android:textColor="@color/conversation_item_received_text_primary_color"
android:textStyle="italic"
android:maxLines="1"
android:ellipsize="end"
tools:text="~Clement Duval"/>
</LinearLayout>
<org.thoughtcrime.securesms.components.QuoteView
android:id="@+id/quote_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/message_bubble_top_padding"
android:layout_marginStart="6dp"
android:layout_marginEnd="6dp"
android:visibility="gone"
app:message_type="incoming"
app:quote_colorPrimary="@color/conversation_item_quote_text_color"
app:quote_colorSecondary="@color/conversation_item_quote_text_color"
tools:visibility="visible"/>
<ViewStub
android:id="@+id/shared_contact_view_stub"
android:layout="@layout/conversation_item_received_shared_contact"
android:layout_width="@dimen/media_bubble_default_dimens"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/message_bubble_top_padding"
android:visibility="gone"/>
<ViewStub
android:id="@+id/image_view_stub"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout="@layout/conversation_item_received_thumbnail" />
<ViewStub
android:id="@+id/sticker_view_stub"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout="@layout/conversation_item_received_sticker" />
<ViewStub
android:id="@+id/link_preview_stub"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout="@layout/conversation_item_received_link_preview" />
<ViewStub
android:id="@+id/audio_view_stub"
android:layout="@layout/conversation_item_received_audio"
android:layout_width="@dimen/message_audio_width"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/message_bubble_top_padding_audio"
android:layout_marginBottom="@dimen/message_bubble_collapsed_footer_padding"
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding" />
<ViewStub
android:id="@+id/document_view_stub"
android:layout="@layout/conversation_item_received_document"
android:layout_width="210dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/message_bubble_top_padding"
android:layout_marginBottom="@dimen/message_bubble_collapsed_footer_padding"
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding" />
<ViewStub
android:id="@+id/revealable_view_stub"
android:layout="@layout/conversation_item_received_revealable"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/message_bubble_top_padding"
android:layout_marginBottom="@dimen/message_bubble_collapsed_footer_padding"
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding" />
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginTop="@dimen/message_bubble_top_padding"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:layout_marginBottom="2dp"
android:orientation="horizontal"
android:visibility="gone"
tools:visibility="visible">
<org.thoughtcrime.securesms.components.emoji.EmojiTextView
android:id="@+id/conversation_item_body"
android:id="@+id/group_message_sender"
style="@style/Signal.Text.Preview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/message_bubble_top_padding"
android:layout_marginBottom="@dimen/message_bubble_collapsed_footer_padding"
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
style="@style/Signal.Text.Body"
android:textColor="@color/conversation_item_received_text_primary_color"
android:textColorLink="@color/conversation_item_received_text_primary_color"
android:layout_marginEnd="4sp"
android:ellipsize="end"
app:scaleEmojis="true"
app:emoji_maxLength="1000"
tools:text="Mango pickle lorem ipsum"/>
android:maxLines="1"
android:textColor="@color/conversation_item_received_text_primary_color"
android:textStyle="bold"
tools:text="+14152222222"
tools:visibility="visible" />
<org.thoughtcrime.securesms.components.ConversationItemFooter
android:id="@+id/conversation_item_footer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="-4dp"
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:layout_marginBottom="@dimen/message_bubble_bottom_padding"
android:gravity="start"
android:clipChildren="false"
android:clipToPadding="false"
android:alpha="0.7"
app:footer_reveal_dot_color="@color/core_white"
app:footer_text_color="@color/conversation_item_received_text_secondary_color"
app:footer_icon_color="@color/conversation_item_received_text_secondary_color"/>
<org.thoughtcrime.securesms.components.ConversationItemFooter
android:id="@+id/conversation_item_sticker_footer"
<org.thoughtcrime.securesms.components.emoji.EmojiTextView
android:id="@+id/group_message_sender_profile"
style="@style/Signal.Text.Preview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:gravity="start"
android:clipChildren="false"
android:clipToPadding="false"
android:visibility="gone"
app:footer_text_color="@color/signal_text_secondary"
app:footer_icon_color="@color/signal_icon_tint_secondary"/>
android:ellipsize="end"
android:fontFamily="sans-serif-regular"
android:maxLines="1"
android:paddingStart="4sp"
android:paddingEnd="4sp"
android:textColor="@color/conversation_item_received_text_primary_color"
android:textStyle="italic"
tools:text="~Clement Duval" />
</org.thoughtcrime.securesms.conversation.ConversationItemBodyBubble>
</LinearLayout>
<org.thoughtcrime.securesms.components.AlertView
android:id="@+id/indicators_parent"
<org.thoughtcrime.securesms.components.QuoteView
android:id="@+id/quote_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:orientation="vertical"
android:gravity="center_vertical"/>
android:layout_marginStart="6dp"
android:layout_marginTop="@dimen/message_bubble_top_padding"
android:layout_marginEnd="6dp"
android:visibility="gone"
app:message_type="incoming"
app:quote_colorPrimary="@color/conversation_item_quote_text_color"
app:quote_colorSecondary="@color/conversation_item_quote_text_color"
tools:visibility="visible" />
<org.thoughtcrime.securesms.reactions.ReactionsConversationView
android:id="@+id/reactions_view"
<ViewStub
android:id="@+id/shared_contact_view_stub"
android:layout_width="@dimen/media_bubble_default_dimens"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/message_bubble_top_padding"
android:layout="@layout/conversation_item_received_shared_contact"
android:visibility="gone" />
<ViewStub
android:id="@+id/image_view_stub"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="-8dp"
android:layout_below="@id/body_bubble"
android:layout_alignStart="@id/body_bubble"
app:rcv_outgoing="false"/>
android:layout="@layout/conversation_item_received_thumbnail" />
<ViewStub
android:id="@+id/sticker_view_stub"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout="@layout/conversation_item_received_sticker" />
<ViewStub
android:id="@+id/link_preview_stub"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout="@layout/conversation_item_received_link_preview" />
<ViewStub
android:id="@+id/audio_view_stub"
android:layout_width="@dimen/message_audio_width"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginTop="@dimen/message_bubble_top_padding_audio"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:layout_marginBottom="@dimen/message_bubble_collapsed_footer_padding"
android:layout="@layout/conversation_item_received_audio" />
<ViewStub
android:id="@+id/document_view_stub"
android:layout_width="210dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginTop="@dimen/message_bubble_top_padding"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:layout_marginBottom="@dimen/message_bubble_collapsed_footer_padding"
android:layout="@layout/conversation_item_received_document" />
<ViewStub
android:id="@+id/revealable_view_stub"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginTop="@dimen/message_bubble_top_padding"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:layout_marginBottom="@dimen/message_bubble_collapsed_footer_padding"
android:layout="@layout/conversation_item_received_revealable" />
<org.thoughtcrime.securesms.components.emoji.EmojiTextView
android:id="@+id/conversation_item_body"
style="@style/Signal.Text.Body"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginTop="@dimen/message_bubble_top_padding"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:layout_marginBottom="@dimen/message_bubble_collapsed_footer_padding"
android:ellipsize="end"
android:textColor="@color/conversation_item_received_text_primary_color"
android:textColorLink="@color/conversation_item_received_text_primary_color"
app:emoji_maxLength="1000"
app:scaleEmojis="true"
tools:text="Mango pickle lorem ipsum" />
<org.thoughtcrime.securesms.components.ConversationItemFooter
android:id="@+id/conversation_item_footer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginTop="-4dp"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:layout_marginBottom="@dimen/message_bubble_bottom_padding"
android:alpha="0.7"
android:clipChildren="false"
android:clipToPadding="false"
android:gravity="start"
app:footer_icon_color="@color/conversation_item_received_text_secondary_color"
app:footer_reveal_dot_color="@color/core_white"
app:footer_text_color="@color/conversation_item_received_text_secondary_color" />
<org.thoughtcrime.securesms.components.ConversationItemFooter
android:id="@+id/conversation_item_sticker_footer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginTop="6dp"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:clipChildren="false"
android:clipToPadding="false"
android:gravity="start"
android:visibility="gone"
app:footer_icon_color="@color/signal_icon_tint_secondary"
app:footer_text_color="@color/signal_text_secondary" />
</org.thoughtcrime.securesms.conversation.ConversationItemBodyBubble>
<org.thoughtcrime.securesms.components.AlertView
android:id="@+id/indicators_parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:gravity="center_vertical"
android:orientation="vertical" />
<org.thoughtcrime.securesms.reactions.ReactionsConversationView
android:id="@+id/reactions_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/body_bubble"
android:layout_alignStart="@id/body_bubble"
android:layout_marginTop="-8dp"
android:orientation="horizontal"
app:rcv_outgoing="false" />
</RelativeLayout>
</org.thoughtcrime.securesms.conversation.ConversationItem>

View File

@@ -1,175 +1,166 @@
<?xml version="1.0" encoding="utf-8"?>
<org.thoughtcrime.securesms.conversation.ConversationItem
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
<org.thoughtcrime.securesms.conversation.ConversationItem xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/conversation_item"
android:layout_width="fill_parent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginEnd="@dimen/conversation_individual_right_gutter"
android:clipChildren="false"
android:clipToPadding="false"
android:focusable="true"
android:nextFocusLeft="@+id/container"
android:nextFocusRight="@+id/embedded_text_editor"
android:clipToPadding="false"
android:clipChildren="false">
android:orientation="vertical"
android:paddingStart="8dp">
<RelativeLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/conversation_individual_right_gutter"
android:paddingStart="8dp"
android:clipToPadding="false"
android:clipChildren="false">
<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: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" />
<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"
app:srcCompat="@drawable/ic_reply_24"
android:tint="@color/signal_icon_tint_primary"
android:alpha="0"
android:layout_alignTop="@id/body_bubble"
android:layout_alignBottom="@id/body_bubble"
android:layout_alignStart="@id/body_bubble" />
<FrameLayout
android:id="@+id/contact_photo_container"
android:layout_width="@dimen/conversation_item_avatar_size"
android:layout_height="@dimen/conversation_item_avatar_size"
android:layout_alignBottom="@id/body_bubble"
android:layout_alignParentStart="true"
android:layout_marginStart="4dp">
<FrameLayout
android:id="@+id/contact_photo_container"
<org.thoughtcrime.securesms.components.AvatarImageView
android:id="@+id/contact_photo"
android:layout_width="@dimen/conversation_item_avatar_size"
android:layout_height="@dimen/conversation_item_avatar_size"
android:layout_marginStart="4dp"
android:layout_alignParentStart="true"
android:layout_alignBottom="@id/body_bubble">
android:contentDescription="@string/conversation_item_received__contact_photo_description"
android:cropToPadding="true"
android:foreground="@drawable/contact_photo_background"
app:fallbackImageSize="small" />
<org.thoughtcrime.securesms.components.AvatarImageView
android:id="@+id/contact_photo"
android:foreground="@drawable/contact_photo_background"
android:layout_width="@dimen/conversation_item_avatar_size"
android:layout_height="@dimen/conversation_item_avatar_size"
android:cropToPadding="true"
android:contentDescription="@string/conversation_item_received__contact_photo_description"
app:fallbackImageSize="small" />
</FrameLayout>
</FrameLayout>
<org.thoughtcrime.securesms.conversation.ConversationItemBodyBubble
android:id="@+id/body_bubble"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="@dimen/message_bubble_edge_margin"
android:layout_toEndOf="@id/contact_photo_container"
android:background="@color/white"
android:clipChildren="false"
android:clipToPadding="false"
android:orientation="vertical"
tools:backgroundTint="@color/conversation_blue">
<org.thoughtcrime.securesms.conversation.ConversationItemBodyBubble
android:id="@+id/body_bubble"
<LinearLayout
android:id="@+id/group_sender_holder"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/message_bubble_edge_margin"
android:layout_marginStart="8dp"
android:layout_toEndOf="@id/contact_photo_container"
android:orientation="vertical"
android:clipToPadding="false"
android:clipChildren="false"
android:background="@color/white"
tools:backgroundTint="@color/conversation_blue">
<LinearLayout
android:id="@+id/group_sender_holder"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/message_bubble_top_padding"
android:layout_marginBottom="2dp"
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:orientation="horizontal"
android:visibility="gone"
tools:visibility="visible">
<org.thoughtcrime.securesms.components.emoji.EmojiTextView
android:id="@+id/group_message_sender"
style="@style/Signal.Text.Preview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="4sp"
android:ellipsize="end"
android:maxLines="1"
android:textColor="@color/conversation_item_received_text_primary_color"
android:textStyle="bold"
tools:text="+14152222222"
tools:visibility="visible" />
<org.thoughtcrime.securesms.components.emoji.EmojiTextView
android:id="@+id/group_message_sender_profile"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingStart="4sp"
android:paddingEnd="4sp"
style="@style/Signal.Text.Preview"
android:fontFamily="sans-serif-regular"
android:textColor="@color/conversation_item_received_text_primary_color"
android:textStyle="italic"
android:maxLines="1"
android:ellipsize="end"
tools:text="~Clement Duval"/>
</LinearLayout>
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginTop="@dimen/message_bubble_top_padding"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:layout_marginBottom="2dp"
android:orientation="horizontal"
android:visibility="gone"
tools:visibility="visible">
<org.thoughtcrime.securesms.components.emoji.EmojiTextView
android:id="@+id/conversation_item_body"
android:id="@+id/group_message_sender"
style="@style/Signal.Text.Preview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/message_bubble_top_padding"
android:layout_marginBottom="@dimen/message_bubble_collapsed_footer_padding"
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
style="@style/Signal.Text.Body"
android:textColor="@color/conversation_item_received_text_primary_color"
android:textColorLink="@color/conversation_item_received_text_primary_color"
android:layout_marginEnd="4sp"
android:ellipsize="end"
app:scaleEmojis="true"
app:emoji_maxLength="1000"
tools:text="Mango pickle lorem ipsum"/>
android:maxLines="1"
android:textColor="@color/conversation_item_received_text_primary_color"
android:textStyle="bold"
tools:text="+14152222222"
tools:visibility="visible" />
<org.thoughtcrime.securesms.components.ConversationItemFooter
android:id="@+id/conversation_item_footer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="-4dp"
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:layout_marginBottom="@dimen/message_bubble_bottom_padding"
android:gravity="start"
android:clipChildren="false"
android:clipToPadding="false"
android:alpha="0.7"
app:footer_text_color="@color/conversation_item_received_text_secondary_color"
app:footer_icon_color="@color/conversation_item_received_text_secondary_color"/>
<org.thoughtcrime.securesms.components.ConversationItemFooter
android:id="@+id/conversation_item_sticker_footer"
<org.thoughtcrime.securesms.components.emoji.EmojiTextView
android:id="@+id/group_message_sender_profile"
style="@style/Signal.Text.Preview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:gravity="start"
android:clipChildren="false"
android:clipToPadding="false"
android:visibility="gone"
app:footer_text_color="@color/signal_text_secondary"
app:footer_icon_color="@color/signal_icon_tint_secondary"/>
android:ellipsize="end"
android:fontFamily="sans-serif-regular"
android:maxLines="1"
android:paddingStart="4sp"
android:paddingEnd="4sp"
android:textColor="@color/conversation_item_received_text_primary_color"
android:textStyle="italic"
tools:text="~Clement Duval" />
</org.thoughtcrime.securesms.conversation.ConversationItemBodyBubble>
</LinearLayout>
<org.thoughtcrime.securesms.components.AlertView
android:id="@+id/indicators_parent"
<org.thoughtcrime.securesms.components.emoji.EmojiTextView
android:id="@+id/conversation_item_body"
style="@style/Signal.Text.Body"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:orientation="vertical"
android:gravity="center_vertical"/>
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginTop="@dimen/message_bubble_top_padding"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:layout_marginBottom="@dimen/message_bubble_collapsed_footer_padding"
android:ellipsize="end"
android:textColor="@color/conversation_item_received_text_primary_color"
android:textColorLink="@color/conversation_item_received_text_primary_color"
app:emoji_maxLength="1000"
app:scaleEmojis="true"
tools:text="Mango pickle lorem ipsum" />
<org.thoughtcrime.securesms.reactions.ReactionsConversationView
android:id="@+id/reactions_view"
<org.thoughtcrime.securesms.components.ConversationItemFooter
android:id="@+id/conversation_item_footer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginTop="-4dp"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:layout_marginBottom="@dimen/message_bubble_bottom_padding"
android:alpha="0.7"
android:clipChildren="false"
android:clipToPadding="false"
android:gravity="start"
app:footer_icon_color="@color/conversation_item_received_text_secondary_color"
app:footer_text_color="@color/conversation_item_received_text_secondary_color" />
<org.thoughtcrime.securesms.components.ConversationItemFooter
android:id="@+id/conversation_item_sticker_footer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="-8dp"
android:layout_below="@id/body_bubble"
android:layout_alignStart="@id/body_bubble"
app:rcv_outgoing="false"/>
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginTop="6dp"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:clipChildren="false"
android:clipToPadding="false"
android:gravity="start"
android:visibility="gone"
app:footer_icon_color="@color/signal_icon_tint_secondary"
app:footer_text_color="@color/signal_text_secondary" />
</org.thoughtcrime.securesms.conversation.ConversationItemBodyBubble>
<org.thoughtcrime.securesms.components.AlertView
android:id="@+id/indicators_parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:gravity="center_vertical"
android:orientation="vertical" />
<org.thoughtcrime.securesms.reactions.ReactionsConversationView
android:id="@+id/reactions_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/body_bubble"
android:layout_alignStart="@id/body_bubble"
android:layout_marginTop="-8dp"
android:orientation="horizontal"
app:rcv_outgoing="false" />
</RelativeLayout>
</org.thoughtcrime.securesms.conversation.ConversationItem>

View File

@@ -3,8 +3,9 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/conversation_item"
android:layout_width="fill_parent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/conversation_individual_right_gutter"
android:clipChildren="false"
android:clipToPadding="false"
android:focusable="true"
@@ -12,175 +13,165 @@
android:nextFocusRight="@id/embedded_text_editor"
android:orientation="horizontal">
<RelativeLayout
android:id="@+id/container"
android:layout_width="match_parent"
<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: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" />
<org.thoughtcrime.securesms.conversation.ConversationItemBodyBubble
android:id="@+id/body_bubble"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/conversation_individual_right_gutter"
android:layout_alignWithParentIfMissing="true"
android:layout_marginStart="@dimen/message_bubble_edge_margin"
android:layout_toStartOf="@+id/indicators_parent"
android:background="@color/white"
android:clipChildren="false"
android:clipToPadding="false">
android:clipToPadding="false"
android:orientation="vertical"
tools:backgroundTint="@color/core_grey_05">
<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:layout_alignStart="@id/body_bubble"
android:layout_alignTop="@id/body_bubble"
android:layout_alignBottom="@id/body_bubble"
android:alpha="0"
app:srcCompat="@drawable/ic_reply_24"
android:tint="@color/signal_icon_tint_primary" />
<org.thoughtcrime.securesms.conversation.ConversationItemBodyBubble
android:id="@+id/body_bubble"
<org.thoughtcrime.securesms.components.QuoteView
android:id="@+id/quote_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignWithParentIfMissing="true"
android:layout_marginStart="@dimen/message_bubble_edge_margin"
android:layout_toStartOf="@+id/indicators_parent"
android:background="@color/white"
android:layout_marginStart="6dp"
android:layout_marginTop="@dimen/message_bubble_top_padding"
android:layout_marginEnd="6dp"
android:visibility="gone"
app:message_type="outgoing"
app:quote_colorPrimary="@color/conversation_item_quote_text_color"
app:quote_colorSecondary="@color/conversation_item_quote_text_color"
tools:visibility="visible" />
<ViewStub
android:id="@+id/shared_contact_view_stub"
android:layout_width="@dimen/media_bubble_default_dimens"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/message_bubble_top_padding"
android:layout="@layout/conversation_item_sent_shared_contact"
android:visibility="gone" />
<ViewStub
android:id="@+id/image_view_stub"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout="@layout/conversation_item_sent_thumbnail" />
<ViewStub
android:id="@+id/sticker_view_stub"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout="@layout/conversation_item_sent_sticker" />
<ViewStub
android:id="@+id/link_preview_stub"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout="@layout/conversation_item_sent_link_preview" />
<ViewStub
android:id="@+id/audio_view_stub"
android:layout_width="@dimen/message_audio_width"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginTop="@dimen/message_bubble_top_padding_audio"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:layout_marginBottom="@dimen/message_bubble_collapsed_footer_padding"
android:layout="@layout/conversation_item_sent_audio" />
<ViewStub
android:id="@+id/document_view_stub"
android:layout_width="210dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginTop="@dimen/message_bubble_top_padding"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:layout_marginBottom="@dimen/message_bubble_collapsed_footer_padding"
android:layout="@layout/conversation_item_sent_document" />
<ViewStub
android:id="@+id/revealable_view_stub"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginTop="@dimen/message_bubble_top_padding"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:layout_marginBottom="@dimen/message_bubble_collapsed_footer_padding"
android:layout="@layout/conversation_item_sent_revealable" />
<org.thoughtcrime.securesms.components.emoji.EmojiTextView
android:id="@+id/conversation_item_body"
style="@style/Signal.Text.Body"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginTop="@dimen/message_bubble_top_padding"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:layout_marginBottom="@dimen/message_bubble_collapsed_footer_padding"
android:ellipsize="end"
android:textColor="@color/signal_text_primary"
android:textColorLink="@color/signal_text_primary"
app:emoji_maxLength="1000"
app:scaleEmojis="true"
tools:text="Mango pickle lorem ipsum" />
<org.thoughtcrime.securesms.components.ConversationItemFooter
android:id="@+id/conversation_item_footer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginTop="-4dp"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:layout_marginBottom="@dimen/message_bubble_bottom_padding"
android:clipChildren="false"
android:clipToPadding="false"
android:orientation="vertical"
tools:backgroundTint="@color/core_grey_05">
android:gravity="end"
app:footer_icon_color="@color/signal_icon_tint_secondary"
app:footer_reveal_dot_color="@color/signal_icon_tint_secondary"
app:footer_text_color="@color/signal_text_secondary" />
<org.thoughtcrime.securesms.components.QuoteView
android:id="@+id/quote_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="6dp"
android:layout_marginTop="@dimen/message_bubble_top_padding"
android:layout_marginEnd="6dp"
android:visibility="gone"
app:message_type="outgoing"
app:quote_colorPrimary="@color/conversation_item_quote_text_color"
app:quote_colorSecondary="@color/conversation_item_quote_text_color"
tools:visibility="visible" />
<ViewStub
android:id="@+id/shared_contact_view_stub"
android:layout_width="@dimen/media_bubble_default_dimens"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/message_bubble_top_padding"
android:layout="@layout/conversation_item_sent_shared_contact"
android:visibility="gone" />
<ViewStub
android:id="@+id/image_view_stub"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout="@layout/conversation_item_sent_thumbnail" />
<ViewStub
android:id="@+id/sticker_view_stub"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout="@layout/conversation_item_sent_sticker" />
<ViewStub
android:id="@+id/link_preview_stub"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout="@layout/conversation_item_sent_link_preview" />
<ViewStub
android:id="@+id/audio_view_stub"
android:layout_width="@dimen/message_audio_width"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginTop="@dimen/message_bubble_top_padding_audio"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:layout_marginBottom="@dimen/message_bubble_collapsed_footer_padding"
android:layout="@layout/conversation_item_sent_audio" />
<ViewStub
android:id="@+id/document_view_stub"
android:layout_width="210dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginTop="@dimen/message_bubble_top_padding"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:layout_marginBottom="@dimen/message_bubble_collapsed_footer_padding"
android:layout="@layout/conversation_item_sent_document" />
<ViewStub
android:id="@+id/revealable_view_stub"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginTop="@dimen/message_bubble_top_padding"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:layout_marginBottom="@dimen/message_bubble_collapsed_footer_padding"
android:layout="@layout/conversation_item_sent_revealable" />
<org.thoughtcrime.securesms.components.emoji.EmojiTextView
android:id="@+id/conversation_item_body"
style="@style/Signal.Text.Body"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginTop="@dimen/message_bubble_top_padding"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:layout_marginBottom="@dimen/message_bubble_collapsed_footer_padding"
android:ellipsize="end"
android:textColor="@color/signal_text_primary"
android:textColorLink="@color/signal_text_primary"
app:emoji_maxLength="1000"
app:scaleEmojis="true"
tools:text="Mango pickle lorem ipsum" />
<org.thoughtcrime.securesms.components.ConversationItemFooter
android:id="@+id/conversation_item_footer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginTop="-4dp"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:layout_marginBottom="@dimen/message_bubble_bottom_padding"
android:clipChildren="false"
android:clipToPadding="false"
android:gravity="end"
app:footer_reveal_dot_color="@color/signal_icon_tint_secondary"
app:footer_icon_color="@color/signal_icon_tint_secondary"
app:footer_text_color="@color/signal_text_secondary" />
<org.thoughtcrime.securesms.components.ConversationItemFooter
android:id="@+id/conversation_item_sticker_footer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginTop="6dp"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:layout_gravity="end"
android:clipChildren="false"
android:clipToPadding="false"
android:gravity="end"
android:visibility="gone"
app:footer_icon_color="@color/signal_icon_tint_secondary"
app:footer_text_color="@color/signal_text_secondary" />
</org.thoughtcrime.securesms.conversation.ConversationItemBodyBubble>
<org.thoughtcrime.securesms.components.AlertView
android:id="@+id/indicators_parent"
<org.thoughtcrime.securesms.components.ConversationItemFooter
android:id="@+id/conversation_item_sticker_footer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="8dp"
android:orientation="vertical"
android:paddingBottom="4dp" />
android:layout_gravity="end"
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginTop="6dp"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:clipChildren="false"
android:clipToPadding="false"
android:gravity="end"
android:visibility="gone"
app:footer_icon_color="@color/signal_icon_tint_secondary"
app:footer_text_color="@color/signal_text_secondary" />
<org.thoughtcrime.securesms.reactions.ReactionsConversationView
android:id="@+id/reactions_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="-8dp"
android:layout_below="@id/body_bubble"
android:layout_alignEnd="@id/body_bubble"
app:rcv_outgoing="true"/>
</org.thoughtcrime.securesms.conversation.ConversationItemBodyBubble>
</RelativeLayout>
<org.thoughtcrime.securesms.components.AlertView
android:id="@+id/indicators_parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="8dp"
android:orientation="vertical"
android:paddingBottom="4dp" />
<org.thoughtcrime.securesms.reactions.ReactionsConversationView
android:id="@+id/reactions_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/body_bubble"
android:layout_alignEnd="@id/body_bubble"
android:layout_marginTop="-8dp"
android:orientation="horizontal"
app:rcv_outgoing="true" />
</org.thoughtcrime.securesms.conversation.ConversationItem>

View File

@@ -3,8 +3,9 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/conversation_item"
android:layout_width="fill_parent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/conversation_individual_right_gutter"
android:clipChildren="false"
android:clipToPadding="false"
android:focusable="true"
@@ -12,104 +13,94 @@
android:nextFocusRight="@id/embedded_text_editor"
android:orientation="horizontal">
<RelativeLayout
android:id="@+id/container"
android:layout_width="match_parent"
<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: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" />
<org.thoughtcrime.securesms.conversation.ConversationItemBodyBubble
android:id="@+id/body_bubble"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/conversation_individual_right_gutter"
android:layout_alignWithParentIfMissing="true"
android:layout_marginStart="@dimen/message_bubble_edge_margin"
android:layout_toStartOf="@+id/indicators_parent"
android:background="@color/white"
android:clipChildren="false"
android:clipToPadding="false">
android:clipToPadding="false"
android:orientation="vertical"
tools:backgroundTint="@color/core_grey_05">
<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:layout_alignStart="@id/body_bubble"
android:layout_alignTop="@id/body_bubble"
android:layout_alignBottom="@id/body_bubble"
android:alpha="0"
app:srcCompat="@drawable/ic_reply_24"
android:tint="@color/signal_icon_tint_primary" />
<org.thoughtcrime.securesms.conversation.ConversationItemBodyBubble
android:id="@+id/body_bubble"
<org.thoughtcrime.securesms.components.emoji.EmojiTextView
android:id="@+id/conversation_item_body"
style="@style/Signal.Text.Body"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignWithParentIfMissing="true"
android:layout_marginStart="@dimen/message_bubble_edge_margin"
android:layout_toStartOf="@+id/indicators_parent"
android:background="@color/white"
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginTop="@dimen/message_bubble_top_padding"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:layout_marginBottom="@dimen/message_bubble_collapsed_footer_padding"
android:ellipsize="end"
android:textColor="@color/signal_text_primary"
android:textColorLink="@color/signal_text_primary"
app:emoji_maxLength="1000"
app:scaleEmojis="true"
tools:text="Mango pickle lorem ipsum" />
<org.thoughtcrime.securesms.components.ConversationItemFooter
android:id="@+id/conversation_item_footer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginTop="-4dp"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:layout_marginBottom="@dimen/message_bubble_bottom_padding"
android:clipChildren="false"
android:clipToPadding="false"
android:orientation="vertical"
tools:backgroundTint="@color/core_grey_05">
android:gravity="end"
app:footer_icon_color="@color/signal_icon_tint_secondary"
app:footer_text_color="@color/signal_text_secondary" />
<org.thoughtcrime.securesms.components.emoji.EmojiTextView
android:id="@+id/conversation_item_body"
style="@style/Signal.Text.Body"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginTop="@dimen/message_bubble_top_padding"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:layout_marginBottom="@dimen/message_bubble_collapsed_footer_padding"
android:ellipsize="end"
android:textColor="@color/signal_text_primary"
android:textColorLink="@color/signal_text_primary"
app:emoji_maxLength="1000"
app:scaleEmojis="true"
tools:text="Mango pickle lorem ipsum" />
<org.thoughtcrime.securesms.components.ConversationItemFooter
android:id="@+id/conversation_item_footer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginTop="-4dp"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:layout_marginBottom="@dimen/message_bubble_bottom_padding"
android:clipChildren="false"
android:clipToPadding="false"
android:gravity="end"
app:footer_icon_color="@color/signal_icon_tint_secondary"
app:footer_text_color="@color/signal_text_secondary" />
<org.thoughtcrime.securesms.components.ConversationItemFooter
android:id="@+id/conversation_item_sticker_footer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginTop="6dp"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:clipChildren="false"
android:clipToPadding="false"
android:gravity="end"
android:visibility="gone"
app:footer_icon_color="@color/signal_icon_tint_secondary"
app:footer_text_color="@color/signal_text_secondary" />
</org.thoughtcrime.securesms.conversation.ConversationItemBodyBubble>
<org.thoughtcrime.securesms.components.AlertView
android:id="@+id/indicators_parent"
<org.thoughtcrime.securesms.components.ConversationItemFooter
android:id="@+id/conversation_item_sticker_footer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="8dp"
android:orientation="vertical"
android:paddingBottom="4dp" />
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginTop="6dp"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:clipChildren="false"
android:clipToPadding="false"
android:gravity="end"
android:visibility="gone"
app:footer_icon_color="@color/signal_icon_tint_secondary"
app:footer_text_color="@color/signal_text_secondary" />
<org.thoughtcrime.securesms.reactions.ReactionsConversationView
android:id="@+id/reactions_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="-8dp"
android:layout_below="@id/body_bubble"
android:layout_alignEnd="@id/body_bubble"
app:rcv_outgoing="true"/>
</org.thoughtcrime.securesms.conversation.ConversationItemBodyBubble>
</RelativeLayout>
<org.thoughtcrime.securesms.components.AlertView
android:id="@+id/indicators_parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="8dp"
android:orientation="vertical"
android:paddingBottom="4dp" />
<org.thoughtcrime.securesms.reactions.ReactionsConversationView
android:id="@+id/reactions_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/body_bubble"
android:layout_alignEnd="@id/body_bubble"
android:layout_marginTop="-8dp"
android:orientation="horizontal"
app:rcv_outgoing="true" />
</org.thoughtcrime.securesms.conversation.ConversationItem>