From 17757908c4f140102983db8943f87a687997b4bc Mon Sep 17 00:00:00 2001 From: Albert Vaca Cintora Date: Tue, 12 Sep 2023 05:14:37 +0200 Subject: [PATCH] Split notification channels for received and sent files BUG: 433051 --- res/values/strings.xml | 3 ++- .../Helpers/NotificationHelper.java | 19 ++++++++++++++----- .../SharePlugin/ReceiveNotification.java | 4 ++-- .../SharePlugin/UploadNotification.java | 4 ++-- 4 files changed, 20 insertions(+), 10 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index 0b16dc6b..d14566e2 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -358,7 +358,8 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted Other notifications Persistent indicator Media control - File transfer + Incoming file transfer + Outgoing file transfer High priority Stop the current player diff --git a/src/org/kde/kdeconnect/Helpers/NotificationHelper.java b/src/org/kde/kdeconnect/Helpers/NotificationHelper.java index 4ff32f59..bf6c89a2 100644 --- a/src/org/kde/kdeconnect/Helpers/NotificationHelper.java +++ b/src/org/kde/kdeconnect/Helpers/NotificationHelper.java @@ -28,7 +28,10 @@ public class NotificationHelper { public final static String PERSISTENT = "persistent"; public final static String DEFAULT = "default"; public final static String MEDIA_CONTROL = "media_control"; - public final static String FILETRANSFER = "filetransfer"; + + public final static String FILETRANSFER_DOWNLOAD = "filetransfer"; + public final static String FILETRANSFER_UPLOAD = "filetransfer_upload"; + public final static String RECEIVENOTIFICATION = "receive"; public final static String HIGHPRIORITY = "highpriority"; } @@ -64,11 +67,16 @@ public class NotificationHelper { .Builder(Channels.MEDIA_CONTROL, NotificationManagerCompat.IMPORTANCE_LOW) .setName(context.getString(R.string.notification_channel_media_control)) .build(); - final NotificationChannelCompat fileTransferChannel = new NotificationChannelCompat - .Builder(Channels.FILETRANSFER, NotificationManagerCompat.IMPORTANCE_LOW) + final NotificationChannelCompat fileTransferDownloadChannel = new NotificationChannelCompat + .Builder(Channels.FILETRANSFER_DOWNLOAD, NotificationManagerCompat.IMPORTANCE_LOW) .setName(context.getString(R.string.notification_channel_filetransfer)) .setVibrationEnabled(false) .build(); + final NotificationChannelCompat fileTransferUploadChannel = new NotificationChannelCompat + .Builder(Channels.FILETRANSFER_UPLOAD, NotificationManagerCompat.IMPORTANCE_LOW) + .setName(context.getString(R.string.notification_channel_filetransfer_upload)) + .setVibrationEnabled(false) + .build(); final NotificationChannelCompat receiveNotificationChannel = new NotificationChannelCompat .Builder(Channels.RECEIVENOTIFICATION, NotificationManagerCompat.IMPORTANCE_DEFAULT) .setName(context.getString(R.string.notification_channel_receivenotification)) @@ -79,8 +87,9 @@ public class NotificationHelper { .build(); final List channels = Arrays.asList(persistentChannel, - defaultChannel, mediaChannel, fileTransferChannel, receiveNotificationChannel, - highPriorityChannel); + defaultChannel, mediaChannel, fileTransferDownloadChannel, fileTransferUploadChannel, + receiveNotificationChannel, highPriorityChannel); + NotificationManagerCompat.from(context).createNotificationChannelsCompat(channels); // Delete any notification channels which weren't added. diff --git a/src/org/kde/kdeconnect/Plugins/SharePlugin/ReceiveNotification.java b/src/org/kde/kdeconnect/Plugins/SharePlugin/ReceiveNotification.java index aa7fe737..ec1eb22d 100644 --- a/src/org/kde/kdeconnect/Plugins/SharePlugin/ReceiveNotification.java +++ b/src/org/kde/kdeconnect/Plugins/SharePlugin/ReceiveNotification.java @@ -46,7 +46,7 @@ class ReceiveNotification { this.jobId = jobId; notificationId = (int) System.currentTimeMillis(); notificationManager = ContextCompat.getSystemService(device.getContext(), NotificationManager.class); - builder = new NotificationCompat.Builder(device.getContext(), NotificationHelper.Channels.FILETRANSFER) + builder = new NotificationCompat.Builder(device.getContext(), NotificationHelper.Channels.FILETRANSFER_DOWNLOAD) .setSmallIcon(android.R.drawable.stat_sys_download) .setAutoCancel(true) .setOngoing(true) @@ -86,7 +86,7 @@ class ReceiveNotification { } public void setFinished(String message) { - builder = new NotificationCompat.Builder(device.getContext(), NotificationHelper.Channels.FILETRANSFER); + builder = new NotificationCompat.Builder(device.getContext(), NotificationHelper.Channels.FILETRANSFER_DOWNLOAD); builder.setContentTitle(message) .setTicker(message) .setSmallIcon(android.R.drawable.stat_sys_download_done) diff --git a/src/org/kde/kdeconnect/Plugins/SharePlugin/UploadNotification.java b/src/org/kde/kdeconnect/Plugins/SharePlugin/UploadNotification.java index c6e363ae..44e12611 100644 --- a/src/org/kde/kdeconnect/Plugins/SharePlugin/UploadNotification.java +++ b/src/org/kde/kdeconnect/Plugins/SharePlugin/UploadNotification.java @@ -33,7 +33,7 @@ class UploadNotification { notificationId = (int) System.currentTimeMillis(); notificationManager = ContextCompat.getSystemService(device.getContext(), NotificationManager.class); - builder = new NotificationCompat.Builder(device.getContext(), NotificationHelper.Channels.FILETRANSFER) + builder = new NotificationCompat.Builder(device.getContext(), NotificationHelper.Channels.FILETRANSFER_UPLOAD) .setSmallIcon(android.R.drawable.stat_sys_upload) .setAutoCancel(true) .setOngoing(true) @@ -64,7 +64,7 @@ class UploadNotification { } public void setFinished(String message) { - builder = new NotificationCompat.Builder(device.getContext(), NotificationHelper.Channels.FILETRANSFER); + builder = new NotificationCompat.Builder(device.getContext(), NotificationHelper.Channels.FILETRANSFER_UPLOAD); builder.setContentTitle(message) .setTicker(message) .setSmallIcon(android.R.drawable.stat_sys_upload_done)