diff options
author | Christian Schneppe <christian@pix-art.de> | 2016-05-31 21:38:06 +0200 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2016-05-31 21:38:06 +0200 |
commit | c23642b8cd2c06c5f3e9cf7f88d31ed5c6f78614 (patch) | |
tree | a7c53e5dd6dd6e85213cff834d35316a29617753 /src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java | |
parent | 2cdc31a6887f242dfe4faca91af63ffd4e74ef67 (diff) | |
parent | ea6a008b39b0f669f66f3c8aec08b4deb3ece154 (diff) |
Merge remote-tracking branch 'refs/remotes/siacs/master'
Diffstat (limited to 'src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java')
-rw-r--r-- | src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java | 21 |
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 548682dfb..17f9944fd 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; + } } } |