From e544dc5d37251017de0a6c9935d30b1cd54098ce Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Tue, 11 Sep 2018 11:22:18 +0200 Subject: [PATCH] Fix message in chat room --- res/values-fr/strings.xml | 2 ++ res/values/strings.xml | 2 ++ src/android/org/linphone/LinphoneUtils.java | 6 ++++++ .../org/linphone/chat/ChatEventsAdapter.java | 13 +++++++++++-- 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index 5aac7cb14..0f8a5a75a 100644 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -195,6 +195,8 @@ Vos amis pourront vous joindre plus facilement si vous associez votre compte à %s a quitté le groupe Nouveau sujet : %s %s est devenu(e) admin + Vous etes devenu(e) admin + Vous n\'êtes plus admin %s n\'est plus admin Vous êtes maintenant admin Vous n\'êtes plus admin diff --git a/res/values/strings.xml b/res/values/strings.xml index cd7d9bfb7..d7c043bdc 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -222,7 +222,9 @@ Security alert from %s new subject: %s %s is admin + Now, you are admin %s is no longer admin + You are no longer admin %1: %2 You are now admin You are no longer admin diff --git a/src/android/org/linphone/LinphoneUtils.java b/src/android/org/linphone/LinphoneUtils.java index 817ebad6b..32b955122 100644 --- a/src/android/org/linphone/LinphoneUtils.java +++ b/src/android/org/linphone/LinphoneUtils.java @@ -829,5 +829,11 @@ public final class LinphoneUtils { } imm.hideSoftInputFromWindow(view.getWindowToken(), 0); } + + public static boolean isUs(ProxyConfig proxy, String username) { + if (proxy == null || username == null || username.isEmpty()) return false; + Address proxyConfigContact = proxy.getContact(); + return proxyConfigContact.getUsername().equalsIgnoreCase(username); + } } diff --git a/src/android/org/linphone/chat/ChatEventsAdapter.java b/src/android/org/linphone/chat/ChatEventsAdapter.java index 6a7535cc5..8610166ba 100644 --- a/src/android/org/linphone/chat/ChatEventsAdapter.java +++ b/src/android/org/linphone/chat/ChatEventsAdapter.java @@ -73,6 +73,7 @@ import java.util.Arrays; import java.util.List; import static android.content.Intent.FLAG_GRANT_READ_URI_PERMISSION; +import static org.linphone.LinphoneUtils.isUs; public class ChatEventsAdapter extends ListSelectionAdapter { private static int MARGIN_BETWEEN_MESSAGES = 10; @@ -431,10 +432,18 @@ public class ChatEventsAdapter extends ListSelectionAdapter { holder.eventMessage.setText(mContext.getString(R.string.subject_changed).replace("%s", event.getSubject())); break; case ConferenceParticipantSetAdmin: - holder.eventMessage.setText(mContext.getString(R.string.admin_set).replace("%s", displayName)); + if (isUs(LinphoneManager.getLc().getDefaultProxyConfig(), address.getUsername())) { + holder.eventMessage.setText(mContext.getString(R.string.admin_set_us)); + } else { + holder.eventMessage.setText(mContext.getString(R.string.admin_set).replace("%s", displayName)); + } break; case ConferenceParticipantUnsetAdmin: - holder.eventMessage.setText(mContext.getString(R.string.admin_unset).replace("%s", displayName)); + if (isUs(LinphoneManager.getLc().getDefaultProxyConfig(), address.getUsername())) { + holder.eventMessage.setText(mContext.getString(R.string.admin_unset_us)); + } else { + holder.eventMessage.setText(mContext.getString(R.string.admin_unset).replace("%s", displayName)); + } break; case ConferenceParticipantDeviceAdded: holder.eventMessage.setText(mContext.getString(R.string.device_added).replace("%s", displayName));