Improved conference events display

This commit is contained in:
Sylvain Berfini 2017-11-02 09:52:18 +01:00
parent da46f33844
commit 9473655068
2 changed files with 29 additions and 8 deletions

View file

@ -201,6 +201,13 @@
<string name="chat_room_participants">Participants</string> <string name="chat_room_participants">Participants</string>
<string name="chat_room_leave_group">Leave the group</string> <string name="chat_room_leave_group">Leave the group</string>
<string name="chat_room_creation_filter_hint">Contact filter</string> <string name="chat_room_creation_filter_hint">Contact filter</string>
<string name="conference_created">group created</string>
<string name="conference_destroyed">group destroyed</string>
<string name="participant_added">%s added</string>
<string name="participant_removed">%s leaved</string>
<string name="subject_changed">new subject : %s</string>
<string name="admin_set">%s is now admin</string>
<string name="admin_unset">%s is no longer admin</string>
<!-- Status Bar --> <!-- Status Bar -->
<string name="status_connected">Registered</string> <string name="status_connected">Registered</string>

View file

@ -304,29 +304,43 @@ public class ChatEventsAdapter extends BaseAdapter implements ChatMessageListene
} else { // Event is not chat message } else { // Event is not chat message
holder.eventLayout.setVisibility(View.VISIBLE); holder.eventLayout.setVisibility(View.VISIBLE);
Log.e("Conference event type is " + event.getType().toString()); Log.d("Conference event type is " + event.getType().toString());
Address address = event.getParticipantAddress();
String displayName = null;
if (address != null) {
LinphoneContact contact = ContactsManager.getInstance().findContactFromAddress(address);
if (contact != null) {
displayName = contact.getFullName();
} else {
displayName = address.getDisplayName();
if (displayName == null || displayName.isEmpty()) {
displayName = address.getUsername();
}
}
}
//TODO //TODO
switch (event.getType()) { switch (event.getType()) {
case ConferenceCreated: case ConferenceCreated:
holder.eventMessage.setText("Created"); holder.eventMessage.setText(mContext.getString(R.string.conference_created));
break; break;
case ConferenceDestroyed: case ConferenceDestroyed:
holder.eventMessage.setText("Destroyed"); holder.eventMessage.setText(mContext.getString(R.string.conference_destroyed));
break; break;
case ConferenceParticipantAdded: case ConferenceParticipantAdded:
holder.eventMessage.setText("Participant added"); holder.eventMessage.setText(mContext.getString(R.string.participant_added).replace("%s", displayName));
break; break;
case ConferenceParticipantRemoved: case ConferenceParticipantRemoved:
holder.eventMessage.setText("Participant removed"); holder.eventMessage.setText(mContext.getString(R.string.participant_removed).replace("%s", displayName));
break; break;
case ConferenceSubjectChanged: case ConferenceSubjectChanged:
holder.eventMessage.setText("Subject changed"); holder.eventMessage.setText(mContext.getString(R.string.subject_changed).replace("%s", event.getSubject()));
break; break;
case ConferenceParticipantSetAdmin: case ConferenceParticipantSetAdmin:
holder.eventMessage.setText("Admin set"); holder.eventMessage.setText(mContext.getString(R.string.admin_set).replace("%s", displayName));
break; break;
case ConferenceParticipantUnsetAdmin: case ConferenceParticipantUnsetAdmin:
holder.eventMessage.setText("Admin unset"); holder.eventMessage.setText(mContext.getString(R.string.admin_unset).replace("%s", displayName));
break; break;
case None: case None:
default: default: