From e31ff84a67f6ec9a2c2d435cf6b6c4f6ef39fa79 Mon Sep 17 00:00:00 2001 From: M66B Date: Sat, 26 Mar 2022 16:10:42 +0100 Subject: [PATCH] Workaround pending intent problem Xiaomi / Android 11 --- .../main/java/eu/faircode/email/ServiceSynchronize.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java index f211c9c3f6..74789c17b9 100644 --- a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java +++ b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java @@ -2979,8 +2979,12 @@ public class ServiceSynchronize extends ServiceBase implements SharedPreferences PendingIntent pi; if (isBackgroundService(context)) pi = PendingIntentCompat.getService(context, PI_WATCHDOG, intent, PendingIntent.FLAG_UPDATE_CURRENT); - else - pi = PendingIntentCompat.getForegroundService(context, PI_WATCHDOG, intent, PendingIntent.FLAG_UPDATE_CURRENT); + else { + // Workaround for Xiaomi Android 11 + pi = PendingIntentCompat.getForegroundService(context, PI_WATCHDOG, intent, PendingIntent.FLAG_NO_CREATE); + if (pi == null) + pi = PendingIntentCompat.getForegroundService(context, PI_WATCHDOG, intent, PendingIntent.FLAG_UPDATE_CURRENT); + } AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); am.cancel(pi);