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 8604f3aa1..3822e7130 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItem.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItem.java @@ -523,14 +523,13 @@ public final class ConversationItem extends RelativeLayout implements BindableCo int availableWidth = getAvailableMessageBubbleWidth(footer); if (activeFooter.getVisibility() != GONE && activeFooter.getMeasuredWidth() != availableWidth) { - activeFooter.getLayoutParams().width = availableWidth - ViewUtil.getLeftMargin(activeFooter) - ViewUtil.getRightMargin(activeFooter); + activeFooter.getLayoutParams().width = availableWidth; needsMeasure = true; - updatingFooter = true; } - if (bodyBubble.getMeasuredWidth() != availableWidth) { - bodyBubble.getLayoutParams().width = availableWidth; - audioViewStub.get().getLayoutParams().width = availableWidth - ViewUtil.getLeftMargin(audioViewStub.get()) - ViewUtil.getRightMargin(audioViewStub.get()); + int desiredWidth = audioViewStub.get().getMeasuredWidth() + ViewUtil.getLeftMargin(audioViewStub.get()) + ViewUtil.getRightMargin(audioViewStub.get()); + if (bodyBubble.getMeasuredWidth() != desiredWidth) { + bodyBubble.getLayoutParams().width = desiredWidth; needsMeasure = true; } } @@ -575,7 +574,7 @@ public final class ConversationItem extends RelativeLayout implements BindableCo private int getAvailableMessageBubbleWidth(@NonNull View forView) { int availableWidth; if (hasAudio(messageRecord)) { - availableWidth = Math.min(getMaxBubbleWidth(), readDimen(R.dimen.message_audio_width)); + availableWidth = audioViewStub.get().getMeasuredWidth() + ViewUtil.getLeftMargin(audioViewStub.get()) + ViewUtil.getRightMargin(audioViewStub.get()); } else if (!isViewOnceMessage(messageRecord) && (hasThumbnail(messageRecord) || hasBigImageLinkPreview(messageRecord))) { availableWidth = mediaThumbnailStub.require().getMeasuredWidth(); } else { @@ -1520,7 +1519,7 @@ public final class ConversationItem extends RelativeLayout implements BindableCo } private void setFooter(@NonNull MessageRecord current, @NonNull Optional next, @NonNull Locale locale, boolean isGroupThread, boolean hasWallpaper) { - ViewUtil.updateLayoutParams(footer, hasAudio(current) ? LayoutParams.MATCH_PARENT : LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); + ViewUtil.updateLayoutParams(footer, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); ViewUtil.setTopMargin(footer, readDimen(R.dimen.message_bubble_default_footer_bottom_margin)); footer.setVisibility(GONE); diff --git a/app/src/main/res/layout/conversation_item_footer_outgoing.xml b/app/src/main/res/layout/conversation_item_footer_outgoing.xml index 590f89426..cd3d556cb 100644 --- a/app/src/main/res/layout/conversation_item_footer_outgoing.xml +++ b/app/src/main/res/layout/conversation_item_footer_outgoing.xml @@ -14,6 +14,7 @@ style="@style/Signal.Text.Caption.MessageSent" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:layout_marginStart="56dp" android:visibility="gone" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" diff --git a/app/src/main/res/layout/conversation_item_received_audio.xml b/app/src/main/res/layout/conversation_item_received_audio.xml index 71cddad7f..a80753fd0 100644 --- a/app/src/main/res/layout/conversation_item_received_audio.xml +++ b/app/src/main/res/layout/conversation_item_received_audio.xml @@ -3,9 +3,8 @@ xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/audio_view" - android:layout_width="match_parent" + android:layout_width="@dimen/message_audio_width" android:layout_height="wrap_content" - android:maxWidth="@dimen/message_audio_width" android:visibility="gone" app:backgroundTintColor="@color/white" app:foregroundTintColor="@color/grey_500" diff --git a/app/src/main/res/layout/conversation_item_sent_audio.xml b/app/src/main/res/layout/conversation_item_sent_audio.xml index c324aa8cb..495a6c87c 100644 --- a/app/src/main/res/layout/conversation_item_sent_audio.xml +++ b/app/src/main/res/layout/conversation_item_sent_audio.xml @@ -3,9 +3,8 @@ xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/audio_view" - android:layout_width="match_parent" + android:layout_width="@dimen/message_audio_width" android:layout_height="wrap_content" - android:maxWidth="@dimen/message_audio_width" android:visibility="gone" app:backgroundTintColor="@color/blue_500" app:foregroundTintColor="@color/white"