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 + } }