diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationItem.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationItem.java index a0cd5d54b..470a5fd2c 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationItem.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationItem.java @@ -22,7 +22,7 @@ abstract class ConversationItem { protected String text; private final MessageId id; private final GroupId groupId; - private final long time; + private final long time, autoDeleteTimer; private final boolean isIncoming; private boolean read, sent, seen; @@ -32,6 +32,7 @@ abstract class ConversationItem { this.id = h.getId(); this.groupId = h.getGroupId(); this.time = h.getTimestamp(); + this.autoDeleteTimer = h.getAutoDeleteTimer(); this.read = h.isRead(); this.sent = h.isSent(); this.seen = h.isSeen(); @@ -68,6 +69,10 @@ abstract class ConversationItem { return time; } + public long getAutoDeleteTimer() { + return autoDeleteTimer; + } + /** * Only useful for incoming messages. */ diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationItemViewHolder.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationItemViewHolder.java index 6a54584b4..7e9cd582d 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationItemViewHolder.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationItemViewHolder.java @@ -12,8 +12,11 @@ import androidx.annotation.UiThread; import androidx.constraintlayout.widget.ConstraintLayout; import androidx.recyclerview.widget.RecyclerView.ViewHolder; +import static android.view.View.GONE; +import static android.view.View.VISIBLE; import static org.briarproject.bramble.util.StringUtils.trim; import static org.briarproject.briar.android.util.UiUtils.formatDate; +import static org.briarproject.briar.api.autodelete.AutoDeleteConstants.NO_AUTO_DELETE_TIMER; @UiThread @NotNullByDefault @@ -26,6 +29,7 @@ abstract class ConversationItemViewHolder extends ViewHolder { private final OutItemViewHolder outViewHolder; private final TextView text; protected final TextView time; + private final View bomb; @Nullable private String itemKey = null; @@ -38,6 +42,7 @@ abstract class ConversationItemViewHolder extends ViewHolder { layout = v.findViewById(R.id.layout); text = v.findViewById(R.id.text); time = v.findViewById(R.id.time); + bomb = v.findViewById(R.id.bomb); } @CallSuper @@ -52,6 +57,9 @@ abstract class ConversationItemViewHolder extends ViewHolder { long timestamp = item.getTime(); time.setText(formatDate(time.getContext(), timestamp)); + boolean showBomb = item.getAutoDeleteTimer() != NO_AUTO_DELETE_TIMER; + bomb.setVisibility(showBomb ? VISIBLE : GONE); + if (outViewHolder != null) outViewHolder.bind(item); } diff --git a/briar-android/src/main/res/drawable/ic_bomb.xml b/briar-android/src/main/res/drawable/ic_bomb.xml new file mode 100644 index 000000000..c874afd02 --- /dev/null +++ b/briar-android/src/main/res/drawable/ic_bomb.xml @@ -0,0 +1,9 @@ + + + \ No newline at end of file diff --git a/briar-android/src/main/res/layout/list_item_conversation_msg_image.xml b/briar-android/src/main/res/layout/list_item_conversation_msg_image.xml index 020bca4b3..4e23ec880 100644 --- a/briar-android/src/main/res/layout/list_item_conversation_msg_image.xml +++ b/briar-android/src/main/res/layout/list_item_conversation_msg_image.xml @@ -68,6 +68,16 @@ android:layout_height="wrap_content" tools:text="Dec 24, 13:37" /> + + diff --git a/briar-android/src/main/res/layout/list_item_conversation_msg_image_text.xml b/briar-android/src/main/res/layout/list_item_conversation_msg_image_text.xml index 27056a3da..855a3ea54 100644 --- a/briar-android/src/main/res/layout/list_item_conversation_msg_image_text.xml +++ b/briar-android/src/main/res/layout/list_item_conversation_msg_image_text.xml @@ -67,6 +67,16 @@ android:layout_height="wrap_content" tools:text="Dec 24, 13:37" /> + + diff --git a/briar-android/src/main/res/layout/list_item_conversation_msg_in_content.xml b/briar-android/src/main/res/layout/list_item_conversation_msg_in_content.xml index a92cf249c..c691819b2 100644 --- a/briar-android/src/main/res/layout/list_item_conversation_msg_in_content.xml +++ b/briar-android/src/main/res/layout/list_item_conversation_msg_in_content.xml @@ -68,6 +68,17 @@ android:layout_height="wrap_content" tools:text="Dec 24, 13:37" /> + + diff --git a/briar-android/src/main/res/layout/list_item_conversation_msg_out.xml b/briar-android/src/main/res/layout/list_item_conversation_msg_out.xml index 6ac5ef61a..230d0d6e9 100644 --- a/briar-android/src/main/res/layout/list_item_conversation_msg_out.xml +++ b/briar-android/src/main/res/layout/list_item_conversation_msg_out.xml @@ -73,11 +73,20 @@ style="@style/TextMessage.Timestamp" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginEnd="6dp" - android:layout_marginRight="6dp" + android:layout_marginEnd="4dp" + android:layout_marginRight="4dp" android:textColor="@color/private_message_date_inverse" tools:text="Dec 24, 13:37" /> + + + + - \ No newline at end of file + diff --git a/briar-android/src/main/res/layout/list_item_conversation_notice_out.xml b/briar-android/src/main/res/layout/list_item_conversation_notice_out.xml index d99ae0ce6..31ac5be43 100644 --- a/briar-android/src/main/res/layout/list_item_conversation_notice_out.xml +++ b/briar-android/src/main/res/layout/list_item_conversation_notice_out.xml @@ -55,14 +55,26 @@ app:layout_constraintTop_toBottomOf="@+id/text" tools:text="Dec 24, 13:37" /> + + diff --git a/briar-android/src/main/res/layout/list_item_conversation_request.xml b/briar-android/src/main/res/layout/list_item_conversation_request.xml index 902d10fc3..f991c1634 100644 --- a/briar-android/src/main/res/layout/list_item_conversation_request.xml +++ b/briar-android/src/main/res/layout/list_item_conversation_request.xml @@ -68,10 +68,27 @@ style="@style/TextMessage.Timestamp" android:layout_width="wrap_content" android:layout_height="wrap_content" - app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintEnd_toStartOf="@+id/bomb" + app:layout_constraintHorizontal_bias="1.0" + app:layout_constraintHorizontal_chainStyle="packed" + app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/acceptButton" tools:text="Dec 24, 13:37" /> + + - \ No newline at end of file +