From 94340307c41d4d3a478b51305115926f90f71d67 Mon Sep 17 00:00:00 2001 From: M66B Date: Tue, 27 Oct 2020 21:41:22 +0100 Subject: [PATCH] Logout on previous network --- .../java/eu/faircode/email/ServiceSynchronize.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java index 613ec2a64c..6eb2b40421 100644 --- a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java +++ b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java @@ -2004,8 +2004,18 @@ public class ServiceSynchronize extends ServiceBase implements SharedPreferences } if (!Objects.equals(lastActive, active)) { - if (lastActive != null) - lastLost = new Date().getTime(); + if (lastActive != null) { + boolean connected = false; + try { + ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); + NetworkInfo ni = (cm == null ? null : cm.getNetworkInfo(lastActive)); + connected = (ni != null && ni.isConnected()); + } catch (Throwable ex) { + Log.e(ex); + } + if (!connected) + lastLost = new Date().getTime(); + } lastActive = active; EntityLog.log(ServiceSynchronize.this, "New active network=" + active);