aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java
diff options
context:
space:
mode:
authorDaniel Gultsch <daniel@gultsch.de>2016-05-30 21:12:04 +0200
committerDaniel Gultsch <daniel@gultsch.de>2016-05-30 21:12:04 +0200
commit9321ccc775776abeba764371a3d3102b16ff18b8 (patch)
tree1e7a6ddeff99abae0c90c17048f3999e5a20f4a8 /src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java
parent8eb1640a265628e47e437d0ff75ceea5b83c4a38 (diff)
handle app links for conferences
Diffstat (limited to 'src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java')
-rw-r--r--src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java21
1 files changed, 15 insertions, 6 deletions
diff --git a/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java b/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java
index 548682df..17f9944f 100644
--- a/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java
+++ b/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java
@@ -846,7 +846,16 @@ public class StartConversationActivity extends XmppActivity implements OnRosterU
private boolean handleJid(Invite invite) {
List<Contact> contacts = xmppConnectionService.findContacts(invite.getJid());
- if (contacts.size() == 0) {
+ if (invite.isMuc()) {
+ Conversation muc = xmppConnectionService.findFirstMuc(invite.getJid());
+ if (muc != null) {
+ switchToConversation(muc);
+ return true;
+ } else {
+ showJoinConferenceDialog(invite.getJid().toBareJid().toString());
+ return false;
+ }
+ } else if (contacts.size() == 0) {
showCreateContactDialog(invite.getJid().toString(),invite.getFingerprint());
return false;
} else if (contacts.size() == 1) {
@@ -1020,13 +1029,13 @@ public class StartConversationActivity extends XmppActivity implements OnRosterU
boolean invite() {
if (jid != null) {
- if (muc) {
- showJoinConferenceDialog(jid);
- } else {
- return handleJid(this);
- }
+ return handleJid(this);
}
return false;
}
+
+ public boolean isMuc() {
+ return muc;
+ }
}
}