aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/ui
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2019-02-08 14:17:33 +0100
committerChristian Schneppe <christian@pix-art.de>2019-02-08 14:28:27 +0100
commit2e92fe8044127712ef790320c27783feaf9f1aa7 (patch)
tree98e69288e798f1a131e39522e3cd74078b8439e0 /src/main/java/de/pixart/messenger/ui
parentec08e6dd6200f3544a9681ab6463b0f90624cf01 (diff)
parent05476102032e921b76db1ad9805b238d0355e94a (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.java5
-rw-r--r--src/main/java/de/pixart/messenger/ui/XmppActivity.java12
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");