diff --git a/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt b/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt
index 255daf14..41e9adb8 100644
--- a/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt
+++ b/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt
@@ -770,20 +770,35 @@ class BaresipService: Service() {
PendingIntent.FLAG_UPDATE_CURRENT)
val nb = NotificationCompat.Builder(this, HIGH_CHANNEL_ID)
nb.setSmallIcon(R.drawable.ic_stat)
- .setColor(ContextCompat.getColor(this,
- R.color.colorBaresip))
- .setContentIntent(pi)
- .setCategory(Notification.CATEGORY_CALL)
- .setAutoCancel(true)
- .setContentTitle(getString(R.string.missed_call_from))
- .setContentText(caller)
+ .setColor(ContextCompat.getColor(this, R.color.colorBaresip))
+ .setContentIntent(pi)
+ .setCategory(Notification.CATEGORY_CALL)
+ .setAutoCancel(true)
+ if (VERSION.SDK_INT < 23) {
+ nb.setContentTitle(getString(R.string.missed_call_from))
+ nb.setContentText(caller)
+ } else {
+ var missedCalls = 0
+ for (notification in nm.activeNotifications)
+ if (notification.id == CALL_MISSED_NOTIFICATION_ID)
+ missedCalls++
+ if (missedCalls == 0) {
+ nb.setContentTitle(getString(R.string.missed_call_from))
+ nb.setContentText(caller)
+ } else {
+ nb.setContentTitle(getString(R.string.missed_calls))
+ nb.setContentText(
+ String.format(getString(R.string.missed_calls_count),
+ missedCalls + 1))
+ }
+ }
if (VERSION.SDK_INT < 26) {
@Suppress("DEPRECATION")
nb.setVibrate(LongArray(0))
.setVisibility(NotificationCompat.VISIBILITY_PRIVATE)
.priority = Notification.PRIORITY_HIGH
}
- nm.notify(CALL_NOTIFICATION_ID, nb.build())
+ nm.notify(CALL_MISSED_NOTIFICATION_ID, nb.build())
return
}
}
@@ -1306,26 +1321,6 @@ class BaresipService: Service() {
companion object {
- const val STATUS_NOTIFICATION_ID = 101
- const val CALL_NOTIFICATION_ID = 102
- const val TRANSFER_NOTIFICATION_ID = 103
- const val MESSAGE_NOTIFICATION_ID = 104
-
- const val STATUS_REQ_CODE = 1
- const val CALL_REQ_CODE = 2
- const val ANSWER_REQ_CODE = 3
- const val REJECT_REQ_CODE = 4
- const val TRANSFER_REQ_CODE = 5
- const val ACCEPT_REQ_CODE = 6
- const val DENY_REQ_CODE = 7
- const val MESSAGE_REQ_CODE = 8
- const val REPLY_REQ_CODE = 9
- const val SAVE_REQ_CODE = 10
- const val DELETE_REQ_CODE = 11
-
- const val DEFAULT_CHANNEL_ID = "com.tutpro.baresip.default"
- const val HIGH_CHANNEL_ID = "com.tutpro.baresip.high"
-
var isServiceRunning = false
var isConfigInitialized = false
var libraryLoaded = false
diff --git a/app/src/main/kotlin/com/tutpro/baresip/Constants.kt b/app/src/main/kotlin/com/tutpro/baresip/Constants.kt
index 67d12e1a..3577ebe3 100644
--- a/app/src/main/kotlin/com/tutpro/baresip/Constants.kt
+++ b/app/src/main/kotlin/com/tutpro/baresip/Constants.kt
@@ -2,9 +2,30 @@ package com.tutpro.baresip
const val TAG = "Baresip"
+const val DEFAULT_CHANNEL_ID = "com.tutpro.baresip.default"
+const val HIGH_CHANNEL_ID = "com.tutpro.baresip.high"
+
const val BACKUP_PERMISSION_REQUEST_CODE = 1
const val RESTORE_PERMISSION_REQUEST_CODE = 2
const val RECORD_PERMISSION_REQUEST_CODE = 3
const val CONTACTS_PERMISSION_REQUEST_CODE = 4
const val READ_CERT_PERMISSION_CODE = 5
const val READ_CA_PERMISSION_CODE = 6
+
+const val STATUS_NOTIFICATION_ID = 101
+const val CALL_NOTIFICATION_ID = 102
+const val CALL_MISSED_NOTIFICATION_ID = 103
+const val TRANSFER_NOTIFICATION_ID = 104
+const val MESSAGE_NOTIFICATION_ID = 105
+
+const val STATUS_REQ_CODE = 1
+const val CALL_REQ_CODE = 2
+const val ANSWER_REQ_CODE = 3
+const val REJECT_REQ_CODE = 4
+const val TRANSFER_REQ_CODE = 5
+const val ACCEPT_REQ_CODE = 6
+const val DENY_REQ_CODE = 7
+const val MESSAGE_REQ_CODE = 8
+const val REPLY_REQ_CODE = 9
+const val SAVE_REQ_CODE = 10
+const val DELETE_REQ_CODE = 11
diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml
index 19ff89b5..66620a11 100644
--- a/app/src/main/res/values-fi/strings.xml
+++ b/app/src/main/res/values-fi/strings.xml
@@ -242,6 +242,8 @@
Hylkää
Puhelu soittajalta
Vastaamaton puhelu soittajalta
+ Vastaamattomia puheluita
+ %1$d vastaamatonta puhelua
Puhelun siirtopyyntö kohteeseen
Viesti lähettäjältä
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 5cb60ad2..3a0eada9 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -220,6 +220,8 @@
Reject
Incoming call from
Missed call from
+ Missed calls
+ %1$d missed calls
Call transfer request to
Message from