Show diverter (if exists) also in incoming call notification
This commit is contained in:
@@ -1806,7 +1806,6 @@ class BaresipService: Service() {
|
|||||||
val nb = NotificationCompat.Builder(this, channelId)
|
val nb = NotificationCompat.Builder(this, channelId)
|
||||||
val caller = Utils.friendlyUri(this, peerUri, ua.account)
|
val caller = Utils.friendlyUri(this, peerUri, ua.account)
|
||||||
val callerContact = Contact.findContact(peerUri)
|
val callerContact = Contact.findContact(peerUri)
|
||||||
val personBuilder = Person.Builder().setName(caller)
|
|
||||||
val contactColor = callerContact?.color() ?: "#B0B0B0"
|
val contactColor = callerContact?.color() ?: "#B0B0B0"
|
||||||
val initial = if (caller.isNotEmpty()) caller.take(1) else "?"
|
val initial = if (caller.isNotEmpty()) caller.take(1) else "?"
|
||||||
val textAvatarBitmap = Utils.createTextAvatar(initial, contactColor)
|
val textAvatarBitmap = Utils.createTextAvatar(initial, contactColor)
|
||||||
@@ -1815,8 +1814,9 @@ class BaresipService: Service() {
|
|||||||
if (callerContact is Contact.BaresipContact) {
|
if (callerContact is Contact.BaresipContact) {
|
||||||
if (callerContact.avatarImage != null)
|
if (callerContact.avatarImage != null)
|
||||||
icon = IconCompat.createWithBitmap(callerContact.avatarImage!!.toCircle())
|
icon = IconCompat.createWithBitmap(callerContact.avatarImage!!.toCircle())
|
||||||
} else if (callerContact is Contact.AndroidContact) {
|
}
|
||||||
if (callerContact.thumbnailUri != null) {
|
else if (callerContact is Contact.AndroidContact)
|
||||||
|
if (callerContact.thumbnailUri != null)
|
||||||
try {
|
try {
|
||||||
val source = ImageDecoder.createSource(contentResolver, callerContact.thumbnailUri!!)
|
val source = ImageDecoder.createSource(contentResolver, callerContact.thumbnailUri!!)
|
||||||
val bitmap = ImageDecoder.decodeBitmap(source) { decoder, _, _ ->
|
val bitmap = ImageDecoder.decodeBitmap(source) { decoder, _, _ ->
|
||||||
@@ -1826,21 +1826,28 @@ class BaresipService: Service() {
|
|||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
Log.e(TAG, "Failed to load Android contact avatar: $e")
|
Log.e(TAG, "Failed to load Android contact avatar: $e")
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
val person = personBuilder.setIcon(icon).build()
|
val person = Person.Builder().setName(caller).setIcon(icon).build()
|
||||||
|
val diverterUri = call.diverterUri()
|
||||||
|
val contentText = if (diverterUri != "")
|
||||||
|
"${getString(R.string.is_calling)} " +
|
||||||
|
"(${getString(R.string.diverted_by)} " +
|
||||||
|
"${Utils.friendlyUri(this, diverterUri, ua.account)})"
|
||||||
|
else
|
||||||
|
getString(R.string.is_calling)
|
||||||
|
|
||||||
nb.setSmallIcon(R.drawable.ic_notification_call)
|
nb.setSmallIcon(R.drawable.ic_notification_call)
|
||||||
.setColor(ContextCompat.getColor(this, R.color.colorPrimary))
|
.setColor(ContextCompat.getColor(this, R.color.colorPrimary))
|
||||||
.setContentIntent(pi)
|
.setContentIntent(pi)
|
||||||
.setCategory(Notification.CATEGORY_CALL)
|
.setCategory(Notification.CATEGORY_CALL)
|
||||||
.setAutoCancel(false)
|
.setAutoCancel(false)
|
||||||
.setOngoing(true)
|
.setOngoing(true)
|
||||||
.setContentText(getString(R.string.is_calling))
|
.setContentText(contentText)
|
||||||
.setWhen(System.currentTimeMillis())
|
.setWhen(System.currentTimeMillis())
|
||||||
.setShowWhen(true)
|
.setShowWhen(true)
|
||||||
.setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
|
.setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
|
||||||
.setPriority(NotificationCompat.PRIORITY_MAX)
|
.setPriority(NotificationCompat.PRIORITY_MAX)
|
||||||
|
.addPerson(person)
|
||||||
|
|
||||||
nb.setFullScreenIntent(pi, true)
|
nb.setFullScreenIntent(pi, true)
|
||||||
|
|
||||||
|
|||||||
@@ -519,6 +519,7 @@
|
|||||||
<string name="outgoing_call_to_dots">Puhelu ulos …</string>
|
<string name="outgoing_call_to_dots">Puhelu ulos …</string>
|
||||||
<string name="incoming_call_from_dots">Puhelu sisään …</string>
|
<string name="incoming_call_from_dots">Puhelu sisään …</string>
|
||||||
<string name="diverted_by_dots">Siirtäjä …</string>
|
<string name="diverted_by_dots">Siirtäjä …</string>
|
||||||
|
<string name="diverted_by">siirtäjä</string>
|
||||||
<string name="no_telephony_provider">Tilille \'%1$s\' ei ole konfiguroitu puhelinpalvelun
|
<string name="no_telephony_provider">Tilille \'%1$s\' ei ole konfiguroitu puhelinpalvelun
|
||||||
tarjoajaa</string>
|
tarjoajaa</string>
|
||||||
<string name="video_call">Videopuhelu</string>
|
<string name="video_call">Videopuhelu</string>
|
||||||
|
|||||||
@@ -503,6 +503,7 @@
|
|||||||
<string name="outgoing_call_to_dots">Call to …</string>
|
<string name="outgoing_call_to_dots">Call to …</string>
|
||||||
<string name="incoming_call_from_dots">Call from …</string>
|
<string name="incoming_call_from_dots">Call from …</string>
|
||||||
<string name="diverted_by_dots">Diverted by …</string>
|
<string name="diverted_by_dots">Diverted by …</string>
|
||||||
|
<string name="diverted_by">diverted by</string>
|
||||||
<string name="no_telephony_provider">Account \'%1$s\' has no Telephony Provider</string>
|
<string name="no_telephony_provider">Account \'%1$s\' has no Telephony Provider</string>
|
||||||
<string name="video_call">Video call</string>
|
<string name="video_call">Video call</string>
|
||||||
<string name="video_request">Video Request</string>
|
<string name="video_request">Video Request</string>
|
||||||
|
|||||||
Reference in New Issue
Block a user