diff --git a/app/src/main/java/eu/faircode/email/Core.java b/app/src/main/java/eu/faircode/email/Core.java
index 9ec68b2a83..579075ee3b 100644
--- a/app/src/main/java/eu/faircode/email/Core.java
+++ b/app/src/main/java/eu/faircode/email/Core.java
@@ -1838,7 +1838,6 @@ class Core {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
boolean flags = prefs.getBoolean("flags", true);
- boolean notify_group = (prefs.getBoolean("notify_group", true) && canGroup);
boolean notify_preview = prefs.getBoolean("notify_preview", true);
boolean notify_trash = prefs.getBoolean("notify_trash", true);
boolean notify_archive = prefs.getBoolean("notify_archive", true);
@@ -1851,60 +1850,58 @@ class Core {
for (TupleMessageEx message : messages)
messageContact.put(message, ContactInfo.get(context, message.from, false));
- if (notify_group) {
- // Build pending intents
- Intent summary = new Intent(context, ActivityView.class).setAction("unified");
- PendingIntent piSummary = PendingIntent.getActivity(context, ActivityView.REQUEST_UNIFIED, summary, PendingIntent.FLAG_UPDATE_CURRENT);
+ // Build pending intents
+ Intent summary = new Intent(context, ActivityView.class).setAction("unified");
+ PendingIntent piSummary = PendingIntent.getActivity(context, ActivityView.REQUEST_UNIFIED, summary, PendingIntent.FLAG_UPDATE_CURRENT);
- Intent clear = new Intent(context, ServiceUI.class).setAction("clear");
- PendingIntent piClear = PendingIntent.getService(context, ServiceUI.PI_CLEAR, clear, PendingIntent.FLAG_UPDATE_CURRENT);
+ Intent clear = new Intent(context, ServiceUI.class).setAction("clear");
+ PendingIntent piClear = PendingIntent.getService(context, ServiceUI.PI_CLEAR, clear, PendingIntent.FLAG_UPDATE_CURRENT);
- // Build title
- String title = context.getResources().getQuantityString(
- R.plurals.title_notification_unseen, messages.size(), messages.size());
+ // Build title
+ String title = context.getResources().getQuantityString(
+ R.plurals.title_notification_unseen, messages.size(), messages.size());
- // Build notification
- NotificationCompat.Builder builder =
- new NotificationCompat.Builder(context, "notification")
- .setSmallIcon(R.drawable.baseline_email_white_24)
- .setContentTitle(title)
- .setContentIntent(piSummary)
- .setNumber(messages.size())
- .setShowWhen(false)
- .setDeleteIntent(piClear)
- .setPriority(NotificationCompat.PRIORITY_DEFAULT)
- .setCategory(NotificationCompat.CATEGORY_STATUS)
- .setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
- .setGroup(group)
- .setGroupSummary(true);
-
- Notification pub = builder.build();
- builder
- .setVisibility(NotificationCompat.VISIBILITY_PRIVATE)
- .setPublicVersion(pub);
-
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
- setNotificationSoundAndLight(context, builder);
- builder.setOnlyAlertOnce(true);
- } else
- builder.setGroupAlertBehavior(NotificationCompat.GROUP_ALERT_CHILDREN);
-
- DateFormat df = SimpleDateFormat.getDateTimeInstance(SimpleDateFormat.SHORT, SimpleDateFormat.SHORT);
- StringBuilder sb = new StringBuilder();
- for (EntityMessage message : messages) {
- sb.append("").append(messageContact.get(message).getDisplayName(true)).append("");
- if (!TextUtils.isEmpty(message.subject))
- sb.append(": ").append(message.subject);
- sb.append(" ").append(df.format(message.received));
- sb.append("
");
- }
+ // Build notification
+ NotificationCompat.Builder builder =
+ new NotificationCompat.Builder(context, "notification")
+ .setSmallIcon(R.drawable.baseline_email_white_24)
+ .setContentTitle(title)
+ .setContentIntent(piSummary)
+ .setNumber(messages.size())
+ .setShowWhen(false)
+ .setDeleteIntent(piClear)
+ .setPriority(NotificationCompat.PRIORITY_DEFAULT)
+ .setCategory(NotificationCompat.CATEGORY_STATUS)
+ .setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
+ .setGroup(group)
+ .setGroupSummary(true);
+
+ Notification pub = builder.build();
+ builder
+ .setVisibility(NotificationCompat.VISIBILITY_PRIVATE)
+ .setPublicVersion(pub);
+
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
+ setNotificationSoundAndLight(context, builder);
+ builder.setOnlyAlertOnce(true);
+ } else
+ builder.setGroupAlertBehavior(NotificationCompat.GROUP_ALERT_CHILDREN);
+
+ DateFormat df = SimpleDateFormat.getDateTimeInstance(SimpleDateFormat.SHORT, SimpleDateFormat.SHORT);
+ StringBuilder sb = new StringBuilder();
+ for (EntityMessage message : messages) {
+ sb.append("").append(messageContact.get(message).getDisplayName(true)).append("");
+ if (!TextUtils.isEmpty(message.subject))
+ sb.append(": ").append(message.subject);
+ sb.append(" ").append(df.format(message.received));
+ sb.append("
");
+ }
- builder.setStyle(new NotificationCompat.BigTextStyle()
- .bigText(HtmlHelper.fromHtml(sb.toString()))
- .setSummaryText(title));
+ builder.setStyle(new NotificationCompat.BigTextStyle()
+ .bigText(HtmlHelper.fromHtml(sb.toString()))
+ .setSummaryText(title));
- notifications.add(builder.build());
- }
+ notifications.add(builder.build());
// Message notifications
for (TupleMessageEx message : messages) {
@@ -1965,8 +1962,7 @@ class Core {
.setVisibility(NotificationCompat.VISIBILITY_PRIVATE)
.setOnlyAlertOnce(true);
- if (notify_group)
- mbuilder.setGroup(group).setGroupSummary(false);
+ mbuilder.setGroup(group).setGroupSummary(false);
if (notify_trash) {
Intent trash = new Intent(context, ServiceUI.class)
@@ -2065,15 +2061,10 @@ class Core {
mbuilder.setColorized(true);
}
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
- if (notify_group)
- mbuilder.setSound(null);
- else
- setNotificationSoundAndLight(context, mbuilder);
- } else {
- if (notify_group)
- mbuilder.setGroupAlertBehavior(NotificationCompat.GROUP_ALERT_CHILDREN);
- }
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O)
+ mbuilder.setSound(null);
+ else
+ mbuilder.setGroupAlertBehavior(NotificationCompat.GROUP_ALERT_CHILDREN);
notifications.add(mbuilder.build());
}
diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsNotifications.java b/app/src/main/java/eu/faircode/email/FragmentOptionsNotifications.java
index e1334888d8..47a778d32f 100644
--- a/app/src/main/java/eu/faircode/email/FragmentOptionsNotifications.java
+++ b/app/src/main/java/eu/faircode/email/FragmentOptionsNotifications.java
@@ -49,7 +49,6 @@ import androidx.preference.PreferenceManager;
import static android.app.Activity.RESULT_OK;
public class FragmentOptionsNotifications extends FragmentBase implements SharedPreferences.OnSharedPreferenceChangeListener {
- private SwitchCompat swNotifyGroup;
private SwitchCompat swNotifyPreview;
private CheckBox cbNotifyActionTrash;
private CheckBox cbNotifyActionArchive;
@@ -64,7 +63,7 @@ public class FragmentOptionsNotifications extends FragmentBase implements Shared
private Group grpNotification;
private final static String[] RESET_OPTIONS = new String[]{
- "notify_group", "notify_preview", "notify_trash", "notify_archive", "notify_reply", "notify_flag", "notify_seen", "light", "sound"
+ "notify_preview", "notify_trash", "notify_archive", "notify_reply", "notify_flag", "notify_seen", "light", "sound"
};
@Override
@@ -77,7 +76,6 @@ public class FragmentOptionsNotifications extends FragmentBase implements Shared
// Get controls
- swNotifyGroup = view.findViewById(R.id.swNotifyGroup);
swNotifyPreview = view.findViewById(R.id.swNotifyPreview);
cbNotifyActionTrash = view.findViewById(R.id.cbNotifyActionTrash);
cbNotifyActionArchive = view.findViewById(R.id.cbNotifyActionArchive);
@@ -98,13 +96,6 @@ public class FragmentOptionsNotifications extends FragmentBase implements Shared
PackageManager pm = getContext().getPackageManager();
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
- swNotifyGroup.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
- prefs.edit().putBoolean("notify_group", checked).apply();
- }
- });
-
swNotifyPreview.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
@@ -233,8 +224,6 @@ public class FragmentOptionsNotifications extends FragmentBase implements Shared
boolean pro = Helper.isPro(getContext());
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
- swNotifyGroup.setChecked(prefs.getBoolean("notify_group", true));
- swNotifyGroup.setVisibility(Build.VERSION.SDK_INT >= Build.VERSION_CODES.N ? View.VISIBLE : View.GONE);
swNotifyPreview.setChecked(prefs.getBoolean("notify_preview", true));
cbNotifyActionTrash.setChecked(prefs.getBoolean("notify_trash", true));
diff --git a/app/src/main/res/layout/fragment_options_notifications.xml b/app/src/main/res/layout/fragment_options_notifications.xml
index e457ae7082..d5bfdf68eb 100644
--- a/app/src/main/res/layout/fragment_options_notifications.xml
+++ b/app/src/main/res/layout/fragment_options_notifications.xml
@@ -18,23 +18,13 @@
android:layout_height="wrap_content"
android:padding="12dp">
-
-
Automatically mark messages read on moving messages
Confirm moving messages
- Group new message notifications
Show message preview in notifications
Notification actions
Trash