diff options
author | Daniel Gultsch <daniel@gultsch.de> | 2015-09-01 22:37:52 +0200 |
---|---|---|
committer | Daniel Gultsch <daniel@gultsch.de> | 2015-09-01 22:37:52 +0200 |
commit | fc594e249a89d0bd333bca1a9958a53b7640e659 (patch) | |
tree | 45c762a6b2307f8fc9b76777b39226536a4267e5 /src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java | |
parent | 91b0605bc29cbba55abbb32293c4b632608a00bf (diff) |
added special error state for dns timeout
Diffstat (limited to '')
-rw-r--r-- | src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java b/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java index 64507bd6..a65f51fe 100644 --- a/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java +++ b/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java @@ -165,7 +165,7 @@ public class XmppConnection implements Runnable { } final ArrayList<Parcelable> values = result.getParcelableArrayList("values"); if ("timeout".equals(result.getString("error"))) { - throw new IOException("timeout in dns"); + throw new DnsTimeoutException(); } else if (values != null) { int i = 0; boolean socketError = true; @@ -234,6 +234,8 @@ public class XmppConnection implements Runnable { this.changeStatus(Account.State.UNAUTHORIZED); } catch (final UnknownHostException | ConnectException e) { this.changeStatus(Account.State.SERVER_NOT_FOUND); + } catch (final DnsTimeoutException e) { + this.changeStatus(Account.State.DNS_TIMEOUT); } catch (final IOException | XmlPullParserException | NoSuchAlgorithmException e) { Log.d(Config.LOGTAG, account.getJid().toBareJid().toString() + ": " + e.getMessage()); this.changeStatus(Account.State.OFFLINE); @@ -1163,6 +1165,10 @@ public class XmppConnection implements Runnable { } + private class DnsTimeoutException extends IOException { + + } + public class Features { XmppConnection connection; private boolean carbonsEnabled = false; |