diff --git a/res/layout-land/chatlist_cell.xml b/res/layout-land/chatlist_cell.xml
index adc15edd6..70db86209 100644
--- a/res/layout-land/chatlist_cell.xml
+++ b/res/layout-land/chatlist_cell.xml
@@ -118,6 +118,14 @@
android:layout_height="wrap_content"
style="@style/font11"/>
+
+
diff --git a/res/layout-sw533dp-land/chatlist_cell.xml b/res/layout-sw533dp-land/chatlist_cell.xml
index b3b4eb0b2..7bdf36dd4 100644
--- a/res/layout-sw533dp-land/chatlist_cell.xml
+++ b/res/layout-sw533dp-land/chatlist_cell.xml
@@ -115,6 +115,14 @@
android:layout_marginRight="30dp"
style="@style/font11"/>
+
+
diff --git a/res/layout-sw533dp/chatlist_cell.xml b/res/layout-sw533dp/chatlist_cell.xml
index 81050177f..49a16515c 100644
--- a/res/layout-sw533dp/chatlist_cell.xml
+++ b/res/layout-sw533dp/chatlist_cell.xml
@@ -116,6 +116,14 @@
android:layout_marginRight="30dp"
style="@style/font11"/>
+
+
diff --git a/res/layout/chatlist_cell.xml b/res/layout/chatlist_cell.xml
index 0e27ce336..cf9185b95 100644
--- a/res/layout/chatlist_cell.xml
+++ b/res/layout/chatlist_cell.xml
@@ -118,6 +118,14 @@
android:layout_marginRight="30dp"
style="@style/font11"/>
+
+
diff --git a/src/android/org/linphone/chat/ChatRoomViewHolder.java b/src/android/org/linphone/chat/ChatRoomViewHolder.java
index 4dc034cc0..f6f2608c7 100644
--- a/src/android/org/linphone/chat/ChatRoomViewHolder.java
+++ b/src/android/org/linphone/chat/ChatRoomViewHolder.java
@@ -35,8 +35,10 @@ import org.linphone.activities.LinphoneActivity;
import org.linphone.contacts.ContactsManager;
import org.linphone.contacts.LinphoneContact;
import org.linphone.core.Address;
+import org.linphone.core.ChatMessage;
import org.linphone.core.ChatRoom;
import org.linphone.core.ChatRoomCapabilities;
+import org.linphone.core.Content;
public class ChatRoomViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener, View.OnLongClickListener {
private Bitmap mDefaultBitmap;
@@ -49,6 +51,7 @@ public class ChatRoomViewHolder extends RecyclerView.ViewHolder implements View.
public TextView unreadMessages;
public CheckBox delete;
public ImageView contactPicture;
+ public ImageView lastMessageFileTransfer;
public Context mContext;
public ChatRoom mRoom;
private ClickListener mListener;
@@ -67,6 +70,7 @@ public class ChatRoomViewHolder extends RecyclerView.ViewHolder implements View.
unreadMessages = itemView.findViewById(R.id.unreadMessages);
delete = itemView.findViewById(R.id.delete_chatroom);
contactPicture = itemView.findViewById(R.id.contact_picture);
+ lastMessageFileTransfer = itemView.findViewById(R.id.lastMessageFileTransfer);
mListener = listener;
itemView.setOnClickListener(this);
@@ -75,9 +79,25 @@ public class ChatRoomViewHolder extends RecyclerView.ViewHolder implements View.
public void bindChatRoom(ChatRoom room) {
mRoom = room;
+ ChatMessage lastMessage = mRoom.getLastMessageInHistory();
+ lastMessageView.setVisibility(View.GONE);
+ lastMessageFileTransfer.setVisibility(View.GONE);
+
+ if (lastMessage != null) {
+ String text = lastMessage.getTextContent();
+ if (text != null && text.length() > 0) {
+ lastMessageView.setVisibility(View.VISIBLE);
+ lastMessageView.setText(text);
+ }
+ date.setText(LinphoneUtils.timestampToHumanDate(mContext, mRoom.getLastUpdateTime(), R.string.messages_list_date_format));
+ for (Content c : lastMessage.getContents()) {
+ if (c.isFile() || c.isFileTransfer()) {
+ lastMessageFileTransfer.setVisibility(View.VISIBLE);
+ }
+ }
+ }
+
lastMessageSenderView.setText(getSender(mRoom));
- lastMessageView.setText(mRoom.getLastMessageInHistory() != null ? mRoom.getLastMessageInHistory().getTextContent() : "");
- date.setText(mRoom.getLastMessageInHistory() != null ? LinphoneUtils.timestampToHumanDate(mContext, mRoom.getLastUpdateTime(), R.string.messages_list_date_format) : "");
displayName.setText(getContact(mRoom));
unreadMessages.setText(String.valueOf(LinphoneManager.getInstance().getUnreadCountForChatRoom(mRoom)));
getAvatar(mRoom);