From 6238d203aa89505a6a3c3176e4450ddbd636c0fd Mon Sep 17 00:00:00 2001 From: schwma <37244550+schwma@users.noreply.github.com> Date: Thu, 8 Nov 2018 14:23:21 +0100 Subject: [PATCH 1/4] Adjust notification channel importances --- .../main/java/com/github/gotify/NotificationSupport.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/github/gotify/NotificationSupport.java b/app/src/main/java/com/github/gotify/NotificationSupport.java index 47d709f5..b497b11d 100644 --- a/app/src/main/java/com/github/gotify/NotificationSupport.java +++ b/app/src/main/java/com/github/gotify/NotificationSupport.java @@ -24,16 +24,20 @@ public static final class ID { @RequiresApi(Build.VERSION_CODES.O) public static void createChannels(NotificationManager notificationManager) { try { + // Low importance so that persistent notification can be sorted towards bottom of + // notification shade. Also prevents vibrations caused by persistent notification NotificationChannel foreground = new NotificationChannel( Channel.FOREGROUND, "Gotify foreground notification", - NotificationManager.IMPORTANCE_DEFAULT); + NotificationManager.IMPORTANCE_LOW); + // High importance for message notifications so that they are shown as heads-up + // notifications and sorted towards the top of the notification shade NotificationChannel messages = new NotificationChannel( Channel.MESSAGES, "Gotify messages", - NotificationManager.IMPORTANCE_DEFAULT); + NotificationManager.IMPORTANCE_HIGH); notificationManager.createNotificationChannel(foreground); notificationManager.createNotificationChannel(messages); } catch (Exception e) { From e15c971d91dcb38f9ab2dbf65d0de41acc09b5b5 Mon Sep 17 00:00:00 2001 From: schwma <37244550+schwma@users.noreply.github.com> Date: Thu, 8 Nov 2018 15:30:31 +0100 Subject: [PATCH 2/4] Add LED light for message notifications --- app/src/main/java/com/github/gotify/NotificationSupport.java | 3 +++ .../main/java/com/github/gotify/service/WebSocketService.java | 2 ++ 2 files changed, 5 insertions(+) diff --git a/app/src/main/java/com/github/gotify/NotificationSupport.java b/app/src/main/java/com/github/gotify/NotificationSupport.java index b497b11d..9037cad7 100644 --- a/app/src/main/java/com/github/gotify/NotificationSupport.java +++ b/app/src/main/java/com/github/gotify/NotificationSupport.java @@ -2,6 +2,7 @@ import android.app.NotificationChannel; import android.app.NotificationManager; +import android.graphics.Color; import android.os.Build; import androidx.annotation.RequiresApi; import com.github.gotify.log.Log; @@ -38,6 +39,8 @@ public static void createChannels(NotificationManager notificationManager) { Channel.MESSAGES, "Gotify messages", NotificationManager.IMPORTANCE_HIGH); + messages.enableLights(true); + messages.setLightColor(Color.CYAN); notificationManager.createNotificationChannel(foreground); notificationManager.createNotificationChannel(messages); } catch (Exception e) { diff --git a/app/src/main/java/com/github/gotify/service/WebSocketService.java b/app/src/main/java/com/github/gotify/service/WebSocketService.java index 8feb2278..333e8471 100644 --- a/app/src/main/java/com/github/gotify/service/WebSocketService.java +++ b/app/src/main/java/com/github/gotify/service/WebSocketService.java @@ -6,6 +6,7 @@ import android.app.Service; import android.content.Context; import android.content.Intent; +import android.graphics.Color; import android.os.Build; import android.os.IBinder; import androidx.annotation.Nullable; @@ -189,6 +190,7 @@ private void showNotification(int id, String title, String message) { .setContentText(message) .setStyle(new NotificationCompat.BigTextStyle().bigText(message)) .setDefaults(Notification.DEFAULT_LIGHTS | Notification.DEFAULT_SOUND) + .setLights(Color.CYAN, 1000, 5000) .setContentIntent(contentIntent); NotificationManager notificationManager = From 31920e9b695ebba36bf650c1f32932936f551563 Mon Sep 17 00:00:00 2001 From: schwma <37244550+schwma@users.noreply.github.com> Date: Thu, 8 Nov 2018 15:36:48 +0100 Subject: [PATCH 3/4] Set message notification accent color to colorPrimary --- .../main/java/com/github/gotify/service/WebSocketService.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/src/main/java/com/github/gotify/service/WebSocketService.java b/app/src/main/java/com/github/gotify/service/WebSocketService.java index 333e8471..bd2888d8 100644 --- a/app/src/main/java/com/github/gotify/service/WebSocketService.java +++ b/app/src/main/java/com/github/gotify/service/WebSocketService.java @@ -12,6 +12,7 @@ import androidx.annotation.Nullable; import androidx.annotation.RequiresApi; import androidx.core.app.NotificationCompat; +import androidx.core.content.ContextCompat; import com.github.gotify.MissedMessageUtil; import com.github.gotify.NotificationSupport; import com.github.gotify.R; @@ -191,6 +192,7 @@ private void showNotification(int id, String title, String message) { .setStyle(new NotificationCompat.BigTextStyle().bigText(message)) .setDefaults(Notification.DEFAULT_LIGHTS | Notification.DEFAULT_SOUND) .setLights(Color.CYAN, 1000, 5000) + .setColor(ContextCompat.getColor(getApplicationContext(), R.color.colorPrimary)) .setContentIntent(contentIntent); NotificationManager notificationManager = @@ -216,6 +218,7 @@ public void showNotificationGroup() { .setContentTitle(getString(R.string.grouped_notification_text)) .setGroupSummary(true) .setContentText(getString(R.string.grouped_notification_text)) + .setColor(ContextCompat.getColor(getApplicationContext(), R.color.colorPrimary)) .setContentIntent(contentIntent); NotificationManager notificationManager = From c53ad9b5fc51e6042339686e2137c74b326f612f Mon Sep 17 00:00:00 2001 From: schwma <37244550+schwma@users.noreply.github.com> Date: Thu, 8 Nov 2018 15:56:48 +0100 Subject: [PATCH 4/4] Prevent duplicate notification sounds from message group notification --- .../main/java/com/github/gotify/service/WebSocketService.java | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/java/com/github/gotify/service/WebSocketService.java b/app/src/main/java/com/github/gotify/service/WebSocketService.java index bd2888d8..d4ef2e74 100644 --- a/app/src/main/java/com/github/gotify/service/WebSocketService.java +++ b/app/src/main/java/com/github/gotify/service/WebSocketService.java @@ -215,6 +215,7 @@ public void showNotificationGroup() { .setSmallIcon(R.drawable.ic_gotify) .setTicker(getString(R.string.app_name)) .setGroup(NotificationSupport.Group.MESSAGES) + .setGroupAlertBehavior(NotificationCompat.GROUP_ALERT_CHILDREN) .setContentTitle(getString(R.string.grouped_notification_text)) .setGroupSummary(true) .setContentText(getString(R.string.grouped_notification_text))