From 9ce327a40cf3389001de116e45c8f6b6c60a23bb Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Fri, 18 Oct 2019 13:45:48 -0300 Subject: [PATCH] [android] highlight selected conversation messages in UI --- .../ConversationItemViewHolder.java | 3 + .../ConversationMessageViewHolder.java | 4 +- .../list_item_background_selectable.xml | 4 + .../layout/list_item_conversation_msg_in.xml | 79 +++---------------- .../list_item_conversation_msg_in_content.xml | 73 +++++++++++++++++ .../layout/list_item_conversation_msg_out.xml | 5 +- .../list_item_conversation_notice_in.xml | 5 +- .../list_item_conversation_notice_out.xml | 5 +- .../layout/list_item_conversation_request.xml | 8 +- briar-android/src/main/res/values/color.xml | 1 + 10 files changed, 107 insertions(+), 80 deletions(-) create mode 100644 briar-android/src/main/res/drawable/list_item_background_selectable.xml create mode 100644 briar-android/src/main/res/layout/list_item_conversation_msg_in_content.xml 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 2c7e62b80..6a54584b4 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 @@ -20,6 +20,7 @@ import static org.briarproject.briar.android.util.UiUtils.formatDate; abstract class ConversationItemViewHolder extends ViewHolder { protected final ConversationListener listener; + private final View root; protected final ConstraintLayout layout; @Nullable private final OutItemViewHolder outViewHolder; @@ -33,6 +34,7 @@ abstract class ConversationItemViewHolder extends ViewHolder { super(v); this.listener = listener; this.outViewHolder = isIncoming ? null : new OutItemViewHolder(v); + root = v; layout = v.findViewById(R.id.layout); text = v.findViewById(R.id.text); time = v.findViewById(R.id.time); @@ -41,6 +43,7 @@ abstract class ConversationItemViewHolder extends ViewHolder { @CallSuper void bind(ConversationItem item, boolean selected) { itemKey = item.getKey(); + root.setActivated(selected); if (item.getText() != null) { text.setText(trim(item.getText())); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationMessageViewHolder.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationMessageViewHolder.java index 626979ceb..4d6fd43e4 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationMessageViewHolder.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationMessageViewHolder.java @@ -44,8 +44,8 @@ class ConversationMessageViewHolder extends ConversationItemViewHolder { timeColorBubble = getColor(v.getContext(), R.color.briar_white); // clone constraint sets from layout files - textConstraints - .clone(v.getContext(), R.layout.list_item_conversation_msg_in); + textConstraints.clone(v.getContext(), + R.layout.list_item_conversation_msg_in_content); imageConstraints.clone(v.getContext(), R.layout.list_item_conversation_msg_image); imageTextConstraints.clone(v.getContext(), diff --git a/briar-android/src/main/res/drawable/list_item_background_selectable.xml b/briar-android/src/main/res/drawable/list_item_background_selectable.xml new file mode 100644 index 000000000..7d4aa9942 --- /dev/null +++ b/briar-android/src/main/res/drawable/list_item_background_selectable.xml @@ -0,0 +1,4 @@ + + + + diff --git a/briar-android/src/main/res/layout/list_item_conversation_msg_in.xml b/briar-android/src/main/res/layout/list_item_conversation_msg_in.xml index a92cf249c..d946046e4 100644 --- a/briar-android/src/main/res/layout/list_item_conversation_msg_in.xml +++ b/briar-android/src/main/res/layout/list_item_conversation_msg_in.xml @@ -1,73 +1,14 @@ - + android:background="@drawable/list_item_background_selectable"> - + + - - - - - - - - - + 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 new file mode 100644 index 000000000..a92cf249c --- /dev/null +++ b/briar-android/src/main/res/layout/list_item_conversation_msg_in_content.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + 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 f77f9609b..6ac5ef61a 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 @@ -1,9 +1,10 @@ - + + android:layout_height="wrap_content" + android:background="@drawable/list_item_background_selectable"> + android:background="@drawable/list_item_background_selectable" + android:orientation="vertical" + android:paddingTop="@dimen/message_bubble_margin"> + android:background="@drawable/list_item_background_selectable" + android:orientation="vertical" + android:paddingTop="@dimen/message_bubble_margin"> + android:background="@drawable/list_item_background_selectable" + android:orientation="vertical" + android:paddingTop="@dimen/message_bubble_margin"> + tools:text="Short message" + tools:visibility="visible" /> #333333 @color/msg_stroke_light #66000000 + @color/briar_green @color/briar_blue_light