mirror of
https://github.com/M66B/FairEmail.git
synced 2026-03-31 14:17:03 +02:00
Check for suitable internet connection
This commit is contained in:
@@ -887,7 +887,7 @@ public class ServiceSynchronize extends LifecycleService {
|
||||
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
|
||||
EntityLog.log(ServiceSynchronize.this, "Available " + network + " " + cm.getNetworkInfo(network));
|
||||
|
||||
if (!started && suitableNetwork())
|
||||
if (!started && Helper.suitableNetwork(ServiceSynchronize.this, true))
|
||||
queue_reload(true, "connect " + network);
|
||||
} catch (Throwable ex) {
|
||||
Log.e(ex);
|
||||
@@ -901,7 +901,7 @@ public class ServiceSynchronize extends LifecycleService {
|
||||
try {
|
||||
if (!started) {
|
||||
EntityLog.log(ServiceSynchronize.this, "Network " + network + " capabilities " + capabilities);
|
||||
if (suitableNetwork())
|
||||
if (Helper.suitableNetwork(ServiceSynchronize.this, true))
|
||||
queue_reload(true, "capabilities " + network);
|
||||
}
|
||||
} catch (Throwable ex) {
|
||||
@@ -916,7 +916,7 @@ public class ServiceSynchronize extends LifecycleService {
|
||||
try {
|
||||
EntityLog.log(ServiceSynchronize.this, "Lost " + network);
|
||||
|
||||
if (started && !suitableNetwork()) {
|
||||
if (started && !Helper.suitableNetwork(ServiceSynchronize.this, true)) {
|
||||
lastLost = new Date().getTime();
|
||||
queue_reload(false, "disconnect " + network);
|
||||
}
|
||||
@@ -926,20 +926,6 @@ public class ServiceSynchronize extends LifecycleService {
|
||||
}
|
||||
}
|
||||
|
||||
private boolean suitableNetwork() {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ServiceSynchronize.this);
|
||||
boolean metered = prefs.getBoolean("metered", true);
|
||||
|
||||
Boolean isMetered = Helper.isMetered(ServiceSynchronize.this, true);
|
||||
|
||||
boolean suitable = (isMetered != null && (metered || !isMetered));
|
||||
EntityLog.log(ServiceSynchronize.this,
|
||||
"suitable=" + suitable + " metered=" + metered + " isMetered=" + isMetered);
|
||||
|
||||
// The connected state is deliberately ignored
|
||||
return suitable;
|
||||
}
|
||||
|
||||
private boolean isEnabled() {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ServiceSynchronize.this);
|
||||
boolean enabled = prefs.getBoolean("enabled", true);
|
||||
@@ -1100,7 +1086,7 @@ public class ServiceSynchronize extends LifecycleService {
|
||||
|
||||
private void queue_reload(final boolean start, final String reason) {
|
||||
final boolean doStop = started;
|
||||
final boolean doStart = (start && isEnabled() && suitableNetwork());
|
||||
final boolean doStart = (start && isEnabled() && Helper.suitableNetwork(ServiceSynchronize.this, true));
|
||||
|
||||
EntityLog.log(ServiceSynchronize.this, "Queue reload" +
|
||||
" doStop=" + doStop + " doStart=" + doStart + " queued=" + queued + " " + reason);
|
||||
|
||||
Reference in New Issue
Block a user