diff --git a/app/src/main/java/eu/faircode/email/ActivityMain.java b/app/src/main/java/eu/faircode/email/ActivityMain.java index d271492fb2..f384e48f0a 100644 --- a/app/src/main/java/eu/faircode/email/ActivityMain.java +++ b/app/src/main/java/eu/faircode/email/ActivityMain.java @@ -81,9 +81,11 @@ public class ActivityMain extends ActivityBase implements FragmentManager.OnBack @Override protected void onExecuted(Bundle args, Boolean hasAccounts) { - if (hasAccounts) + if (hasAccounts) { startActivity(new Intent(ActivityMain.this, ActivityView.class)); - else + ServiceSynchronize.watchdog(ActivityMain.this); + ServiceSend.watchdog(ActivityMain.this); + } else startActivity(new Intent(ActivityMain.this, ActivitySetup.class)); finish(); } diff --git a/app/src/main/java/eu/faircode/email/ServiceSend.java b/app/src/main/java/eu/faircode/email/ServiceSend.java index 47de71d670..27498a7890 100644 --- a/app/src/main/java/eu/faircode/email/ServiceSend.java +++ b/app/src/main/java/eu/faircode/email/ServiceSend.java @@ -455,4 +455,8 @@ public class ServiceSend extends ServiceBase { ContextCompat.startForegroundService(context, new Intent(context, ServiceSend.class)); } + + static void watchdog(Context context) { + boot(context); + } } diff --git a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java index 46e1ee6a3f..1dfa3e64b5 100644 --- a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java +++ b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java @@ -261,10 +261,6 @@ public class ServiceSynchronize extends ServiceBase { if (action != null) try { switch (action) { - case "init": - onInit(); - break; - case "alarm": onAlarm(); break; @@ -333,11 +329,6 @@ public class ServiceSynchronize extends ServiceBase { return builder; } - private void onInit() { - EntityLog.log(this, "Service init"); - // Network events will manage the service - } - private void onAlarm() { schedule(this); onReload(true, "alarm"); @@ -1437,14 +1428,9 @@ public class ServiceSynchronize extends ServiceBase { schedule(context); // Conditionally init service - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); - boolean enabled = prefs.getBoolean("enabled", true); - int pollInterval = prefs.getInt("poll_interval", 0); int accounts = db.account().getSynchronizingAccounts().size(); - if (enabled && pollInterval == 0 && accounts > 0) - ContextCompat.startForegroundService(context, - new Intent(context, ServiceSynchronize.class) - .setAction("init")); + if (accounts > 0) + watchdog(context); else { for (EntityAccount account : db.account().getAccounts()) db.account().setAccountState(account.id, null); diff --git a/app/src/main/java/eu/faircode/email/WorkerWatchdog.java b/app/src/main/java/eu/faircode/email/WorkerWatchdog.java index 78220b3a80..124b09d185 100644 --- a/app/src/main/java/eu/faircode/email/WorkerWatchdog.java +++ b/app/src/main/java/eu/faircode/email/WorkerWatchdog.java @@ -45,6 +45,7 @@ public class WorkerWatchdog extends Worker { public Result doWork() { Log.i("Running " + getName()); ServiceSynchronize.watchdog(getApplicationContext()); + ServiceSend.watchdog(getApplicationContext()); return Result.success(); }