clip image preview to message bubble

Daniel Gultsch created

Change summary

src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java |  2 
src/main/res/layout/item_message_content.xml                        |  8 
src/main/res/layout/item_message_received.xml                       |  7 
src/main/res/layout/item_message_sent.xml                           | 10 
4 files changed, 14 insertions(+), 13 deletions(-)

Detailed changes

src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java 🔗

@@ -662,7 +662,6 @@ public class MessageAdapter extends ArrayAdapter<Message> {
         }
         final LinearLayout.LayoutParams layoutParams =
                 new LinearLayout.LayoutParams(scaledW, scaledH);
-        layoutParams.setMargins(0, (int) (metrics.density * 4), 0, (int) (metrics.density * 4));
         viewHolder.image.setLayoutParams(layoutParams);
         activity.loadBitmap(message, viewHolder.image);
         viewHolder.image.setOnClickListener(v -> openDownloadable(message));
@@ -920,6 +919,7 @@ public class MessageAdapter extends ArrayAdapter<Message> {
             }
             return view;
         } else {
+            viewHolder.message_box.setClipToOutline(true);
             AvatarWorkerTask.loadAvatar(message, viewHolder.contact_picture, R.dimen.avatar);
         }
 

src/main/res/layout/item_message_content.xml 🔗

@@ -8,6 +8,8 @@
             android:id="@+id/message_body"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
+            android:layout_marginHorizontal="8dp"
+            android:layout_marginTop="4dp"
             android:autoLink="web"
             android:longClickable="false"
             android:textAppearance="?textAppearanceBodyMedium" />
@@ -16,8 +18,6 @@
             android:id="@+id/message_image"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_marginTop="8dp"
-            android:layout_marginBottom="4dp"
             android:adjustViewBounds="true"
             android:background="@color/gray_800"
             android:longClickable="true"
@@ -28,6 +28,8 @@
             style="@style/Widget.Material3.Button.ElevatedButton"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
+            android:layout_marginHorizontal="8dp"
+            android:layout_marginTop="4dp"
             android:longClickable="true"
             android:visibility="gone"
             app:iconSize="24dp" />
@@ -36,6 +38,8 @@
             android:id="@+id/audio_player"
             android:layout_width="@dimen/audio_player_width"
             android:layout_height="wrap_content"
+            android:layout_marginHorizontal="8dp"
+            android:layout_marginVertical="4dp"
             android:visibility="gone">
 
             <ImageButton

src/main/res/layout/item_message_received.xml 🔗

@@ -29,9 +29,7 @@
             android:background="@drawable/background_message_bubble"
             android:backgroundTint="?colorTertiaryContainer"
             android:longClickable="true"
-            android:minHeight="53dp"
-            android:paddingHorizontal="8dp"
-            android:paddingVertical="4dp">
+            android:minHeight="48dp">
 
             <LinearLayout
                 android:layout_width="wrap_content"
@@ -47,7 +45,8 @@
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_gravity="start"
-                    android:layout_marginVertical="1sp"
+                    android:layout_marginHorizontal="8dp"
+                    android:layout_marginVertical="4dp"
                     android:orientation="horizontal">
 
                     <TextView

src/main/res/layout/item_message_sent.xml 🔗

@@ -37,16 +37,13 @@
             android:background="@drawable/background_message_bubble"
             android:backgroundTint="?colorSecondaryContainer"
             android:longClickable="true"
-            android:minHeight="53dp"
-            android:paddingHorizontal="8dp"
-            android:paddingVertical="4dp">
+            android:minHeight="48dp">
 
             <LinearLayout
                 android:layout_width="wrap_content"
                 android:layout_height="fill_parent"
                 android:gravity="center_vertical"
-                android:orientation="vertical"
-                android:padding="2dp">
+                android:orientation="vertical">
 
                 <include
                     android:id="@+id/message_content"
@@ -56,7 +53,8 @@
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_gravity="end"
-                    android:layout_marginVertical="1sp"
+                    android:layout_marginHorizontal="8dp"
+                    android:layout_marginVertical="4dp"
                     android:orientation="horizontal">
 
                     <TextView