diff --git a/app/src/main/java/com/nextcloud/talk/adapters/items/ConversationItem.kt b/app/src/main/java/com/nextcloud/talk/adapters/items/ConversationItem.kt
index 9ccf8733d..6f3158f6a 100644
--- a/app/src/main/java/com/nextcloud/talk/adapters/items/ConversationItem.kt
+++ b/app/src/main/java/com/nextcloud/talk/adapters/items/ConversationItem.kt
@@ -13,8 +13,11 @@ import android.annotation.SuppressLint
import android.content.Context
import android.content.res.ColorStateList
import android.graphics.Typeface
+import android.text.SpannableStringBuilder
+import android.text.Spanned
import android.text.TextUtils
import android.text.format.DateUtils
+import android.text.style.ImageSpan
import android.view.View
import androidx.core.content.ContextCompat
import androidx.core.content.res.ResourcesCompat
@@ -209,7 +212,6 @@ class ConversationItem(
R.drawable.ic_avatar_document
)
)
-
false
}
@@ -229,7 +231,19 @@ class ConversationItem(
if (!TextUtils.isEmpty(chatMessage?.systemMessage) ||
ConversationEnums.ConversationType.ROOM_SYSTEM === model.type
) {
- holder.binding.dialogLastMessage.text = chatMessage?.text
+ holder.binding.dialogLastMessage.text = chatMessage.text
+ } else if (MessageType.SINGLE_NC_ATTACHMENT_MESSAGE == chatMessage.getCalculateMessageType()) {
+ var attachmentName = chatMessage.message
+ if (attachmentName == "{file}") {
+ attachmentName = chatMessage.messageParameters?.get("file")?.get("name")
+ }
+ val name = if (chatMessage.messageParameters?.get("actor")?.get("name") == user.userId) {
+ sharedApplication!!.resources.getString(R.string.nc_current_user)
+ } else {
+ "${chatMessage.messageParameters?.get("actor")?.get("name")}:"
+ }
+ val lastMessage = setLastNameFortAttachmentDialog(name, R.drawable.baseline_image_24, attachmentName!!)
+ holder.binding.dialogLastMessage.text = lastMessage
} else {
chatMessage?.activeUser = user
@@ -351,15 +365,6 @@ class ConversationItem(
chatMessage?.getNullsafeActorDisplayName()
)
}
- } else if (MessageType.SINGLE_NC_ATTACHMENT_MESSAGE == chatMessage?.getCalculateMessageType()) {
- return if (chatMessage?.actorId == chatMessage?.activeUser!!.userId) {
- sharedApplication!!.getString(R.string.nc_sent_an_attachment_you)
- } else {
- String.format(
- sharedApplication!!.resources.getString(R.string.nc_sent_an_attachment),
- chatMessage?.getNullsafeActorDisplayName()
- )
- }
} else if (MessageType.SINGLE_NC_GEOLOCATION_MESSAGE == chatMessage?.getCalculateMessageType()) {
return if (chatMessage?.actorId == chatMessage?.activeUser!!.userId) {
sharedApplication!!.getString(R.string.nc_sent_location_you)
@@ -428,6 +433,26 @@ class ConversationItem(
return ""
}
+ fun setLastNameFortAttachmentDialog(actor: String, icon: Int, attachmentName: String): SpannableStringBuilder {
+ val builder = SpannableStringBuilder()
+ builder.append(actor)
+
+ val drawable = ContextCompat.getDrawable(context, icon)
+
+ drawable?.let {
+ val scaleFactor = 0.7f
+ val desiredWidth = (it.intrinsicWidth * scaleFactor).toInt()
+ val desiredHeight = (it.intrinsicHeight * scaleFactor).toInt()
+ it.setBounds(0, 0, desiredWidth, desiredHeight)
+ val imageSpan = ImageSpan(it, ImageSpan.ALIGN_BOTTOM)
+ val startImage = builder.length
+ builder.append(" ")
+ builder.setSpan(imageSpan, startImage, startImage + 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
+ }
+ builder.append(attachmentName)
+ return builder
+ }
+
class ConversationItemViewHolder(view: View?, adapter: FlexibleAdapter<*>?) : FlexibleViewHolder(view, adapter) {
var binding: RvItemConversationWithLastMessageBinding
diff --git a/app/src/main/res/drawable/baseline_image_24.xml b/app/src/main/res/drawable/baseline_image_24.xml
new file mode 100644
index 000000000..f7eda4ffc
--- /dev/null
+++ b/app/src/main/res/drawable/baseline_image_24.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 1440edc32..9ed925f62 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -435,6 +435,8 @@ How to translate with transifex:
Sending
Failed to send message:
Add attachment
+ Recent
+ You:
- See %d similar message
- See %d similar messages