diff --git a/app/src/main/java/org/linphone/compatibility/XiaomiCompatibility.kt b/app/src/main/java/org/linphone/compatibility/XiaomiCompatibility.kt index 0f5dbadbe..c001f1572 100644 --- a/app/src/main/java/org/linphone/compatibility/XiaomiCompatibility.kt +++ b/app/src/main/java/org/linphone/compatibility/XiaomiCompatibility.kt @@ -54,7 +54,7 @@ class XiaomiCompatibility { val builder = NotificationCompat.Builder(context, context.getString(R.string.notification_channel_incoming_call_id)) .addPerson(notificationsManager.getPerson(contact, displayName, roundPicture)) .setSmallIcon(R.drawable.topbar_call_notification) - .setLargeIcon(roundPicture ?: BitmapFactory.decodeResource(context.resources, R.drawable.voip_single_contact_avatar)) + .setLargeIcon(roundPicture ?: BitmapFactory.decodeResource(context.resources, R.drawable.voip_single_contact_avatar_alt)) .setContentTitle(displayName) .setContentText(address) .setSubText(context.getString(R.string.incoming_call_notification_title)) diff --git a/app/src/main/java/org/linphone/contact/Contact.kt b/app/src/main/java/org/linphone/contact/Contact.kt index 9a0716dfa..9b5557a27 100644 --- a/app/src/main/java/org/linphone/contact/Contact.kt +++ b/app/src/main/java/org/linphone/contact/Contact.kt @@ -181,7 +181,7 @@ open class Contact() : Comparable { val icon = if (bm == null) IconCompat.createWithResource( coreContext.context, - R.drawable.voip_single_contact_avatar + R.drawable.voip_single_contact_avatar_alt ) else IconCompat.createWithAdaptiveBitmap(bm) if (icon != null) { personBuilder.setIcon(icon) diff --git a/app/src/main/java/org/linphone/contact/NativeContact.kt b/app/src/main/java/org/linphone/contact/NativeContact.kt index 6a4a4c920..8cdcf57a2 100644 --- a/app/src/main/java/org/linphone/contact/NativeContact.kt +++ b/app/src/main/java/org/linphone/contact/NativeContact.kt @@ -72,7 +72,7 @@ class NativeContact(val nativeId: String, private val lookupKey: String? = null) val icon = if (bm == null) IconCompat.createWithResource( coreContext.context, - R.drawable.voip_single_contact_avatar + R.drawable.voip_single_contact_avatar_alt ) else IconCompat.createWithAdaptiveBitmap(bm) if (icon != null) { personBuilder.setIcon(icon) diff --git a/app/src/main/java/org/linphone/notifications/NotificationsManager.kt b/app/src/main/java/org/linphone/notifications/NotificationsManager.kt index d8540defb..207dfaeb5 100644 --- a/app/src/main/java/org/linphone/notifications/NotificationsManager.kt +++ b/app/src/main/java/org/linphone/notifications/NotificationsManager.kt @@ -430,7 +430,7 @@ class NotificationsManager(private val context: Context) { if (picture != null) { IconCompat.createWithAdaptiveBitmap(picture) } else { - IconCompat.createWithResource(context, R.drawable.voip_single_contact_avatar) + IconCompat.createWithResource(context, R.drawable.voip_single_contact_avatar_alt) } if (userIcon != null) builder.setIcon(userIcon) builder.build() @@ -791,7 +791,7 @@ class NotificationsManager(private val context: Context) { } style.isGroupConversation = notifiable.isGroup - val icon = lastPerson?.icon ?: IconCompat.createWithResource(context, R.drawable.voip_single_contact_avatar) + val icon = lastPerson?.icon ?: IconCompat.createWithResource(context, R.drawable.voip_single_contact_avatar_alt) val bubble = NotificationCompat.BubbleMetadata.Builder(bubbleIntent, icon) .setDesiredHeightResId(R.dimen.chat_message_bubble_desired_height) .build() diff --git a/app/src/main/java/org/linphone/utils/DataBindingUtils.kt b/app/src/main/java/org/linphone/utils/DataBindingUtils.kt index e640941c4..555d7a7dd 100644 --- a/app/src/main/java/org/linphone/utils/DataBindingUtils.kt +++ b/app/src/main/java/org/linphone/utils/DataBindingUtils.kt @@ -310,23 +310,9 @@ fun setImageViewScaleType(imageView: ImageView, scaleType: ImageView.ScaleType) imageView.scaleType = scaleType } -@BindingAdapter("glideAvatarFallback") -fun loadAvatarWithGlideFallback(imageView: ImageView, path: String?) { - if (path != null && path.isNotEmpty() && FileUtils.isExtensionImage(path)) { - GlideApp.with(imageView) - .load(path) - .signature(ObjectKey(coreContext.contactsManager.latestContactFetch)) - .apply(RequestOptions.circleCropTransform()) - .into(imageView) - } else { - Log.w("[Data Binding] [Glide] Can't load $path") - imageView.setImageResource(R.drawable.voip_single_contact_avatar) - } -} - @BindingAdapter("glidePath") -fun loadImageWithGlide(imageView: ImageView, path: String) { - if (path.isNotEmpty() && FileUtils.isExtensionImage(path)) { +fun loadImageWithGlide(imageView: ImageView, path: String?) { + if (path != null && path.isNotEmpty() && FileUtils.isExtensionImage(path)) { if (corePreferences.vfsEnabled && path.endsWith(FileUtils.VFS_PLAIN_FILE_EXTENSION)) { GlideApp.with(imageView) .load(path) diff --git a/app/src/main/java/org/linphone/utils/ShortcutsHelper.kt b/app/src/main/java/org/linphone/utils/ShortcutsHelper.kt index 8a30bb0f6..8e6a4a7d9 100644 --- a/app/src/main/java/org/linphone/utils/ShortcutsHelper.kt +++ b/app/src/main/java/org/linphone/utils/ShortcutsHelper.kt @@ -169,7 +169,7 @@ class ShortcutsHelper(val context: Context) { personsList.add(contact.getPerson()) } subject = contact?.fullName ?: LinphoneUtils.getDisplayName(chatRoom.peerAddress) - icon = contact?.getPerson()?.icon ?: IconCompat.createWithResource(context, R.drawable.voip_single_contact_avatar) + icon = contact?.getPerson()?.icon ?: IconCompat.createWithResource(context, R.drawable.voip_single_contact_avatar_alt) } else if (chatRoom.hasCapability(ChatRoomCapabilities.OneToOne.toInt()) && chatRoom.participants.isNotEmpty()) { val address = chatRoom.participants.first().address val contact = @@ -178,7 +178,7 @@ class ShortcutsHelper(val context: Context) { personsList.add(contact.getPerson()) } subject = contact?.fullName ?: LinphoneUtils.getDisplayName(address) - icon = contact?.getPerson()?.icon ?: IconCompat.createWithResource(context, R.drawable.voip_single_contact_avatar) + icon = contact?.getPerson()?.icon ?: IconCompat.createWithResource(context, R.drawable.voip_single_contact_avatar_alt) } else { for (participant in chatRoom.participants) { val contact = @@ -188,7 +188,7 @@ class ShortcutsHelper(val context: Context) { } } subject = chatRoom.subject.orEmpty() - icon = IconCompat.createWithResource(context, R.drawable.voip_multiple_contacts_avatar) + icon = IconCompat.createWithResource(context, R.drawable.voip_multiple_contacts_avatar_alt) } val persons = arrayOfNulls(personsList.size) diff --git a/app/src/main/res/drawable-xhdpi/voip_multiple_contacts_avatar_alt.png b/app/src/main/res/drawable-xhdpi/voip_multiple_contacts_avatar_alt.png new file mode 100644 index 000000000..983c1448d Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/voip_multiple_contacts_avatar_alt.png differ diff --git a/app/src/main/res/drawable-xhdpi/voip_single_contact_avatar_alt.png b/app/src/main/res/drawable-xhdpi/voip_single_contact_avatar_alt.png new file mode 100644 index 000000000..58a69d43b Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/voip_single_contact_avatar_alt.png differ diff --git a/app/src/main/res/layout/call_incoming_notification_heads_up.xml b/app/src/main/res/layout/call_incoming_notification_heads_up.xml index bb3e5907d..3f77a8a49 100644 --- a/app/src/main/res/layout/call_incoming_notification_heads_up.xml +++ b/app/src/main/res/layout/call_incoming_notification_heads_up.xml @@ -36,7 +36,7 @@ android:layout_width="50dp" android:layout_height="50dp" android:adjustViewBounds="true" - android:src="@drawable/voip_single_contact_avatar" + android:src="@drawable/voip_single_contact_avatar_alt" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:layout_marginTop="5dp" diff --git a/app/src/main/res/layout/contact_avatar_big.xml b/app/src/main/res/layout/contact_avatar_big.xml index 97ed5ec6f..d4e12a7e6 100644 --- a/app/src/main/res/layout/contact_avatar_big.xml +++ b/app/src/main/res/layout/contact_avatar_big.xml @@ -28,7 +28,7 @@ android:layout_alignParentLeft="true" android:adjustViewBounds="true" android:contentDescription="@null" - android:src="@drawable/voip_single_contact_avatar"/> + android:src="@drawable/voip_single_contact_avatar_alt"/> + glidePath="@{viewModel.defaultAccountAvatar}" /> + android:src="@drawable/avatar_border" + android:visibility="@{viewModel.defaultAccountFound ? View.VISIBLE : View.GONE}" /> + android:layout_centerVertical="true" + android:background="@drawable/generated_avatar_bg" + android:src="@drawable/icon_multiple_contacts_avatar" />