From 9d3eb2d270179d52ee3a8adbb235609a3f9a8fcb Mon Sep 17 00:00:00 2001 From: M66B Date: Fri, 10 Jan 2020 12:12:14 +0100 Subject: [PATCH] Fixed polling without schedule --- .../email/FragmentOptionsSynchronize.java | 3 +-- .../eu/faircode/email/ServiceSynchronize.java | 24 ++++++++++--------- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsSynchronize.java b/app/src/main/java/eu/faircode/email/FragmentOptionsSynchronize.java index 769f63eea7..a15f643f36 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsSynchronize.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsSynchronize.java @@ -148,8 +148,7 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr @Override public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { prefs.edit().putBoolean("schedule", checked).apply(); - if (checked) - ServiceSynchronize.reschedule(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 77e2df6fc0..be8fae082c 100644 --- a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java +++ b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java @@ -1548,21 +1548,23 @@ public class ServiceSynchronize extends ServiceBase implements SharedPreferences AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); am.cancel(pi); + boolean enabled; long[] schedule = getSchedule(context); if (schedule == null) - return; + enabled = true; + else { + long now = new Date().getTime(); + long next = (now < schedule[0] ? schedule[0] : schedule[1]); + enabled = (now >= schedule[0] && now < schedule[1]); - long now = new Date().getTime(); - long next = (now < schedule[0] ? schedule[0] : schedule[1]); - boolean enabled = (now >= schedule[0] && now < schedule[1]); + Log.i("Schedule now=" + new Date(now)); + Log.i("Schedule start=" + new Date(schedule[0])); + Log.i("Schedule end=" + new Date(schedule[1])); + Log.i("Schedule next=" + new Date(next)); + Log.i("Schedule enabled=" + enabled); - Log.i("Schedule now=" + new Date(now)); - Log.i("Schedule start=" + new Date(schedule[0])); - Log.i("Schedule end=" + new Date(schedule[1])); - Log.i("Schedule next=" + new Date(next)); - Log.i("Schedule enabled=" + enabled); - - AlarmManagerCompat.setAndAllowWhileIdle(am, AlarmManager.RTC_WAKEUP, next, pi); + AlarmManagerCompat.setAndAllowWhileIdle(am, AlarmManager.RTC_WAKEUP, next, pi); + } WorkerPoll.init(context, enabled); }