diff options
author | Christian Schneppe <christian@pix-art.de> | 2019-02-08 14:17:33 +0100 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2019-02-08 14:28:27 +0100 |
commit | 2e92fe8044127712ef790320c27783feaf9f1aa7 (patch) | |
tree | 98e69288e798f1a131e39522e3cd74078b8439e0 /src/main/java/de/pixart/messenger/ui | |
parent | ec08e6dd6200f3544a9681ab6463b0f90624cf01 (diff) | |
parent | 05476102032e921b76db1ad9805b238d0355e94a (diff) |
use ad-hoc commands for invite links if server supports this
Diffstat (limited to 'src/main/java/de/pixart/messenger/ui')
-rw-r--r-- | src/main/java/de/pixart/messenger/ui/EditAccountActivity.java | 5 | ||||
-rw-r--r-- | src/main/java/de/pixart/messenger/ui/XmppActivity.java | 12 |
2 files changed, 17 insertions, 0 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/EditAccountActivity.java b/src/main/java/de/pixart/messenger/ui/EditAccountActivity.java index 117a33315..bec621534 100644 --- a/src/main/java/de/pixart/messenger/ui/EditAccountActivity.java +++ b/src/main/java/de/pixart/messenger/ui/EditAccountActivity.java @@ -1114,6 +1114,11 @@ public class EditAccountActivity extends OmemoActivity implements OnAccountUpdat } else { this.binding.serverInfoSm.setText(R.string.server_info_unavailable); } + if (features.adhocinvite) { + this.binding.serverInfoAdhocInvite.setText(R.string.server_info_available); + } else { + this.binding.serverInfoAdhocInvite.setText(R.string.server_info_unavailable); + } if (features.pep()) { AxolotlService axolotlService = this.mAccount.getAxolotlService(); if (axolotlService != null && axolotlService.isPepBroken()) { diff --git a/src/main/java/de/pixart/messenger/ui/XmppActivity.java b/src/main/java/de/pixart/messenger/ui/XmppActivity.java index d269f11ac..b64b4ae71 100644 --- a/src/main/java/de/pixart/messenger/ui/XmppActivity.java +++ b/src/main/java/de/pixart/messenger/ui/XmppActivity.java @@ -90,6 +90,7 @@ import de.pixart.messenger.utils.MenuDoubleTabUtil; import de.pixart.messenger.utils.ThemeHelper; import de.pixart.messenger.xmpp.OnKeyStatusUpdated; import de.pixart.messenger.xmpp.OnUpdateBlocklist; +import de.pixart.messenger.xmpp.XmppConnection; import pl.droidsonroids.gif.GifDrawable; import rocks.xmpp.addr.Jid; @@ -964,6 +965,11 @@ public abstract class XmppActivity extends ActionBarActivity { String user = Jid.of(mAccount.getJid()).getLocal(); String domain = Jid.of(mAccount.getJid()).getDomain(); String inviteURL = Config.inviteUserURL + user + "/" + domain; + XmppConnection.Features features = mAccount.getXmppConnection().getFeatures(); + final boolean adhoclink = features.adhocinvite; + if (adhoclink) { + inviteURL = features.adhocinviteURI; + } String inviteText = getString(R.string.InviteText, user); Intent intent = new Intent(android.content.Intent.ACTION_SEND); intent.setType("text/plain"); @@ -991,9 +997,15 @@ public abstract class XmppActivity extends ActionBarActivity { builder.setPositiveButton(R.string.ok, (dialog, id) -> { String selection = spinner.getSelectedItem().toString(); + Account mAccount = xmppConnectionService.findAccountByJid(Jid.of(selection).asBareJid()); String user = Jid.of(selection).getLocal(); String domain = Jid.of(selection).getDomain(); String inviteURL = Config.inviteUserURL + user + "/" + domain; + XmppConnection.Features features = mAccount.getXmppConnection().getFeatures(); + final boolean adhoclink = features.adhocinvite; + if (adhoclink) { + inviteURL = features.adhocinviteURI; + } String inviteText = getString(R.string.InviteText, user); Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("text/plain"); |