From 41158829494ef68a1cad6fcfc43d52e9f960a27a Mon Sep 17 00:00:00 2001 From: M66B Date: Fri, 9 Nov 2018 08:54:24 +0000 Subject: [PATCH] Cleanup back-off alarm --- .../eu/faircode/email/ServiceSynchronize.java | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java index 6e6c487218..51271505b3 100644 --- a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java +++ b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java @@ -1220,16 +1220,22 @@ public class ServiceSynchronize extends LifecycleService { registerReceiver(alarm, new IntentFilter(id)); AlarmManager am = getSystemService(AlarmManager.class); - am.setAndAllowWhileIdle( - AlarmManager.RTC_WAKEUP, - System.currentTimeMillis() + CONNECT_BACKOFF_AlARM * 60 * 1000L, - pi); - try { - wl0.release(); - Thread.sleep(2 * CONNECT_BACKOFF_AlARM * 60 * 1000L); + am.setAndAllowWhileIdle( + AlarmManager.RTC_WAKEUP, + System.currentTimeMillis() + CONNECT_BACKOFF_AlARM * 60 * 1000L, + pi); + + try { + wl0.release(); + Thread.sleep(2 * CONNECT_BACKOFF_AlARM * 60 * 1000L); + } finally { + wl0.acquire(); + } } finally { - wl0.acquire(); + // Cleanup + am.cancel(pi); + unregisterReceiver(alarm); } }