Display of sent messages (cpim to remove)

This commit is contained in:
Sylvain Berfini 2017-10-30 15:01:51 +01:00
parent b25bb9a530
commit e41591d731
3 changed files with 32 additions and 12 deletions

View file

@ -61,6 +61,7 @@ import java.io.FileNotFoundException;
import java.io.IOException;
import java.lang.ref.WeakReference;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.List;
@ -76,16 +77,16 @@ public class ChatEventsAdapter extends BaseAdapter {
private LayoutInflater mLayoutInflater;
private Bitmap mDefaultBitmap;
public ChatEventsAdapter(Context context, GroupChatFragment fragment, LayoutInflater inflater, EventLog[] history, List<LinphoneContact> participants) {
public ChatEventsAdapter(Context context, GroupChatFragment fragment, LayoutInflater inflater, EventLog[] history, ArrayList<LinphoneContact> participants) {
mContext = context;
mFragment = fragment;
mLayoutInflater = inflater;
mHistory = Arrays.asList(history);
mHistory = new ArrayList<>(Arrays.asList(history));
mParticipants = participants;
}
public void updateHistory(EventLog[] history) {
mHistory = Arrays.asList(history);
mHistory = new ArrayList<>(Arrays.asList(history));
notifyDataSetChanged();
}
@ -94,7 +95,7 @@ public class ChatEventsAdapter extends BaseAdapter {
notifyDataSetChanged();
}
public void setContacts(List<LinphoneContact> participants) {
public void setContacts(ArrayList<LinphoneContact> participants) {
mParticipants = participants;
}
@ -142,7 +143,7 @@ public class ChatEventsAdapter extends BaseAdapter {
if (event.getType() == EventLog.Type.ConferenceChatMessage) {
holder.bubbleLayout.setVisibility(View.VISIBLE);
ChatMessage message = null;//event.getChatMessage();
ChatMessage message = event.getChatMessage();
holder.messageId = message.getMessageId();
message.setUserData(holder);
@ -154,6 +155,9 @@ public class ChatEventsAdapter extends BaseAdapter {
if (message.isOutgoing()) {
displayName = remoteSender.getDisplayName();
if (displayName == null || displayName.isEmpty()) {
displayName = remoteSender.getUsername();
}
if (status == ChatMessage.State.InProgress) {
holder.messageSendingInProgress.setVisibility(View.VISIBLE);

View file

@ -58,6 +58,7 @@ import org.linphone.contacts.ContactsManager;
import org.linphone.contacts.LinphoneContact;
import org.linphone.core.Address;
import org.linphone.core.Buffer;
import org.linphone.core.Call;
import org.linphone.core.ChatMessage;
import org.linphone.core.ChatMessageListener;
import org.linphone.core.ChatRoom;
@ -95,7 +96,7 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con
private String mRemoteSipUri;
private Address mRemoteSipAddress;
private ChatRoom mChatRoom;
private List<LinphoneContact> mParticipants;
private ArrayList<LinphoneContact> mParticipants;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
@ -571,6 +572,7 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con
}
});
msg.send();
mFilesUploadLayout.removeAllViews();
mMessageTextToSend.setText("");
}
@ -581,6 +583,11 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con
}
}
@Override
public void onChatMessageSent(ChatRoom cr, EventLog event) {
mMessagesAdapter.addToHistory(event);
}
@Override
public void onUndecryptableMessageReceived(ChatRoom cr, ChatMessage msg) {
final Address from = msg.getFromAddress();
@ -625,20 +632,18 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con
}
@Override
public void onMessageReceived(ChatRoom cr, ChatMessage msg) {
public void onChatMessageReceived(ChatRoom cr, EventLog event) {
cr.markAsRead();
LinphoneActivity.instance().updateMissedChatCount();
ChatMessage msg = event.getChatMessage();
String externalBodyUrl = msg.getExternalBodyUrl();
Content fileTransferContent = msg.getFileTransferInformation();
if (externalBodyUrl != null || fileTransferContent != null) {
LinphoneActivity.instance().checkAndRequestExternalStoragePermission();
}
}
@Override
public void onChatMessageReceived(ChatRoom cr, EventLog event_log) {
ChatMessage msg = event_log.getChatMessage();
mMessagesAdapter.addToHistory(event);
}
@Override
@ -701,23 +706,32 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con
}
}
@Override
public void onMessageReceived(ChatRoom cr, ChatMessage msg) {
}
@Override
public void onParticipantAdminStatusChanged(ChatRoom cr, EventLog event) {
mMessagesAdapter.addToHistory(event);
}
@Override
public void onParticipantDeviceRemoved(ChatRoom cr, EventLog event) {
mMessagesAdapter.addToHistory(event);
}
@Override
public void onParticipantRemoved(ChatRoom cr, EventLog event) {
mMessagesAdapter.addToHistory(event);
}
@Override
public void onParticipantDeviceAdded(ChatRoom cr, EventLog event) {
mMessagesAdapter.addToHistory(event);
}
@ -728,11 +742,13 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con
@Override
public void onParticipantAdded(ChatRoom cr, EventLog event) {
mMessagesAdapter.addToHistory(event);
}
@Override
public void onSubjectChanged(ChatRoom cr, EventLog event) {
mMessagesAdapter.addToHistory(event);
}

@ -1 +1 @@
Subproject commit f702e9a8fe0d487ef7cd529287d010ae55512a06
Subproject commit 637595573d79e14f1fcfcbc1a5d3e5e928d6664d