From a09976815038e279286a6a4e089230c7eb695bbe Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Mon, 27 Nov 2017 13:39:03 +0100 Subject: [PATCH] Updated linphone submodule + added room's last message in chat room list --- .../org/linphone/chat/ChatRoomsAdapter.java | 19 ++++++++----------- submodules/linphone | 2 +- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/src/android/org/linphone/chat/ChatRoomsAdapter.java b/src/android/org/linphone/chat/ChatRoomsAdapter.java index a63bf7d9a..24bf82d58 100644 --- a/src/android/org/linphone/chat/ChatRoomsAdapter.java +++ b/src/android/org/linphone/chat/ChatRoomsAdapter.java @@ -132,20 +132,18 @@ public class ChatRoomsAdapter extends ListSelectionAdapter { Long time; int unreadMessagesCount = chatRoom.getUnreadMessagesCount(); - //TODO rework - ChatMessage[] history = chatRoom.getHistory(1); + ChatMessage lastMessage = chatRoom.getLastMessageInHistory(); - if (history.length > 0) { - ChatMessage msg = history[0]; - if (msg.getFileTransferInformation() != null || msg.getExternalBodyUrl() != null || msg.getAppdata() != null) { + if (lastMessage != null) { + if (lastMessage.getFileTransferInformation() != null || lastMessage.getExternalBodyUrl() != null || lastMessage.getAppdata() != null) { holder.lastMessageView.setBackgroundResource(R.drawable.chat_file_message); - time = msg.getTime(); + time = lastMessage.getTime(); holder.date.setText(LinphoneUtils.timestampToHumanDate(mContext, time, R.string.messages_list_date_format)); holder.lastMessageView.setText(""); - } else if (msg.getTextContent() != null && msg.getTextContent().length() > 0) { - message = msg.getTextContent(); + } else if (lastMessage.getTextContent() != null && lastMessage.getTextContent().length() > 0) { + message = lastMessage.getTextContent(); holder.lastMessageView.setBackgroundResource(0); - time = msg.getTime(); + time = lastMessage.getTime(); holder.date.setText(LinphoneUtils.timestampToHumanDate(mContext, time, R.string.messages_list_date_format)); holder.lastMessageView.setText(message); } @@ -153,6 +151,7 @@ public class ChatRoomsAdapter extends ListSelectionAdapter { holder.displayName.setSelected(true); // For animation + holder.contactPicture.setImageBitmap(mDefaultBitmap); if (!chatRoom.canHandleParticipants()) { contact = ContactsManager.getInstance().findContactFromAddress(contactAddress); if (contact != null) { @@ -160,7 +159,6 @@ public class ChatRoomsAdapter extends ListSelectionAdapter { LinphoneUtils.setThumbnailPictureFromUri(LinphoneActivity.instance(), holder.contactPicture, contact.getThumbnailUri()); } else { holder.displayName.setText(LinphoneUtils.getAddressDisplayName(contactAddress)); - holder.contactPicture.setImageBitmap(mDefaultBitmap); } } else if (chatRoom.getNbParticipants() == 1 && mContext.getString(R.string.dummy_group_chat_subject).equals(chatRoom.getSubject())) { contact = ContactsManager.getInstance().findContactFromAddress(chatRoom.getParticipants()[0].getAddress()); @@ -169,7 +167,6 @@ public class ChatRoomsAdapter extends ListSelectionAdapter { LinphoneUtils.setThumbnailPictureFromUri(LinphoneActivity.instance(), holder.contactPicture, contact.getThumbnailUri()); } else { holder.displayName.setText(LinphoneUtils.getAddressDisplayName(chatRoom.getParticipants()[0].getAddress())); - holder.contactPicture.setImageBitmap(mDefaultBitmap); } } else { holder.displayName.setText(chatRoom.getSubject()); diff --git a/submodules/linphone b/submodules/linphone index 191a9f24b..9a8181ee3 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 191a9f24ba2ad380cff353707d3714662c7226d8 +Subproject commit 9a8181ee3108e7ab713d80edbaf705a457e01440