From 2483f4f50b92e87c6164d851bbcea764777edfed Mon Sep 17 00:00:00 2001 From: Stephen Paul Weber Date: Wed, 8 Feb 2023 19:22:21 -0500 Subject: [PATCH] Allow plus unescaped It is not special in XMPP URIs --- src/main/java/eu/siacs/conversations/entities/Account.java | 2 +- .../eu/siacs/conversations/ui/ConferenceDetailsActivity.java | 2 +- .../java/eu/siacs/conversations/ui/ContactDetailsActivity.java | 2 +- .../eu/siacs/conversations/ui/StartConversationActivity.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/eu/siacs/conversations/entities/Account.java b/src/main/java/eu/siacs/conversations/entities/Account.java index 6b95e0e8a..e846f577f 100644 --- a/src/main/java/eu/siacs/conversations/entities/Account.java +++ b/src/main/java/eu/siacs/conversations/entities/Account.java @@ -691,7 +691,7 @@ public class Account extends AbstractEntity implements AvatarService.Avatarable public String getShareableUri() { List fingerprints = this.getFingerprints(); - String uri = "xmpp:" + Uri.encode(getJid().asBareJid().toEscapedString(), "@/"); + String uri = "xmpp:" + Uri.encode(getJid().asBareJid().toEscapedString(), "@/+"); if (fingerprints.size() > 0) { return XmppUri.getFingerprintUri(uri, fingerprints, ';'); } else { diff --git a/src/main/java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java b/src/main/java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java index e64cf7b14..abec18616 100644 --- a/src/main/java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java @@ -388,7 +388,7 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers if (http) { return "https://conversations.im/j/" + XmppUri.lameUrlEncode(mConversation.getJid().asBareJid().toEscapedString()); } else { - return "xmpp:" + Uri.encode(mConversation.getJid().asBareJid().toEscapedString(), "@/") + "?join"; + return "xmpp:" + Uri.encode(mConversation.getJid().asBareJid().toEscapedString(), "@/+") + "?join"; } } else { return null; diff --git a/src/main/java/eu/siacs/conversations/ui/ContactDetailsActivity.java b/src/main/java/eu/siacs/conversations/ui/ContactDetailsActivity.java index ba0e4a179..9a04d6138 100644 --- a/src/main/java/eu/siacs/conversations/ui/ContactDetailsActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/ContactDetailsActivity.java @@ -203,7 +203,7 @@ public class ContactDetailsActivity extends OmemoActivity implements OnAccountUp if (http) { return "https://conversations.im/i/" + XmppUri.lameUrlEncode(contact.getJid().asBareJid().toEscapedString()); } else { - return "xmpp:" + Uri.encode(contact.getJid().asBareJid().toEscapedString(), "@/"); + return "xmpp:" + Uri.encode(contact.getJid().asBareJid().toEscapedString(), "@/+"); } } diff --git a/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java b/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java index 7e33f600e..1f6305760 100644 --- a/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java @@ -454,7 +454,7 @@ public class StartConversationActivity extends XmppActivity implements XmppConne public static void shareAsChannel(final Context context, final String address) { Intent shareIntent = new Intent(); shareIntent.setAction(Intent.ACTION_SEND); - shareIntent.putExtra(Intent.EXTRA_TEXT, "xmpp:" + Uri.encode(address, "@/") + "?join"); + shareIntent.putExtra(Intent.EXTRA_TEXT, "xmpp:" + Uri.encode(address, "@/+") + "?join"); shareIntent.setType("text/plain"); try { context.startActivity(Intent.createChooser(shareIntent, context.getText(R.string.share_uri_with))); -- 2.38.5