diff --git a/app/src/main/java/eu/faircode/email/FragmentOptions.java b/app/src/main/java/eu/faircode/email/FragmentOptions.java index 895a0de1..308b8975 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptions.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptions.java @@ -61,7 +61,7 @@ public class FragmentOptions extends FragmentEx { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { prefs.edit().putBoolean("enabled", checked).apply(); - ServiceSynchronize.reload(getContext(), "enabled"); + ServiceSynchronize.start(getContext()); } }); diff --git a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java index 936d01a4..5de35932 100644 --- a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java +++ b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java @@ -179,6 +179,13 @@ public class ServiceSynchronize extends LifecycleService { Log.i(Helper.TAG, "Service command intent=" + intent); super.onStartCommand(intent, flags, startId); + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); + if (!prefs.getBoolean("enabled", true)) { + Log.i(Helper.TAG, "Not enabled, halt"); + stopSelf(); + return START_STICKY; + } + startForeground(NOTIFICATION_SYNCHRONIZE, getNotificationService(0, 0, 0).build()); DB db = DB.getInstance(this); @@ -1937,13 +1944,6 @@ public class ServiceSynchronize extends LifecycleService { private void start() { EntityLog.log(ServiceSynchronize.this, "Main start"); - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ServiceSynchronize.this); - if (!prefs.getBoolean("enabled", true)) { - EntityLog.log(ServiceSynchronize.this, "Not enabled, halt"); - stopSelf(); - return; - } - state = new ServiceState(); state.thread = new Thread(new Runnable() { private List threadState = new ArrayList<>();