added error message for #240

This commit is contained in:
iNPUTmice 2014-06-30 10:36:21 +02:00
parent f7f730e804
commit 53533ca74e
2 changed files with 20 additions and 3 deletions

View File

@ -249,4 +249,5 @@
<string name="openpgp_messages_found">OpenPGP encrypted messages found</string> <string name="openpgp_messages_found">OpenPGP encrypted messages found</string>
<string name="openpgp_click_to_decrypt">Click here to enter passphrase and decrypt messages</string> <string name="openpgp_click_to_decrypt">Click here to enter passphrase and decrypt messages</string>
<string name="reception_failed">Reception failed</string> <string name="reception_failed">Reception failed</string>
<string name="no_muc_server_found">No suitable Conference Server found</string>
</resources> </resources>

View File

@ -240,6 +240,15 @@ public class ContactsActivity extends XmppActivity {
String mucName = CryptoHelper.randomMucName(xmppConnectionService.getRNG()); String mucName = CryptoHelper.randomMucName(xmppConnectionService.getRNG());
String serverName = account.getXmppConnection() String serverName = account.getXmppConnection()
.getMucServer(); .getMucServer();
if (serverName==null) {
List<String> servers = getMucServers();
if (servers.size() >= 1) {
serverName = servers.get(0);
} else {
displayErrorDialog(R.string.no_muc_server_found);
return;
}
}
String jid = mucName + "@" + serverName; String jid = mucName + "@" + serverName;
Conversation conversation = xmppConnectionService Conversation conversation = xmppConnectionService
.findOrCreateConversation(account, jid, true); .findOrCreateConversation(account, jid, true);
@ -462,15 +471,22 @@ public class ContactsActivity extends XmppActivity {
} }
} }
private boolean isMuc(Contact contact) { private List<String> getMucServers() {
ArrayList<String> mucServers = new ArrayList<String>(); ArrayList<String> mucServers = new ArrayList<String>();
for(Account account : accounts) { for(Account account : accounts) {
if (account.getXmppConnection()!=null) { if (account.getXmppConnection()!=null) {
mucServers.add(account.getXmppConnection().getMucServer()); String server = account.getXmppConnection().getMucServer();
if (server!=null) {
mucServers.add(server);
}
} }
} }
return mucServers;
}
private boolean isMuc(Contact contact) {
String server = contact.getJid().split("@")[1]; String server = contact.getJid().split("@")[1];
return mucServers.contains(server); return getMucServers().contains(server);
} }
public void startConversation(Contact contact, Account account, boolean muc) { public void startConversation(Contact contact, Account account, boolean muc) {