diff --git a/res/values/strings.xml b/res/values/strings.xml index 123e95da0..f3f5453da 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -201,6 +201,13 @@ Participants Leave the group Contact filter + group created + group destroyed + %s added + %s leaved + new subject : %s + %s is now admin + %s is no longer admin Registered diff --git a/src/android/org/linphone/chat/ChatEventsAdapter.java b/src/android/org/linphone/chat/ChatEventsAdapter.java index b4a46dec3..3631aade6 100644 --- a/src/android/org/linphone/chat/ChatEventsAdapter.java +++ b/src/android/org/linphone/chat/ChatEventsAdapter.java @@ -304,29 +304,43 @@ public class ChatEventsAdapter extends BaseAdapter implements ChatMessageListene } else { // Event is not chat message 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 switch (event.getType()) { case ConferenceCreated: - holder.eventMessage.setText("Created"); + holder.eventMessage.setText(mContext.getString(R.string.conference_created)); break; case ConferenceDestroyed: - holder.eventMessage.setText("Destroyed"); + holder.eventMessage.setText(mContext.getString(R.string.conference_destroyed)); break; case ConferenceParticipantAdded: - holder.eventMessage.setText("Participant added"); + holder.eventMessage.setText(mContext.getString(R.string.participant_added).replace("%s", displayName)); break; case ConferenceParticipantRemoved: - holder.eventMessage.setText("Participant removed"); + holder.eventMessage.setText(mContext.getString(R.string.participant_removed).replace("%s", displayName)); break; case ConferenceSubjectChanged: - holder.eventMessage.setText("Subject changed"); + holder.eventMessage.setText(mContext.getString(R.string.subject_changed).replace("%s", event.getSubject())); break; case ConferenceParticipantSetAdmin: - holder.eventMessage.setText("Admin set"); + holder.eventMessage.setText(mContext.getString(R.string.admin_set).replace("%s", displayName)); break; case ConferenceParticipantUnsetAdmin: - holder.eventMessage.setText("Admin unset"); + holder.eventMessage.setText(mContext.getString(R.string.admin_unset).replace("%s", displayName)); break; case None: default: