1<?xml version="1.0" encoding="utf-8"?>
  2<layout xmlns:android="http://schemas.android.com/apk/res/android"
  3    xmlns:app="http://schemas.android.com/apk/res-auto"
  4    xmlns:tools="http://schemas.android.com/tools">
  5
  6    <androidx.constraintlayout.widget.ConstraintLayout
  7        android:layout_width="match_parent"
  8        android:layout_height="wrap_content"
  9        android:paddingHorizontal="@dimen/bubble_horizontal_padding"
 10        android:paddingVertical="@dimen/bubble_vertical_padding">
 11
 12        <com.google.android.material.imageview.ShapeableImageView
 13            android:id="@+id/message_photo"
 14            android:layout_width="@dimen/bubble_avatar_size"
 15            android:layout_height="@dimen/bubble_avatar_size"
 16            app:layout_constraintStart_toStartOf="parent"
 17            app:layout_constraintTop_toTopOf="@id/message_box"
 18            android:layout_marginEnd="0dp"
 19            android:scaleType="centerCrop"
 20            app:shapeAppearance="@style/ShapeAppearanceOverlay.Photo" />
 21
 22        <!-- TODO port app:layout_constraintWidth_max="@dimen/message_bubble_max_width" from c3 -->
 23        <LinearLayout
 24            android:id="@+id/message_box"
 25            android:layout_width="wrap_content"
 26            android:layout_height="wrap_content"
 27            android:paddingLeft="6dp"
 28            android:background="@drawable/message_bubble_received"
 29            android:backgroundTint="?colorTertiaryContainer"
 30            android:longClickable="true"
 31            android:minHeight="@dimen/bubble_avatar_size"
 32            app:layout_constrainedWidth="true"
 33            app:layout_constraintEnd_toEndOf="parent"
 34            app:layout_constraintHorizontal_bias="0.0"
 35            app:layout_constraintStart_toEndOf="@id/message_photo"
 36            app:layout_constraintTop_toTopOf="parent">
 37
 38            <LinearLayout
 39                android:id="@+id/message_box_inner"
 40                android:layout_width="wrap_content"
 41                android:layout_height="fill_parent"
 42                android:gravity="center_vertical"
 43                android:orientation="vertical">
 44
 45                <include
 46                    android:id="@+id/message_content"
 47                    layout="@layout/item_message_content" />
 48
 49                <com.wefika.flowlayout.FlowLayout
 50                    android:id="@+id/status_line"
 51                    android:layout_width="wrap_content"
 52                    android:layout_height="wrap_content"
 53                    android:layout_gravity="start"
 54                    android:layout_marginHorizontal="10dp"
 55                    android:layout_marginVertical="4dp"
 56                    android:orientation="horizontal">
 57
 58                    <TextView
 59                        android:id="@+id/message_subject"
 60                        android:layout_width="wrap_content"
 61                        android:layout_height="wrap_content"
 62                        android:layout_gravity="center_vertical"
 63                        android:layout_marginRight="4sp"
 64                        android:accessibilityTraversalAfter="@id/message_photo"
 65                        android:accessibilityTraversalBefore="@id/message_time"
 66                        android:gravity="center_vertical"
 67                        android:textAppearance="?textAppearanceLabelSmall"
 68                        android:textColor="?colorOnTertiaryContainer"
 69                        android:visibility="gone" />
 70
 71                    <TextView
 72                        android:id="@+id/message_encryption"
 73                        android:layout_width="wrap_content"
 74                        android:layout_height="wrap_content"
 75                        android:layout_gravity="center_vertical"
 76                        android:layout_marginEnd="4sp"
 77                        android:gravity="center_vertical"
 78                        android:textAppearance="?textAppearanceBodySmall"
 79                        android:textColor="?colorOnTertiaryContainer"
 80                        tools:text="@string/not_trusted" />
 81
 82                    <ImageView
 83                        android:id="@+id/security_indicator"
 84                        android:layout_width="12sp"
 85                        android:layout_height="12sp"
 86                        android:layout_gravity="center_vertical"
 87                        android:layout_marginEnd="4sp"
 88                        android:gravity="center_vertical"
 89                        android:src="@drawable/ic_lock_24dp"
 90                        app:tint="?colorOnTertiaryContainer" />
 91
 92                    <ImageView
 93                        android:id="@+id/edit_indicator"
 94                        android:layout_width="12sp"
 95                        android:layout_height="12sp"
 96                        android:layout_gravity="center_vertical"
 97                        android:layout_marginEnd="4sp"
 98                        android:gravity="center_vertical"
 99                        android:src="@drawable/ic_edit_24dp"
100                        app:tint="?colorOnTertiaryContainer" />
101
102                    <ImageView
103                        android:id="@+id/indicator_received"
104                        android:layout_width="16sp"
105                        android:layout_height="16sp"
106                        android:layout_gravity="center_vertical"
107                        android:layout_marginEnd="4sp"
108                        android:gravity="center_vertical"
109                        android:src="@drawable/ic_done_24dp"
110                        app:tint="?colorOnTertiaryContainer" />
111
112                    <com.lelloman.identicon.view.GithubIdenticonView
113                        android:id="@+id/thread_identicon"
114                        android:background="@drawable/ic_thread"
115                        android:visibility="gone"
116                        android:layout_width="9dp"
117                        android:layout_height="9dp"
118                        android:layout_gravity="center_vertical"
119                        android:layout_marginEnd="4sp"
120                        android:layout_marginBottom="-1dp" />
121
122                    <TextView
123                        android:id="@+id/message_time"
124                        android:layout_width="wrap_content"
125                        android:layout_height="wrap_content"
126                        android:layout_gravity="center_vertical"
127                        android:accessibilityTraversalAfter="@id/message_photo"
128                        android:accessibilityTraversalBefore="@id/message_content"
129                        android:gravity="center_vertical"
130                        android:textAppearance="?textAppearanceBodySmall"
131                        android:textColor="?colorOnTertiaryContainer"
132                        tools:text="10:42" />
133                </com.wefika.flowlayout.FlowLayout>
134            </LinearLayout>
135        </LinearLayout>
136
137        <Space
138            android:id="@+id/reactions_anchor"
139            android:layout_width="0dp"
140            android:layout_height="0dp"
141            android:layout_marginBottom="12dp"
142            app:layout_constraintBottom_toBottomOf="@+id/message_box"
143            app:layout_constraintStart_toStartOf="@+id/message_box" />
144
145        <com.google.android.material.chip.ChipGroup
146            android:id="@+id/reactions"
147            android:layout_width="wrap_content"
148            android:layout_height="wrap_content"
149            android:layout_marginStart="7dp"
150            android:orientation="horizontal"
151            android:visibility="visible"
152            app:chipSpacingHorizontal="2dp"
153            app:chipSpacingVertical="4dp"
154            app:layout_constrainedWidth="true"
155            app:layout_constraintEnd_toEndOf="parent"
156            app:layout_constraintHorizontal_bias="0.0"
157            app:layout_constraintStart_toStartOf="@+id/message_box"
158            app:layout_constraintTop_toBottomOf="@+id/reactions_anchor" />
159    </androidx.constraintlayout.widget.ConstraintLayout>
160</layout>