From 32909d157b7a9a65cbf3cdc124d53b668c1554ef Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 14 May 2023 09:04:26 +0200 Subject: [PATCH] Cancel notifications on ignore with group --- app/src/main/java/eu/faircode/email/ActivityView.java | 3 ++- app/src/main/java/eu/faircode/email/Core.java | 1 + app/src/main/java/eu/faircode/email/FragmentCompose.java | 1 + app/src/main/java/eu/faircode/email/ServiceUI.java | 6 ++++-- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/ActivityView.java b/app/src/main/java/eu/faircode/email/ActivityView.java index c3d76a3563..19d88d75b2 100644 --- a/app/src/main/java/eu/faircode/email/ActivityView.java +++ b/app/src/main/java/eu/faircode/email/ActivityView.java @@ -1980,8 +1980,9 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB } else if (action.startsWith("thread")) { long id = Long.parseLong(action.split(":", 2)[1]); boolean ignore = intent.getBooleanExtra("ignore", false); + long group = intent.getLongExtra("group", -1L); if (ignore) - ServiceUI.ignore(this, id); + ServiceUI.ignore(this, id, group); intent.putExtra("id", id); onViewThread(intent); diff --git a/app/src/main/java/eu/faircode/email/Core.java b/app/src/main/java/eu/faircode/email/Core.java index 4e778765f8..72c36f1106 100644 --- a/app/src/main/java/eu/faircode/email/Core.java +++ b/app/src/main/java/eu/faircode/email/Core.java @@ -5668,6 +5668,7 @@ class Core { // Build pending intents Intent thread = new Intent(context, ActivityView.class); thread.setAction("thread:" + message.id); + thread.putExtra("group", group); thread.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); thread.putExtra("account", message.account); thread.putExtra("folder", message.folder); diff --git a/app/src/main/java/eu/faircode/email/FragmentCompose.java b/app/src/main/java/eu/faircode/email/FragmentCompose.java index 674feb9a42..7de4140302 100644 --- a/app/src/main/java/eu/faircode/email/FragmentCompose.java +++ b/app/src/main/java/eu/faircode/email/FragmentCompose.java @@ -6220,6 +6220,7 @@ public class FragmentCompose extends FragmentBase { Intent thread = new Intent(v.getContext(), ActivityView.class); thread.setAction("thread:" + message.id); + // No group thread.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); thread.putExtra("account", message.account); thread.putExtra("folder", message.folder); diff --git a/app/src/main/java/eu/faircode/email/ServiceUI.java b/app/src/main/java/eu/faircode/email/ServiceUI.java index 77c9a6a8e7..cd628a233c 100644 --- a/app/src/main/java/eu/faircode/email/ServiceUI.java +++ b/app/src/main/java/eu/faircode/email/ServiceUI.java @@ -157,6 +157,7 @@ public class ServiceUI extends IntentService { break; case "ignore": + cancel(group, id); onIgnore(id); break; @@ -520,10 +521,11 @@ public class ServiceUI extends IntentService { } } - static void ignore(Context context, long id) { + static void ignore(Context context, long id, long group) { try { Intent ignore = new Intent(context, ServiceUI.class) - .setAction("ignore:" + id); + .setAction("ignore:" + id) + .putExtra("group", group); context.startService(ignore); } catch (Throwable ex) { Log.e(ex);