diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsSynchronize.java b/app/src/main/java/eu/faircode/email/FragmentOptionsSynchronize.java index c38378a092..368e851cca 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsSynchronize.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsSynchronize.java @@ -132,9 +132,7 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr if (value != current) { adapterView.setTag(value); prefs.edit().putInt("poll_interval", value).apply(); - if (value == 0) - ServiceSynchronize.eval(getContext(), "poll_interval"); - WorkerPoll.init(getContext()); + ServiceSynchronize.reschedule(getContext()); } } @@ -142,8 +140,7 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr public void onNothingSelected(AdapterView adapterView) { adapterView.setTag(null); prefs.edit().remove("poll_interval").apply(); - ServiceSynchronize.eval(getContext(), "poll_interval"); - WorkerPoll.init(getContext()); + ServiceSynchronize.reschedule(getContext()); } }); diff --git a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java index 1855c37aa5..9937e1f474 100644 --- a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java +++ b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java @@ -1528,7 +1528,7 @@ public class ServiceSynchronize extends ServiceBase implements SharedPreferences AlarmManagerCompat.setAndAllowWhileIdle(am, AlarmManager.RTC_WAKEUP, next, pi); - WorkerPoll.init(context); + WorkerPoll.init(context, enabled); } private static long[] getSchedule(Context context) { diff --git a/app/src/main/java/eu/faircode/email/WorkerPoll.java b/app/src/main/java/eu/faircode/email/WorkerPoll.java index 3685ace48d..f6c9fbd115 100644 --- a/app/src/main/java/eu/faircode/email/WorkerPoll.java +++ b/app/src/main/java/eu/faircode/email/WorkerPoll.java @@ -50,10 +50,9 @@ public class WorkerPoll extends Worker { return Result.success(); } - static void init(Context context) { + static void init(Context context, boolean enabled) { try { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); - boolean enabled = prefs.getBoolean("enabled", true); int pollInterval = prefs.getInt("poll_interval", 0); if (enabled && pollInterval > 0) { Log.i("Queuing " + getName() + " every " + pollInterval + " minutes");