diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationAdapter.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationAdapter.kt
index 63c3f733c7..6c0664cf40 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationAdapter.kt
+++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationAdapter.kt
@@ -4,7 +4,9 @@ import android.content.Context
import android.database.Cursor
import android.graphics.drawable.ColorDrawable
import android.view.ViewGroup
+import androidx.core.view.isVisible
import androidx.recyclerview.widget.RecyclerView.ViewHolder
+import kotlinx.android.synthetic.main.view_visible_message.view.*
import network.loki.messenger.R
import org.thoughtcrime.securesms.conversation.v2.messages.ControlMessageView
import org.thoughtcrime.securesms.conversation.v2.messages.VisibleMessageView
@@ -62,11 +64,13 @@ class ConversationAdapter(context: Context, cursor: Cursor, private val onItemPr
when (viewHolder) {
is VisibleMessageViewHolder -> {
val view = viewHolder.view
- view.background = if (selectedItems.contains(message)) {
+ val isSelected = selectedItems.contains(message)
+ view.background = if (isSelected) {
ColorDrawable(context.resources.getColorWithID(R.color.accent, context.theme))
} else {
null
}
+ view.messageTimestampTextView.isVisible = isSelected
val position = viewHolder.adapterPosition
view.bind(message, getMessageBefore(position, cursor), getMessageAfter(position, cursor))
view.setOnClickListener { onItemPress(message, viewHolder.adapterPosition) }
diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/messages/VisibleMessageView.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/messages/VisibleMessageView.kt
index 22852cf194..c56f9a08bf 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/messages/VisibleMessageView.kt
+++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/messages/VisibleMessageView.kt
@@ -2,7 +2,6 @@ package org.thoughtcrime.securesms.conversation.v2.messages
import android.content.Context
import android.util.AttributeSet
-import android.util.Log
import android.view.Gravity
import android.view.LayoutInflater
import android.view.View
@@ -67,17 +66,19 @@ class VisibleMessageView : LinearLayout {
val showDateBreak = (previous == null || !DateUtils.isSameDay(message.timestamp, previous.timestamp))
dateBreakTextView.isVisible = showDateBreak
dateBreakTextView.text = if (showDateBreak) DateUtils.getRelativeDate(context, Locale.getDefault(), message.timestamp) else ""
+ // Timestamp
+ messageTimestampTextView.text = DateUtils.getExtendedRelativeTimeSpanString(context, Locale.getDefault(), message.timestamp)
// Margins
- val messageContentViewLayoutParams = messageContentView.layoutParams as LinearLayout.LayoutParams
+ val messageContentContainerLayoutParams = messageContentContainer.layoutParams as LinearLayout.LayoutParams
if (isGroupThread) {
- messageContentViewLayoutParams.leftMargin = if (message.isOutgoing) resources.getDimension(R.dimen.very_large_spacing).toInt() else 0
+ messageContentContainerLayoutParams.leftMargin = if (message.isOutgoing) resources.getDimension(R.dimen.very_large_spacing).toInt() else 0
} else {
- messageContentViewLayoutParams.leftMargin = if (message.isOutgoing) resources.getDimension(R.dimen.very_large_spacing).toInt()
+ messageContentContainerLayoutParams.leftMargin = if (message.isOutgoing) resources.getDimension(R.dimen.very_large_spacing).toInt()
else resources.getDimension(R.dimen.medium_spacing).toInt()
}
- messageContentViewLayoutParams.rightMargin = if (message.isOutgoing) resources.getDimension(R.dimen.medium_spacing).toInt()
+ messageContentContainerLayoutParams.rightMargin = if (message.isOutgoing) resources.getDimension(R.dimen.medium_spacing).toInt()
else resources.getDimension(R.dimen.very_large_spacing).toInt()
- messageContentView.layoutParams = messageContentViewLayoutParams
+ messageContentContainer.layoutParams = messageContentContainerLayoutParams
// Set inter-message spacing
val isStartOfMessageCluster = isStartOfMessageCluster(message, previous, isGroupThread)
val isEndOfMessageCluster = isEndOfMessageCluster(message, next, isGroupThread)
diff --git a/app/src/main/res/layout/view_visible_message.xml b/app/src/main/res/layout/view_visible_message.xml
index 758a92328a..f6607ab00a 100644
--- a/app/src/main/res/layout/view_visible_message.xml
+++ b/app/src/main/res/layout/view_visible_message.xml
@@ -57,6 +57,7 @@
@@ -76,6 +77,13 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
+
+
diff --git a/app/src/main/res/menu/menu_conversation_item_action.xml b/app/src/main/res/menu/menu_conversation_item_action.xml
index e9e1401837..b2006d81e4 100644
--- a/app/src/main/res/menu/menu_conversation_item_action.xml
+++ b/app/src/main/res/menu/menu_conversation_item_action.xml
@@ -7,25 +7,25 @@
android:title="@string/conversation_context__menu_reply_to_message"
android:id="@+id/menu_context_reply"
android:icon="?menu_reply_icon"
- app:showAsAction="ifRoom" />
+ app:showAsAction="always" />
+ app:showAsAction="always" />
+ app:showAsAction="always" />
+ app:showAsAction="always" />