diff --git a/app/src/main/java/org/linphone/compatibility/ApiTwentySixPlus.java b/app/src/main/java/org/linphone/compatibility/ApiTwentySixPlus.java
index 91b6598a9..b5b8e8ce7 100644
--- a/app/src/main/java/org/linphone/compatibility/ApiTwentySixPlus.java
+++ b/app/src/main/java/org/linphone/compatibility/ApiTwentySixPlus.java
@@ -107,6 +107,23 @@ class ApiTwentySixPlus {
notificationManager.createNotificationChannel(channel);
}
+ public static void createMissedCallChannel(Context context) {
+ NotificationManager notificationManager =
+ (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
+ // Create missed call notification channel
+ String id = context.getString(R.string.notification_missed_call_channel_id);
+ String name = context.getString(R.string.content_title_notification_missed_call);
+ String description = context.getString(R.string.content_title_notification_missed_call);
+ NotificationChannel channel =
+ new NotificationChannel(id, name, NotificationManager.IMPORTANCE_LOW);
+ channel.setDescription(description);
+ channel.setLightColor(context.getColor(R.color.notification_led_color));
+ channel.enableLights(true);
+ channel.enableVibration(true);
+ channel.setShowBadge(true);
+ notificationManager.createNotificationChannel(channel);
+ }
+
public static Notification createMessageNotification(
Context context, Notifiable notif, Bitmap contactIcon, PendingIntent intent) {
@@ -262,14 +279,14 @@ class ApiTwentySixPlus {
public static Notification createMissedCallNotification(
Context context, String title, String text, PendingIntent intent, int count) {
return new Notification.Builder(
- context, context.getString(R.string.notification_channel_id))
+ context, context.getString(R.string.notification_missed_call_channel_id))
.setContentTitle(title)
.setContentText(text)
.setSmallIcon(R.drawable.call_status_missed)
.setAutoCancel(true)
.setContentIntent(intent)
.setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE)
- .setCategory(Notification.CATEGORY_EVENT)
+ //.setCategory(Notification.CATEGORY_EVENT) No one really matches "missed call"
.setVisibility(Notification.VISIBILITY_PRIVATE)
.setPriority(Notification.PRIORITY_HIGH)
.setWhen(System.currentTimeMillis())
diff --git a/app/src/main/java/org/linphone/compatibility/Compatibility.java b/app/src/main/java/org/linphone/compatibility/Compatibility.java
index 587eb8dc8..2749e5cf2 100644
--- a/app/src/main/java/org/linphone/compatibility/Compatibility.java
+++ b/app/src/main/java/org/linphone/compatibility/Compatibility.java
@@ -71,6 +71,7 @@ public class Compatibility {
if (Version.sdkAboveOrEqual(Version.API26_O_80)) {
ApiTwentySixPlus.createServiceChannel(context);
ApiTwentySixPlus.createMessageChannel(context);
+ ApiTwentySixPlus.createMissedCallChannel(context);
}
}
diff --git a/app/src/main/res/values/non_localizable_custom.xml b/app/src/main/res/values/non_localizable_custom.xml
index 6245f96f5..590768902 100644
--- a/app/src/main/res/values/non_localizable_custom.xml
+++ b/app/src/main/res/values/non_localizable_custom.xml
@@ -22,6 +22,7 @@
linphone-android@belledonne-communications.com
linphone_notification_service_id
linphone_notification_id
+ linphone_notification_missed_call_id
true
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index b80d51490..018740105 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -644,6 +644,7 @@
Exit conference
Linphone service notification
Linphone instant messages notifications
+ Linphone missed calls notifications
Group chat room subject
Group chat room info
Record call