From 833f90ce53ab1a4aa3b3ee21b70e7f69d0095a06 Mon Sep 17 00:00:00 2001 From: Lucio Maciel Date: Wed, 21 Jul 2021 17:04:57 -0300 Subject: [PATCH] Fix margins on message clusters and 1:1 messages. --- .../securesms/conversation/ConversationItem.java | 13 +++++++++++-- .../conversation_item_received_multimedia.xml | 2 +- .../layout/conversation_item_received_text_only.xml | 3 ++- app/src/main/res/values/dimens.xml | 1 + 4 files changed, 15 insertions(+), 4 deletions(-) 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 08105368a3..bdb327bfb7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItem.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItem.java @@ -727,6 +727,14 @@ public final class ConversationItem extends RelativeLayout implements BindableCo bodyText.setText(StringUtil.trim(styledText)); bodyText.setVisibility(View.VISIBLE); } + + if (!messageRecord.isOutgoing()) { + if (!messageRecord.isMms()) { + ViewUtil.setTopMargin(bodyText, readDimen(R.dimen.message_bubble_content_top_padding)); + } else { + ViewUtil.setTopMargin(bodyText, readDimen(R.dimen.message_bubble_text_top_padding)); + } + } } private void setMediaAttributes(@NonNull MessageRecord messageRecord, @@ -1123,6 +1131,7 @@ public final class ConversationItem extends RelativeLayout implements BindableCo } private void setQuote(@NonNull MessageRecord current, @NonNull Optional previous, @NonNull Optional next, boolean isGroupThread, @NonNull ChatColors chatColors) { + boolean startOfCluster = isStartOfMessageCluster(current, previous, isGroupThread); if (current.isMms() && !current.isMmsNotification() && ((MediaMmsMessageRecord)current).getQuote() != null) { if (quoteView == null) { throw new AssertionError(); @@ -1144,7 +1153,7 @@ public final class ConversationItem extends RelativeLayout implements BindableCo quoteView.setOnLongClickListener(passthroughClickListener); - if (isStartOfMessageCluster(current, previous, isGroupThread)) { + if (startOfCluster) { if (current.isOutgoing()) { quoteView.setTopCornerSizes(true, true); } else if (isGroupThread) { @@ -1172,7 +1181,7 @@ public final class ConversationItem extends RelativeLayout implements BindableCo quoteView.dismiss(); } - int topMargin = current.isOutgoing() ? 0 : readDimen(R.dimen.message_bubble_content_top_padding); + int topMargin = (current.isOutgoing() || !startOfCluster || !groupThread) ? 0 : readDimen(R.dimen.message_bubble_content_top_padding); if (mediaThumbnailStub.resolved()) { ViewUtil.setTopMargin(mediaThumbnailStub.get(), topMargin); } 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 d4c4942116..a71123c6db 100644 --- a/app/src/main/res/layout/conversation_item_received_multimedia.xml +++ b/app/src/main/res/layout/conversation_item_received_multimedia.xml @@ -60,7 +60,6 @@ android:layout_marginStart="8dp" android:layout_marginEnd="@dimen/message_bubble_edge_margin" android:layout_toEndOf="@id/contact_photo_container" - android:paddingTop="@dimen/message_bubble_top_padding" android:background="@color/white" android:clipChildren="false" android:clipToPadding="false" @@ -73,6 +72,7 @@ android:layout_height="wrap_content" android:layout_marginStart="@dimen/message_bubble_horizontal_padding" android:layout_marginEnd="@dimen/message_bubble_horizontal_padding" + android:layout_marginTop="@dimen/message_bubble_top_padding" android:orientation="horizontal" android:visibility="gone" tools:visibility="visible"> diff --git a/app/src/main/res/layout/conversation_item_received_text_only.xml b/app/src/main/res/layout/conversation_item_received_text_only.xml index 6cf93afc42..15835698ef 100644 --- a/app/src/main/res/layout/conversation_item_received_text_only.xml +++ b/app/src/main/res/layout/conversation_item_received_text_only.xml @@ -98,6 +98,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="1dp" + 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:ellipsize="end" @@ -112,7 +113,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginStart="@dimen/message_bubble_horizontal_padding" - android:layout_marginTop="2dp" + android:layout_marginTop="-4dp" android:layout_marginEnd="@dimen/message_bubble_horizontal_padding" android:layout_marginBottom="@dimen/message_bubble_bottom_padding" android:alpha="0.7" diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 832eef9a3c..5f0044b798 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -36,6 +36,7 @@ 1.5dp 12dp 7dp + 1dp 4dp 12dp 6dp