It builds again!

This commit is contained in:
Sam Whited 2014-11-06 14:49:39 -05:00
parent 864f319500
commit 9db624ec7b
4 changed files with 14 additions and 19 deletions

View File

@ -88,10 +88,7 @@ public class Account extends AbstractEntity {
this.uuid = uuid; this.uuid = uuid;
this.jid = jid; this.jid = jid;
if (jid.getResourcepart().isEmpty()) { if (jid.getResourcepart().isEmpty()) {
try { this.setResource("mobile");
this.setResource("mobile");
} catch (final InvalidJidException ignored) {
}
} }
this.password = password; this.password = password;
this.options = options; this.options = options;
@ -164,9 +161,12 @@ public class Account extends AbstractEntity {
return getXmppConnection() != null && getStatus() > STATUS_NO_INTERNET && (getXmppConnection().getAttempt() >= 2); return getXmppConnection() != null && getStatus() > STATUS_NO_INTERNET && (getXmppConnection().getAttempt() >= 2);
} }
public void setResource(final String resource) throws InvalidJidException { public void setResource(final String resource){
jid = Jid.fromParts(jid.getLocalpart(), jid.getDomainpart(), resource); try {
} jid = Jid.fromParts(jid.getLocalpart(), jid.getDomainpart(), resource);
} catch (final InvalidJidException ignored) {
}
}
public String getResource() { public String getResource() {
return jid.getResourcepart(); return jid.getResourcepart();

View File

@ -535,11 +535,8 @@ public class XmppConnectionService extends Service {
public XmppConnection createConnection(Account account) { public XmppConnection createConnection(Account account) {
SharedPreferences sharedPref = getPreferences(); SharedPreferences sharedPref = getPreferences();
try { account.setResource(sharedPref.getString("resource", "mobile")
account.setResource(sharedPref.getString("resource", "mobile") .toLowerCase(Locale.getDefault()));
.toLowerCase(Locale.getDefault()));
} catch (final InvalidJidException ignored) {
}
XmppConnection connection = new XmppConnection(account, this); XmppConnection connection = new XmppConnection(account, this);
connection.setOnMessagePacketReceivedListener(this.mMessageParser); connection.setOnMessagePacketReceivedListener(this.mMessageParser);
connection.setOnStatusChangedListener(this.statusListener); connection.setOnStatusChangedListener(this.statusListener);

View File

@ -5,6 +5,8 @@ import java.util.Arrays;
import java.util.Locale; import java.util.Locale;
import eu.siacs.conversations.entities.Account; import eu.siacs.conversations.entities.Account;
import eu.siacs.conversations.xmpp.jid.InvalidJidException;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.content.SharedPreferences.OnSharedPreferenceChangeListener; import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
import android.os.Build; import android.os.Build;
@ -62,8 +64,8 @@ public class SettingsActivity extends XmppActivity implements
.toLowerCase(Locale.US); .toLowerCase(Locale.US);
if (xmppConnectionServiceBound) { if (xmppConnectionServiceBound) {
for (Account account : xmppConnectionService.getAccounts()) { for (Account account : xmppConnectionService.getAccounts()) {
account.setResource(resource); account.setResource(resource);
if (!account.isOptionSet(Account.OPTION_DISABLED)) { if (!account.isOptionSet(Account.OPTION_DISABLED)) {
xmppConnectionService.reconnectAccount(account, false); xmppConnectionService.reconnectAccount(account, false);
} }
} }

View File

@ -851,11 +851,7 @@ public class XmppConnection implements Runnable {
Element streamError = tagReader.readElement(currentTag); Element streamError = tagReader.readElement(currentTag);
if (streamError != null && streamError.hasChild("conflict")) { if (streamError != null && streamError.hasChild("conflict")) {
final String resource = account.getResource().split("\\.")[0]; final String resource = account.getResource().split("\\.")[0];
try { account.setResource(resource + "." + nextRandomId());
account.setResource(resource + "." + nextRandomId());
} catch (final InvalidJidException ignored) {
// Should never reach here.
}
Log.d(Config.LOGTAG, Log.d(Config.LOGTAG,
account.getJid() + ": switching resource due to conflict (" account.getJid() + ": switching resource due to conflict ("
+ account.getResource() + ")"); + account.getResource() + ")");