From e0ca27a9cc1279be95d4d87f90fda3c43eb7fb19 Mon Sep 17 00:00:00 2001 From: M66B Date: Wed, 17 Apr 2019 10:23:51 +0200 Subject: [PATCH] Allow disabling email address specific notification channels --- app/src/main/java/eu/faircode/email/Core.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/Core.java b/app/src/main/java/eu/faircode/email/Core.java index ffdd9a2249..2dec998b8b 100644 --- a/app/src/main/java/eu/faircode/email/Core.java +++ b/app/src/main/java/eu/faircode/email/Core.java @@ -1535,8 +1535,16 @@ class Core { // Current for (TupleMessageEx message : messages) { - String group = Long.toString(message.accountNotify ? message.account : 0); + // Check if notification channel enabled + if (Build.VERSION.SDK_INT > Build.VERSION_CODES.O && + message.from != null && message.from.length > 0) { + InternetAddress from = (InternetAddress) message.from[0]; + NotificationChannel channel = nm.getNotificationChannel("notification." + from.getAddress().toLowerCase()); + if (channel != null && channel.getImportance() == NotificationManager.IMPORTANCE_NONE) + continue; + } + String group = Long.toString(message.accountNotify ? message.account : 0); if (!groupMessages.containsKey(group)) { groupMessages.put(group, new ArrayList()); if (!groupNotifying.containsKey(group)) @@ -1735,7 +1743,7 @@ class Core { message.from != null && message.from.length > 0) { InternetAddress from = (InternetAddress) message.from[0]; NotificationChannel channel = nm.getNotificationChannel("notification." + from.getAddress().toLowerCase()); - if (channel != null && channel.getImportance() != NotificationManager.IMPORTANCE_NONE) + if (channel != null) channelName = channel.getId(); } if (channelName == null)