diff --git a/app/src/main/java/eu/faircode/email/Core.java b/app/src/main/java/eu/faircode/email/Core.java
index 3e5d7072be..44451625b3 100644
--- a/app/src/main/java/eu/faircode/email/Core.java
+++ b/app/src/main/java/eu/faircode/email/Core.java
@@ -1937,13 +1937,14 @@ class Core {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
boolean badge = prefs.getBoolean("badge", true);
+ boolean unseen_ignored = prefs.getBoolean("unseen_ignored", false);
boolean pro = ActivityBilling.isPro(context);
// Current
int unseen = 0;
Map> groupMessages = new HashMap<>();
for (TupleMessageEx message : messages) {
- if (!message.ui_seen && message.ui_hide == 0)
+ if (!message.ui_seen && (!unseen_ignored || !message.ui_ignored) && message.ui_hide == 0)
unseen++;
// Check if notification channel enabled
diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsNotifications.java b/app/src/main/java/eu/faircode/email/FragmentOptionsNotifications.java
index 4260c192f8..e29e7644ca 100644
--- a/app/src/main/java/eu/faircode/email/FragmentOptionsNotifications.java
+++ b/app/src/main/java/eu/faircode/email/FragmentOptionsNotifications.java
@@ -51,6 +51,7 @@ import static android.app.Activity.RESULT_OK;
public class FragmentOptionsNotifications extends FragmentBase implements SharedPreferences.OnSharedPreferenceChangeListener {
private SwitchCompat swBadge;
+ private SwitchCompat swUnseenIgnored;
private SwitchCompat swNotifyPreview;
private CheckBox cbNotifyActionTrash;
private CheckBox cbNotifyActionArchive;
@@ -67,7 +68,9 @@ public class FragmentOptionsNotifications extends FragmentBase implements Shared
private Group grpNotification;
private final static String[] RESET_OPTIONS = new String[]{
- "badge", "notify_preview", "notify_trash", "notify_archive", "notify_reply", "notify_flag", "notify_seen", "light", "sound"
+ "badge", "unseen_ignored",
+ "notify_preview", "notify_trash", "notify_archive", "notify_reply", "notify_flag", "notify_seen",
+ "light", "sound"
};
@Override
@@ -81,6 +84,7 @@ public class FragmentOptionsNotifications extends FragmentBase implements Shared
// Get controls
swBadge = view.findViewById(R.id.swBadge);
+ swUnseenIgnored = view.findViewById(R.id.swUnseenIgnored);
swNotifyPreview = view.findViewById(R.id.swNotifyPreview);
cbNotifyActionTrash = view.findViewById(R.id.cbNotifyActionTrash);
cbNotifyActionArchive = view.findViewById(R.id.cbNotifyActionArchive);
@@ -111,6 +115,14 @@ public class FragmentOptionsNotifications extends FragmentBase implements Shared
}
});
+ swUnseenIgnored.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
+ prefs.edit().putBoolean("unseen_ignored", checked).apply();
+ ServiceSynchronize.reload(getContext(), "unseen_ignored");
+ }
+ });
+
swNotifyPreview.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
@@ -246,6 +258,7 @@ public class FragmentOptionsNotifications extends FragmentBase implements Shared
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
swBadge.setChecked(prefs.getBoolean("badge", true));
+ swUnseenIgnored.setChecked(prefs.getBoolean("unseen_ignored", false));
swNotifyPreview.setChecked(prefs.getBoolean("notify_preview", true));
cbNotifyActionTrash.setChecked(prefs.getBoolean("notify_trash", true) || !pro);
diff --git a/app/src/main/res/layout/fragment_options_notifications.xml b/app/src/main/res/layout/fragment_options_notifications.xml
index cef970f037..3d376f6e2e 100644
--- a/app/src/main/res/layout/fragment_options_notifications.xml
+++ b/app/src/main/res/layout/fragment_options_notifications.xml
@@ -42,6 +42,17 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/swBadge" />
+
+
Automatically recognize and disable tracking images
Show launcher icon with number of new messages
+ Let the number of new messages match the number of notifications
Show message preview in notifications
Notification actions
Trash