include name in locations received in MUCs

Daniel Gultsch created

Change summary

src/main/java/eu/siacs/conversations/utils/GeoHelper.java | 18 +++++---
src/main/java/eu/siacs/conversations/utils/UIHelper.java  |  2 
2 files changed, 12 insertions(+), 8 deletions(-)

Detailed changes

src/main/java/eu/siacs/conversations/utils/GeoHelper.java 🔗

@@ -9,6 +9,7 @@ import java.util.ArrayList;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import eu.siacs.conversations.entities.Contact;
 import eu.siacs.conversations.entities.Conversation;
 import eu.siacs.conversations.entities.Message;
 
@@ -54,13 +55,16 @@ public class GeoHelper {
 		Intent locationPluginIntent = new Intent("eu.siacs.conversations.location.show");
 		locationPluginIntent.putExtra("latitude",latitude);
 		locationPluginIntent.putExtra("longitude",longitude);
-		if (conversation.getMode() == Conversation.MODE_SINGLE) {
-			if (message.getStatus() == Message.STATUS_RECEIVED) {
-				locationPluginIntent.putExtra("name",conversation.getName());
-				locationPluginIntent.putExtra("jid",message.getCounterpart().toString());
-			}
-			else {
-				locationPluginIntent.putExtra("jid",conversation.getAccount().getJid().toString());
+		if (message.getStatus() != Message.STATUS_RECEIVED) {
+			locationPluginIntent.putExtra("jid",conversation.getAccount().getJid().toString());
+			locationPluginIntent.putExtra("name",conversation.getAccount().getJid().getLocalpart());
+		} else {
+			Contact contact = message.getContact();
+			if (contact != null) {
+				locationPluginIntent.putExtra("name", contact.getDisplayName());
+				locationPluginIntent.putExtra("jid", contact.getJid().toString());
+			} else {
+				locationPluginIntent.putExtra("name", UIHelper.getDisplayedMucCounterpart(message.getCounterpart()));
 			}
 		}
 		intents.add(locationPluginIntent);

src/main/java/eu/siacs/conversations/utils/UIHelper.java 🔗

@@ -249,7 +249,7 @@ public class UIHelper {
 		}
 	}
 
-	private static String getDisplayedMucCounterpart(final Jid counterpart) {
+	public static String getDisplayedMucCounterpart(final Jid counterpart) {
 		if (counterpart==null) {
 			return "";
 		} else if (!counterpart.isBareJid()) {