diff --git a/app/src/main/java/org/linphone/activities/main/chat/views/MultiLineWrapContentWidthTextView.kt b/app/src/main/java/org/linphone/activities/main/chat/views/MultiLineWrapContentWidthTextView.kt
index f06828e54..a0b114149 100644
--- a/app/src/main/java/org/linphone/activities/main/chat/views/MultiLineWrapContentWidthTextView.kt
+++ b/app/src/main/java/org/linphone/activities/main/chat/views/MultiLineWrapContentWidthTextView.kt
@@ -48,22 +48,15 @@ class MultiLineWrapContentWidthTextView : AppCompatTextView {
}
override fun onMeasure(widthSpec: Int, heightSpec: Int) {
- var wSpec = widthSpec
- val widthMode = MeasureSpec.getMode(wSpec)
+ super.onMeasure(widthSpec, heightSpec)
- if (widthMode == MeasureSpec.AT_MOST) {
- val layout = layout
- if (layout != null) {
- val maxWidth = (
- ceil(getMaxLineWidth(layout).toDouble()).toInt() +
- totalPaddingLeft +
- totalPaddingRight
- )
- wSpec = MeasureSpec.makeMeasureSpec(maxWidth, MeasureSpec.AT_MOST)
- }
+ if (layout != null && layout.lineCount >= 2) {
+ val maxLineWidth = ceil(getMaxLineWidth(layout)).toInt()
+ val uselessPaddingWidth = layout.width - maxLineWidth
+ val width = measuredWidth - uselessPaddingWidth
+ val height = measuredHeight
+ setMeasuredDimension(width, height)
}
-
- super.onMeasure(wSpec, heightSpec)
}
private fun getMaxLineWidth(layout: Layout): Float {
diff --git a/app/src/main/res/drawable/icon_ephemeral_message.xml b/app/src/main/res/drawable/icon_ephemeral_message.xml
new file mode 100644
index 000000000..299072bab
--- /dev/null
+++ b/app/src/main/res/drawable/icon_ephemeral_message.xml
@@ -0,0 +1,7 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/icon_forwarded_message.xml b/app/src/main/res/drawable/icon_forwarded_message.xml
new file mode 100644
index 000000000..c210b3dce
--- /dev/null
+++ b/app/src/main/res/drawable/icon_forwarded_message.xml
@@ -0,0 +1,7 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/icon_replied_message.xml b/app/src/main/res/drawable/icon_replied_message.xml
new file mode 100644
index 000000000..dcc78b5c6
--- /dev/null
+++ b/app/src/main/res/drawable/icon_replied_message.xml
@@ -0,0 +1,7 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/chat_message_list_cell.xml b/app/src/main/res/layout/chat_message_list_cell.xml
index 4e004f622..e9332a491 100644
--- a/app/src/main/res/layout/chat_message_list_cell.xml
+++ b/app/src/main/res/layout/chat_message_list_cell.xml
@@ -95,67 +95,39 @@
android:layout_marginLeft="@{selectionListViewModel.isEditionEnabled ? @dimen/edit_chat_message_bubble_left_margin : !data.chatMessage.outgoing ? @dimen/incoming_chat_message_bubble_left_margin : @dimen/outgoing_chat_message_bubble_left_margin}"
android:paddingBottom="5dp">
-
+ android:layout_marginLeft="5dp"
+ app:drawableLeftCompat="@drawable/icon_forwarded_message" />
-
-
-
-
-
-
-
-
-
-
-
-
-
+ android:textColor="@color/chat_bubble_text_color"
+ android:textSize="10sp"
+ android:fontFamily="sans-serif"
+ android:textStyle="normal"
+ android:lineSpacingExtra="3.3sp"
+ android:text="@string/chat_message_replied"
+ tools:ignore="SmallSp"
+ android:drawablePadding="3dp"
+ app:drawableLeftCompat="@drawable/icon_replied_message" />
-
-
-
-
-
-
-
+ android:layout_marginLeft="5dp"
+ android:drawablePadding="3dp"
+ android:textColor="@color/primary_color"
+ android:textSize="12sp"
+ android:fontFamily="sans-serif"
+ android:textStyle="normal"
+ android:lineSpacingExtra="3.3sp"
+ app:drawableRightCompat="@drawable/icon_ephemeral_message" />