From d780d4b2611959e4ed127a79400e211bf3607a6e Mon Sep 17 00:00:00 2001 From: sowjanyakch Date: Mon, 7 Jul 2025 18:49:11 +0200 Subject: [PATCH] use displayName instead of source to display avatars Signed-off-by: sowjanyakch --- .../adapters/items/MentionAutocompleteItem.kt | 24 ++++++++++++++----- .../com/nextcloud/talk/utils/DisplayUtils.kt | 8 +++++-- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/adapters/items/MentionAutocompleteItem.kt b/app/src/main/java/com/nextcloud/talk/adapters/items/MentionAutocompleteItem.kt index e0a0e21e5..eebbffe6a 100644 --- a/app/src/main/java/com/nextcloud/talk/adapters/items/MentionAutocompleteItem.kt +++ b/app/src/main/java/com/nextcloud/talk/adapters/items/MentionAutocompleteItem.kt @@ -129,14 +129,22 @@ class MentionAutocompleteItem( private fun setAvatar(holder: ParticipantItemViewHolder, objectId: String?) { when (source) { SOURCE_CALLS -> { - run {} run { - holder.binding.avatarView.loadUserAvatar( - viewThemeUtils.talk.themePlaceholderAvatar( - holder.binding.avatarView, - R.drawable.ic_phone + if (isPhoneNumber(displayName)) { + holder.binding.avatarView.loadUserAvatar( + viewThemeUtils.talk.themePlaceholderAvatar( + holder.binding.avatarView, + R.drawable.ic_phone + ) ) - ) + } else { + holder.binding.avatarView.loadUserAvatar( + viewThemeUtils.talk.themePlaceholderAvatar( + holder.binding.avatarView, + R.drawable.ic_avatar_group + ) + ) + } } } @@ -194,6 +202,10 @@ class MentionAutocompleteItem( } } + fun isPhoneNumber(input: String?): Boolean { + return input?.matches(Regex("^\\+?\\d+$")) == true + } + private fun drawStatus(holder: ParticipantItemViewHolder) { val size = DisplayUtils.convertDpToPixel(STATUS_SIZE_IN_DP, context) holder.binding.userStatusImage.setImageDrawable( diff --git a/app/src/main/java/com/nextcloud/talk/utils/DisplayUtils.kt b/app/src/main/java/com/nextcloud/talk/utils/DisplayUtils.kt index b5ff81623..89e732914 100644 --- a/app/src/main/java/com/nextcloud/talk/utils/DisplayUtils.kt +++ b/app/src/main/java/com/nextcloud/talk/utils/DisplayUtils.kt @@ -164,7 +164,7 @@ object DisplayUtils { val drawable: Int val isCall = "call" == type || "calls" == type val isGroup = "groups" == type || "user-group" == type - if (!isGroup) { + if (!isGroup && !isCall) { drawable = if (chipResource == R.xml.chip_you) { R.drawable.mention_chip } else { @@ -178,7 +178,7 @@ object DisplayUtils { chip.setChipIconResource(R.drawable.icon_team) } - if (isCall) { + if (isCall && isPhoneNumber(label.toString())) { chip.setChipIconResource(R.drawable.icon_circular_phone) } chip.setBounds(0, 0, chip.intrinsicWidth, chip.intrinsicHeight) @@ -536,4 +536,8 @@ object DisplayUtils { text } } + + fun isPhoneNumber(input: String?): Boolean { + return input?.matches(Regex("^\\+?\\d+$")) == true + } }