Get XMPP URI names from bookmarks as well

Stephen Paul Weber created

Change summary

src/main/java/eu/siacs/conversations/ui/util/MyLinkify.java | 8 ++++--
1 file changed, 5 insertions(+), 3 deletions(-)

Detailed changes

src/main/java/eu/siacs/conversations/ui/util/MyLinkify.java 🔗

@@ -38,7 +38,7 @@ import android.text.util.Linkify;
 import java.util.Locale;
 
 import eu.siacs.conversations.entities.Account;
-import eu.siacs.conversations.entities.Contact;
+import eu.siacs.conversations.entities.ListItem;
 import eu.siacs.conversations.entities.Roster;
 import eu.siacs.conversations.ui.text.FixedURLSpan;
 import eu.siacs.conversations.utils.GeoHelper;
@@ -132,11 +132,13 @@ public class MyLinkify {
             Uri uri = Uri.parse(urlspan.getURL());
             if ("xmpp".equals(uri.getScheme())) {
                 try {
-                    Contact contact = roster.getContact(Jid.of(uri.getSchemeSpecificPart()));
+                    Jid jid = new XmppUri(uri).getJid();
+                    ListItem item = account.getBookmark(jid);
+                    if (item == null) item = roster.getContact(jid);
                     body.replace(
                         body.getSpanStart(urlspan),
                         body.getSpanEnd(urlspan),
-                        contact.getDisplayName()
+                        item.getDisplayName()
                     );
                 } catch (final IllegalArgumentException e) { /* bad JID */ }
             }