From 75ee14cfdf8a4ac975a7363f85dd02c82af870b1 Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Sat, 10 Dec 2016 13:20:05 +0100 Subject: [PATCH] don't reconnect accout when system reports no internet connection --- .../conversations/services/XmppConnectionService.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java b/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java index 9dca00b08..38c1214ac 100644 --- a/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java +++ b/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java @@ -2898,7 +2898,8 @@ public class XmppConnectionService extends Service { connection = createConnection(account); account.setXmppConnection(connection); } - if (!account.isOptionSet(Account.OPTION_DISABLED)) { + boolean hasInternet = hasInternetConnection(); + if (!account.isOptionSet(Account.OPTION_DISABLED) && hasInternet) { if (!force) { disconnect(account, false); } @@ -2909,10 +2910,13 @@ public class XmppConnectionService extends Service { thread.start(); scheduleWakeUpCall(Config.CONNECT_DISCO_TIMEOUT, account.getUuid().hashCode()); } else { - disconnect(account, force || account.getTrueStatus().isError()); + disconnect(account, force || account.getTrueStatus().isError() || !hasInternet); account.getRoster().clearPresences(); connection.resetEverything(); account.getAxolotlService().resetBrokenness(); + if (!hasInternet) { + account.setStatus(Account.State.NO_INTERNET); + } } } }