diff --git a/app/src/main/java/eu/faircode/email/ApplicationEx.java b/app/src/main/java/eu/faircode/email/ApplicationEx.java index 0304bb931d..a6df5a3b48 100644 --- a/app/src/main/java/eu/faircode/email/ApplicationEx.java +++ b/app/src/main/java/eu/faircode/email/ApplicationEx.java @@ -70,12 +70,14 @@ public class ApplicationEx extends Application { NotificationManager.IMPORTANCE_MIN); service.setSound(null, Notification.AUDIO_ATTRIBUTES_DEFAULT); service.setShowBadge(false); + service.setLockscreenVisibility(Notification.VISIBILITY_SECRET); nm.createNotificationChannel(service); NotificationChannel notification = new NotificationChannel( "notification", getString(R.string.channel_notification), NotificationManager.IMPORTANCE_HIGH); + notification.setLockscreenVisibility(Notification.VISIBILITY_PRIVATE); nm.createNotificationChannel(notification); NotificationChannel error = new NotificationChannel( @@ -83,6 +85,7 @@ public class ApplicationEx extends Application { getString(R.string.channel_error), NotificationManager.IMPORTANCE_HIGH); error.setShowBadge(false); + error.setLockscreenVisibility(Notification.VISIBILITY_SECRET); nm.createNotificationChannel(error); } } diff --git a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java index 8029740d40..929b3cd7d8 100644 --- a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java +++ b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java @@ -376,6 +376,24 @@ public class ServiceSynchronize extends LifecycleService { clear.setAction("clear"); PendingIntent piClear = PendingIntent.getService(this, PI_CLEAR, clear, PendingIntent.FLAG_UPDATE_CURRENT); + // Build public notification + Notification.Builder pbuilder; + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) + pbuilder = new Notification.Builder(this); + else + pbuilder = new Notification.Builder(this, "notification"); + + pbuilder + .setSmallIcon(R.drawable.baseline_email_white_24) + .setContentTitle(getResources().getQuantityString(R.plurals.title_notification_unseen, messages.size(), messages.size())) + .setContentIntent(piView) + .setNumber(messages.size()) + .setShowWhen(false) + .setDeleteIntent(piClear) + .setPriority(Notification.PRIORITY_DEFAULT) + .setCategory(Notification.CATEGORY_STATUS) + .setVisibility(Notification.VISIBILITY_PUBLIC); + // Build notification Notification.Builder builder; if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) @@ -386,7 +404,6 @@ public class ServiceSynchronize extends LifecycleService { builder .setSmallIcon(R.drawable.baseline_email_white_24) .setContentTitle(getResources().getQuantityString(R.plurals.title_notification_unseen, messages.size(), messages.size())) - .setContentText("") .setContentIntent(piView) .setNumber(messages.size()) .setShowWhen(false) @@ -394,6 +411,7 @@ public class ServiceSynchronize extends LifecycleService { .setPriority(Notification.PRIORITY_DEFAULT) .setCategory(Notification.CATEGORY_STATUS) .setVisibility(Notification.VISIBILITY_PRIVATE) + .setPublicVersion(pbuilder.build()) .setGroup(BuildConfig.APPLICATION_ID) .setGroupSummary(true);