From 8e748fee4bde65ac58229483e0445b75ae159f74 Mon Sep 17 00:00:00 2001 From: Badi Ifaoui Date: Tue, 6 Feb 2024 10:25:50 +0100 Subject: [PATCH 1/2] feat: tokengated & community rooms icons --- .../matrix/android/sdk/api/util/MatrixItem.kt | 2 +- .../app/features/displayname/Extension.kt | 22 ++++++++++-- .../app/features/home/AvatarRenderer.kt | 2 +- .../home/room/detail/TimelineFragment.kt | 23 +++++++++++- .../timeline/item/MergedRoomCreationItem.kt | 19 ++++++++-- .../home/room/list/RoomSummaryCenteredItem.kt | 13 +++++++ .../home/room/list/RoomSummaryItem.kt | 33 ++++++++++++++++++ .../home/room/list/SpaceChildInfoItem.kt | 12 +++++++ .../features/roomdirectory/PublicRoomItem.kt | 13 ++++++- .../RoomPreviewNoPreviewFragment.kt | 22 ++++++++++-- .../roomprofile/RoomProfileFragment.kt | 20 ++++++++++- .../spaces/preview/SpacePreviewFragment.kt | 8 ++++- vector/src/main/res/drawable/chatimg.png | Bin 0 -> 819 bytes vector/src/main/res/drawable/dollar.png | Bin 0 -> 959 bytes 14 files changed, 176 insertions(+), 13 deletions(-) create mode 100644 vector/src/main/res/drawable/chatimg.png create mode 100644 vector/src/main/res/drawable/dollar.png diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/MatrixItem.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/MatrixItem.kt index 0fd96798c8c..7ca591d9533 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/MatrixItem.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/MatrixItem.kt @@ -142,7 +142,7 @@ sealed class MatrixItem( is RoomAliasItem -> roomDisplayName ?: displayName else -> displayName } - return (displayName?.takeIf { it.isNotBlank() } ?: id) + return (displayName?.takeIf { it.isNotBlank() }?.replace("\\[TG] ".toRegex(), "")?.replace("\\$".toRegex(), "") ?: id) .let { dn -> var startIndex = 0 val initial = dn[startIndex] diff --git a/vector/src/main/java/im/vector/app/features/displayname/Extension.kt b/vector/src/main/java/im/vector/app/features/displayname/Extension.kt index 4069b41a0c3..a46bbb71344 100644 --- a/vector/src/main/java/im/vector/app/features/displayname/Extension.kt +++ b/vector/src/main/java/im/vector/app/features/displayname/Extension.kt @@ -24,8 +24,26 @@ fun MatrixItem.getBestName(): String { // Best name is the id, and we keep the displayName of the room for the case we need the first letter id } else { - displayName +// displayName +// ?.takeIf { it.isNotBlank() }?.replace("[TG] ","")?.replace("$","") +// ?: VectorMatrixItemDisplayNameFallbackProvider.getDefaultName(this).replace("[TG] ","").replace("$","") + val modifiedDisplayName = displayName ?.takeIf { it.isNotBlank() } - ?: VectorMatrixItemDisplayNameFallbackProvider.getDefaultName(this) + ?.let { + when { + it.startsWith("[TG] ") -> { + it.replaceFirst("[TG] ", "") // Remove [TG] from the beginning + } + it.contains("$") -> { + it.replace("$", "") // Remove $ from the string + } + else -> it + } + } + ?: VectorMatrixItemDisplayNameFallbackProvider.getDefaultName(this).replace("[TG] ","").replace("$","") + + modifiedDisplayName.replace("[TG] ", "").replace("$","") + } + } diff --git a/vector/src/main/java/im/vector/app/features/home/AvatarRenderer.kt b/vector/src/main/java/im/vector/app/features/home/AvatarRenderer.kt index 7214db41efe..ae45ffe6e10 100644 --- a/vector/src/main/java/im/vector/app/features/home/AvatarRenderer.kt +++ b/vector/src/main/java/im/vector/app/features/home/AvatarRenderer.kt @@ -147,7 +147,7 @@ class AvatarRenderer @Inject constructor( val matrixItem = MatrixItem.UserItem( // Need an id starting with @ id = profileInfo.matrixId, - displayName = profileInfo.displayName, + displayName = profileInfo.displayName?.replace("[TG] ","")?.replace("$",""), ) val placeholder = getPlaceholderDrawable(matrixItem) diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/TimelineFragment.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/TimelineFragment.kt index feaad386cb5..e824874de84 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/TimelineFragment.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/TimelineFragment.kt @@ -1253,7 +1253,27 @@ class TimelineFragment : views.includeRoomToolbar.roomToolbarContentView.isClickable = false } else { views.includeRoomToolbar.roomToolbarContentView.isClickable = roomSummary.membership == Membership.JOIN - views.includeRoomToolbar.roomToolbarTitleView.text = roomSummary.displayName +// views.includeRoomToolbar.roomToolbarTitleView.text = roomSummary.displayName.replace("[TG] ","").replace("$","") + if (roomSummary.displayName.startsWith("[TG]") && roomSummary.displayName.contains("$")) { + // Remove [TG] from the beginning + val modifiedString = roomSummary.displayName.replace("[TG] ", "") + // Update the roomToolbarTitleView.text with the modified string + views.includeRoomToolbar.roomToolbarTitleView.text = modifiedString + } else if (roomSummary.displayName.startsWith("$") && roomSummary.displayName.contains("[TG]")) { + // Remove $ from the beginning + val modifiedString = roomSummary.displayName.replace("$", "") + // Update the roomToolbarTitleView.text with the modified string + views.includeRoomToolbar.roomToolbarTitleView.text = modifiedString + } else if (roomSummary.displayName.startsWith("[TG] ")){ + val modifiedString = roomSummary.displayName.replace("[TG] ","") + views.includeRoomToolbar.roomToolbarTitleView.text = modifiedString + } else if (roomSummary.displayName.startsWith("$")) { + val modifiedString = roomSummary.displayName.replace("$","") + views.includeRoomToolbar.roomToolbarTitleView.text = modifiedString + } else { + views.includeRoomToolbar.roomToolbarTitleView.text = roomSummary.displayName + } + avatarRenderer.render(roomSummary.toMatrixItem(), views.includeRoomToolbar.roomToolbarAvatarImageView) val showPresence = roomSummary.isDirect views.includeRoomToolbar.roomToolbarPresenceImageView.render(showPresence, roomSummary.directUserPresence) @@ -1265,6 +1285,7 @@ class TimelineFragment : } } + private fun displayE2eError(withHeldCode: WithHeldCode?) { val msgId = when (withHeldCode) { WithHeldCode.BLACKLISTED -> R.string.crypto_error_withheld_blacklisted diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/MergedRoomCreationItem.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/MergedRoomCreationItem.kt index d8a91704024..d50435a8126 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/MergedRoomCreationItem.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/MergedRoomCreationItem.kt @@ -173,10 +173,23 @@ abstract class MergedRoomCreationItem : BasedMergedItem { - holder.view.resources.getString(R.string.this_is_the_beginning_of_room, roomDisplayName) + holder.view.resources.getString(R.string.this_is_the_beginning_of_room, roomDisplayName.replace("[TG] ","").replace("$","")) } } holder.roomDescriptionText.text = description diff --git a/vector/src/main/java/im/vector/app/features/home/room/list/RoomSummaryCenteredItem.kt b/vector/src/main/java/im/vector/app/features/home/room/list/RoomSummaryCenteredItem.kt index 764f50456c2..309386248d1 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/list/RoomSummaryCenteredItem.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/list/RoomSummaryCenteredItem.kt @@ -93,6 +93,19 @@ abstract class RoomSummaryCenteredItem : VectorEpoxyModel(R.layo it.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS) itemLongClickListener?.onLongClick(it) ?: false } +// if (matrixItem.displayName!!.contains("[TG] ")) { +// holder.titleView.setCompoundDrawablesWithIntrinsicBounds(R.drawable.chatimg, 0,0,0) +// holder.titleView.setCompoundDrawablePadding(10) +// Log.d("Debug", "Setting [TG] image for ${matrixItem.displayName}") +// } else { +// holder.titleView.setCompoundDrawablesRelativeWithIntrinsicBounds(0, 0, 0, 0) +// holder.titleView.setCompoundDrawablePadding(0) +// Log.d("Debug", "No image set for ${matrixItem.displayName}") +// } +// if (matrixItem.displayName!!.contains("$")) { +// holder.titleView.setCompoundDrawablesWithIntrinsicBounds(R.drawable.dollar,0,0,0) +// holder.titleView.setCompoundDrawablePadding(10) +// Log.d("Debug", "Setting $ image for ${matrixItem.displayName}") +// } else { +// holder.titleView.setCompoundDrawablesRelativeWithIntrinsicBounds(0, 0, 0, 0) +// holder.titleView.setCompoundDrawablePadding(0) +// Log.d("Debug", "No image set for ${matrixItem.displayName}") +// +// } + + if (matrixItem.displayName!!.contains("[TG] ")) { + holder.titleView.setCompoundDrawablesRelativeWithIntrinsicBounds(R.drawable.chatimg, 0, 0, 0) + holder.titleView.setCompoundDrawablePadding(10) + } else if (matrixItem.displayName!!.contains("$")) { + holder.titleView.setCompoundDrawablesRelativeWithIntrinsicBounds(R.drawable.dollar, 0, 0, 0) + holder.titleView.setCompoundDrawablePadding(10) + } else { + // Reset compound drawables if none of the conditions are met + holder.titleView.setCompoundDrawablesRelativeWithIntrinsicBounds(0, 0, 0, 0) + holder.titleView.setCompoundDrawablePadding(0) + } + holder.titleView.invalidate() holder.titleView.text = matrixItem.getBestName() holder.unreadCounterBadgeView.render(UnreadCounterBadgeView.State.Count(unreadNotificationCount, showHighlighted)) holder.unreadIndentIndicator.isVisible = hasUnreadMessage diff --git a/vector/src/main/java/im/vector/app/features/home/room/list/SpaceChildInfoItem.kt b/vector/src/main/java/im/vector/app/features/home/room/list/SpaceChildInfoItem.kt index 964a39fb0ff..c6de30f3996 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/list/SpaceChildInfoItem.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/list/SpaceChildInfoItem.kt @@ -68,6 +68,18 @@ abstract class SpaceChildInfoItem : VectorEpoxyModel( itemLongClickListener?.onLongClick(it) ?: false } holder.titleView.text = matrixItem.displayName ?: holder.rootView.context.getString(R.string.unnamed_room) + if (matrixItem.displayName!!.contains("[TG] ")) { + holder.titleView.setCompoundDrawablesRelativeWithIntrinsicBounds(R.drawable.chatimg, 0, 0, 0) + holder.titleView.setCompoundDrawablePadding(10) + } else if (matrixItem.displayName!!.contains("$")) { + holder.titleView.setCompoundDrawablesRelativeWithIntrinsicBounds(R.drawable.dollar, 0, 0, 0) + holder.titleView.setCompoundDrawablePadding(10) + } else { + // Reset compound drawables if none of the conditions are met + holder.titleView.setCompoundDrawablesRelativeWithIntrinsicBounds(0, 0, 0, 0) + holder.titleView.setCompoundDrawablePadding(0) + } + holder.titleView.invalidate() avatarRenderer.render(matrixItem, holder.avatarImageView) holder.descriptionText.text = span { diff --git a/vector/src/main/java/im/vector/app/features/roomdirectory/PublicRoomItem.kt b/vector/src/main/java/im/vector/app/features/roomdirectory/PublicRoomItem.kt index e542277d4c0..66e7317f540 100644 --- a/vector/src/main/java/im/vector/app/features/roomdirectory/PublicRoomItem.kt +++ b/vector/src/main/java/im/vector/app/features/roomdirectory/PublicRoomItem.kt @@ -63,7 +63,18 @@ abstract class PublicRoomItem : VectorEpoxyModel(R.layout holder.rootView.onClick(globalListener) avatarRenderer.render(matrixItem, holder.avatarView) - holder.nameView.text = matrixItem.displayName + holder.nameView.text = matrixItem.displayName?.replace("[TG] ", "")?.replace("$","") + if (matrixItem.displayName!!.contains("[TG] ")) { + holder.nameView.setCompoundDrawablesRelativeWithIntrinsicBounds(R.drawable.chatimg,0,0,0) + holder.nameView.setCompoundDrawablePadding(10) + } else if (matrixItem.displayName!!.contains("$")) { + holder.nameView.setCompoundDrawablesRelativeWithIntrinsicBounds(R.drawable.dollar, 0,0,0) + holder.nameView.setCompoundDrawablePadding(10) + } else { + holder.nameView.setCompoundDrawablesRelativeWithIntrinsicBounds(0,0,0,0) + holder.nameView.setCompoundDrawablePadding(0) + } + holder.aliasView.setTextOrHide(roomAlias) holder.topicView.setTextOrHide(roomTopic) // TODO Use formatter for big numbers? diff --git a/vector/src/main/java/im/vector/app/features/roomdirectory/roompreview/RoomPreviewNoPreviewFragment.kt b/vector/src/main/java/im/vector/app/features/roomdirectory/roompreview/RoomPreviewNoPreviewFragment.kt index 7c639dde999..bf2c1f98581 100644 --- a/vector/src/main/java/im/vector/app/features/roomdirectory/roompreview/RoomPreviewNoPreviewFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomdirectory/roompreview/RoomPreviewNoPreviewFragment.kt @@ -198,10 +198,28 @@ class RoomPreviewNoPreviewFragment : views.roomPreviewNoPreviewToolbarAvatar.isVisible = false views.roomPreviewNoPreviewAvatar.isVisible = false } - views.roomPreviewNoPreviewToolbarTitle.text = roomName + if (roomName.startsWith("[TG] ")) { + views.roomPreviewNoPreviewToolbarTitle.text = roomName.replace("[TG] ","") + } else if (roomName.startsWith("$")) { + views.roomPreviewNoPreviewToolbarTitle.text = roomName.replace("$","") + } else { + views.roomPreviewNoPreviewToolbarTitle.text = roomName + } + // Screen - views.roomPreviewNoPreviewName.text = roomName + if (roomName.startsWith("[TG] ")) { + views.roomPreviewNoPreviewName.text = roomName.replace("[TG]","") + views.roomPreviewNoPreviewName.setCompoundDrawablesWithIntrinsicBounds(R.drawable.chatimg,0,0,0) + views.roomPreviewNoPreviewName.setCompoundDrawablePadding(10) + } else if (roomName.startsWith("$")) { + views.roomPreviewNoPreviewName.text = roomName.replace("$","") + views.roomPreviewNoPreviewName.setCompoundDrawablesWithIntrinsicBounds(R.drawable.dollar,0,0,0) + views.roomPreviewNoPreviewName.setCompoundDrawablePadding(10) + } else { + views.roomPreviewNoPreviewName.text = roomName + } + views.roomPreviewNoPreviewTopic.setTextOrHide(topic) } } diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileFragment.kt b/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileFragment.kt index 9436bafc03a..e506dbe5c8d 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileFragment.kt @@ -222,7 +222,25 @@ class RoomProfileFragment : Timber.w("The room has been left") activity?.finish() } else { - headerViews.roomProfileNameView.text = it.displayName +// headerViews.roomProfileNameView.text = it.displayName.replace("[TG] ","").replace("$","") + if (it.displayName.startsWith("[TG]")) { + val modifiedString = it.displayName.replace("[TG] ","").replace("$","$") + headerViews.roomProfileNameView.text = modifiedString + } else if (it.displayName.startsWith("$")) { + val modifiedString = it.displayName.replace("$","").replace("[TG]","[TG]") + headerViews.roomProfileNameView.text = modifiedString + } else { + headerViews.roomProfileNameView.text = it.displayName + } + if (it.displayName.contains("[TG]")) { + headerViews.roomProfileNameView.setCompoundDrawablesRelativeWithIntrinsicBounds(R.drawable.chatimg,0,0,0) + headerViews.roomProfileNameView.setCompoundDrawablePadding(10); + } + + if (it.displayName.contains("$")) { + headerViews.roomProfileNameView.setCompoundDrawablesRelativeWithIntrinsicBounds(R.drawable.dollar, 0,0,0) + headerViews.roomProfileNameView.setCompoundDrawablePadding(10); + } views.matrixProfileToolbarTitleView.text = it.displayName headerViews.roomProfileAliasView.setTextOrHide(it.canonicalAlias) val matrixItem = it.toMatrixItem() diff --git a/vector/src/main/java/im/vector/app/features/spaces/preview/SpacePreviewFragment.kt b/vector/src/main/java/im/vector/app/features/spaces/preview/SpacePreviewFragment.kt index df15d3001c7..404b72687b5 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/preview/SpacePreviewFragment.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/preview/SpacePreviewFragment.kt @@ -152,7 +152,13 @@ class SpacePreviewFragment : val spaceAvatarUrl = spacePreviewState.spaceInfo.invoke()?.avatarUrl ?: spacePreviewState.avatarUrl val mxItem = MatrixItem.SpaceItem(spacePreviewState.idOrAlias, spaceName, spaceAvatarUrl) avatarRenderer.render(mxItem, views.spacePreviewToolbarAvatar) - views.roomPreviewNoPreviewToolbarTitle.text = spaceName + if (spaceName.startsWith("[TG] ")) { + views.roomPreviewNoPreviewToolbarTitle.text = spaceName.replace("[TG]","") + } else if (spaceName.startsWith("$")) { + views.roomPreviewNoPreviewToolbarTitle.text = spaceName.replace("$","") + } else { + views.roomPreviewNoPreviewToolbarTitle.text = spaceName + } // } // is SpacePeekResult.SpacePeekError, // null -> { diff --git a/vector/src/main/res/drawable/chatimg.png b/vector/src/main/res/drawable/chatimg.png new file mode 100644 index 0000000000000000000000000000000000000000..ea02a6ac7f1734e0d4d34d4ac411f3529bb5f757 GIT binary patch literal 819 zcmYL_dq`7J9LKLN)2x|MYK26Q=}cXPIQQ^X%*Qfyz7h$wB&^VBnHi*!r9#m^y+}*S ziiA`UOM)QDxAvG$H}9P~AJ;ieo%cH1ykpzly`5{XFW+;{=Y07c&hMPN(!^M{>t0s~ zg4mKcaSB*>GsA@iW_9D>Hwbc&N>8RmgDnlw9Z@tKKx-uQ2zOBviYdbkYTi#xxN$^i zgavDAo_-cqV=Ta6J~k>` zg?}gD)E{poAmrnO%0?hIGeVlxHuE@1z&2uhV+$Bzm>9E}fhS3`hBQyw%u}RginQuT zi;lD|kd_4!7UFZIpjBLV-DF>*>_!SLG@_S{+7hGos%b`MoGk{x6oA}rqJWvk1UO}- zDJw;jG{YM+(}LkfjrcmznPRH{@kGJ&GATAglwaaoVyrgg#$WU*SUq@7ady03$q9dhGi z#YO2ZXKw-al8BF`aTGFTdPes#_x@QgQL9KAxWetlac;pjQ|Jsmbg!Cqv!o@D7;h^p zJ^x0ma}qX4^KZ2$PZDt*ql);9=!xR2ByaD|q@2p6hmTd|E|5O2nJZ%JPEee4j$(V$ zeB?`>ljwWiJ;5j+Q@;8ft>dex7q!EE;J+YAbfUQB_?g?k07FmUQUCw| literal 0 HcmV?d00001 diff --git a/vector/src/main/res/drawable/dollar.png b/vector/src/main/res/drawable/dollar.png new file mode 100644 index 0000000000000000000000000000000000000000..9d47b22586271c04f8c6511438a533923c957c6b GIT binary patch literal 959 zcmV;w13>(VP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H1158Oo zK~zYImDPP{)m0b=@Xxt-3bvV8x-`^C{lg;gj}-})k+ANS6e;l~d;vF8s-^u`;6E;i z2!dWD(x#g)5oT$Kx?P&J!oYzL7EwYZCRt9zGBxMR?&*(v*WK>R%mW9W-}CbQKIc5o zd43_rXsESlk>S-B%@5J)){J^+NLi2CnDACxhm%9aS5-2sNU2Q*D{E-N1YGX7gY|S|IzX%%BrpMsfcZ0)R-HY+mLoFMDJf5W#{hQ zuKbrwj8Sv5#Hk}@N7ms zxCsUMwwj?l)ka=UUiZ?MSo*tvBQ*Utb3K3+e?FcPSbUeL;EV$k<=Qiyi; h1>3iE_@WX9{0l+f7*9m?QtSW#002ovPDHLkV1kBK)tUeR literal 0 HcmV?d00001 From 1bc51b144a286426105ce2bf7c4db8d7ee9f0daf Mon Sep 17 00:00:00 2001 From: Badi Ifaoui Date: Tue, 13 Feb 2024 13:31:15 +0100 Subject: [PATCH 2/2] chore: code refactoring --- .../app/features/displayname/Extension.kt | 2 +- .../home/room/detail/TimelineFragment.kt | 4 ++-- .../timeline/item/MergedRoomCreationItem.kt | 2 +- .../home/room/list/RoomSummaryCenteredItem.kt | 10 +++----- .../home/room/list/RoomSummaryItem.kt | 24 ++----------------- .../home/room/list/SpaceChildInfoItem.kt | 4 ++-- .../features/roomdirectory/PublicRoomItem.kt | 4 ++-- .../roomprofile/RoomProfileFragment.kt | 4 ++-- 8 files changed, 15 insertions(+), 39 deletions(-) diff --git a/vector/src/main/java/im/vector/app/features/displayname/Extension.kt b/vector/src/main/java/im/vector/app/features/displayname/Extension.kt index a46bbb71344..f286fd0294f 100644 --- a/vector/src/main/java/im/vector/app/features/displayname/Extension.kt +++ b/vector/src/main/java/im/vector/app/features/displayname/Extension.kt @@ -34,7 +34,7 @@ fun MatrixItem.getBestName(): String { it.startsWith("[TG] ") -> { it.replaceFirst("[TG] ", "") // Remove [TG] from the beginning } - it.contains("$") -> { + it.startsWith("$") -> { it.replace("$", "") // Remove $ from the string } else -> it diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/TimelineFragment.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/TimelineFragment.kt index e824874de84..1e766810930 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/TimelineFragment.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/TimelineFragment.kt @@ -1254,12 +1254,12 @@ class TimelineFragment : } else { views.includeRoomToolbar.roomToolbarContentView.isClickable = roomSummary.membership == Membership.JOIN // views.includeRoomToolbar.roomToolbarTitleView.text = roomSummary.displayName.replace("[TG] ","").replace("$","") - if (roomSummary.displayName.startsWith("[TG]") && roomSummary.displayName.contains("$")) { + if (roomSummary.displayName.startsWith("[TG]") && roomSummary.displayName.startsWith("$")) { // Remove [TG] from the beginning val modifiedString = roomSummary.displayName.replace("[TG] ", "") // Update the roomToolbarTitleView.text with the modified string views.includeRoomToolbar.roomToolbarTitleView.text = modifiedString - } else if (roomSummary.displayName.startsWith("$") && roomSummary.displayName.contains("[TG]")) { + } else if (roomSummary.displayName.startsWith("$") && roomSummary.displayName.startsWith("[TG]")) { // Remove $ from the beginning val modifiedString = roomSummary.displayName.replace("$", "") // Update the roomToolbarTitleView.text with the modified string diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/MergedRoomCreationItem.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/MergedRoomCreationItem.kt index d50435a8126..1961e0505e4 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/MergedRoomCreationItem.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/MergedRoomCreationItem.kt @@ -176,7 +176,7 @@ abstract class MergedRoomCreationItem : BasedMergedItem(R.layo it.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS) itemLongClickListener?.onLongClick(it) ?: false } -// if (matrixItem.displayName!!.contains("[TG] ")) { -// holder.titleView.setCompoundDrawablesWithIntrinsicBounds(R.drawable.chatimg, 0,0,0) -// holder.titleView.setCompoundDrawablePadding(10) -// Log.d("Debug", "Setting [TG] image for ${matrixItem.displayName}") -// } else { -// holder.titleView.setCompoundDrawablesRelativeWithIntrinsicBounds(0, 0, 0, 0) -// holder.titleView.setCompoundDrawablePadding(0) -// Log.d("Debug", "No image set for ${matrixItem.displayName}") -// } -// if (matrixItem.displayName!!.contains("$")) { -// holder.titleView.setCompoundDrawablesWithIntrinsicBounds(R.drawable.dollar,0,0,0) -// holder.titleView.setCompoundDrawablePadding(10) -// Log.d("Debug", "Setting $ image for ${matrixItem.displayName}") -// } else { -// holder.titleView.setCompoundDrawablesRelativeWithIntrinsicBounds(0, 0, 0, 0) -// holder.titleView.setCompoundDrawablePadding(0) -// Log.d("Debug", "No image set for ${matrixItem.displayName}") -// -// } - - if (matrixItem.displayName!!.contains("[TG] ")) { + if (matrixItem.displayName!!.startsWith("[TG] ")) { holder.titleView.setCompoundDrawablesRelativeWithIntrinsicBounds(R.drawable.chatimg, 0, 0, 0) holder.titleView.setCompoundDrawablePadding(10) - } else if (matrixItem.displayName!!.contains("$")) { + } else if (matrixItem.displayName!!.startsWith("$")) { holder.titleView.setCompoundDrawablesRelativeWithIntrinsicBounds(R.drawable.dollar, 0, 0, 0) holder.titleView.setCompoundDrawablePadding(10) } else { diff --git a/vector/src/main/java/im/vector/app/features/home/room/list/SpaceChildInfoItem.kt b/vector/src/main/java/im/vector/app/features/home/room/list/SpaceChildInfoItem.kt index c6de30f3996..78f855cf7da 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/list/SpaceChildInfoItem.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/list/SpaceChildInfoItem.kt @@ -68,10 +68,10 @@ abstract class SpaceChildInfoItem : VectorEpoxyModel( itemLongClickListener?.onLongClick(it) ?: false } holder.titleView.text = matrixItem.displayName ?: holder.rootView.context.getString(R.string.unnamed_room) - if (matrixItem.displayName!!.contains("[TG] ")) { + if (matrixItem.displayName!!.startsWith("[TG] ")) { holder.titleView.setCompoundDrawablesRelativeWithIntrinsicBounds(R.drawable.chatimg, 0, 0, 0) holder.titleView.setCompoundDrawablePadding(10) - } else if (matrixItem.displayName!!.contains("$")) { + } else if (matrixItem.displayName!!.startsWith("$")) { holder.titleView.setCompoundDrawablesRelativeWithIntrinsicBounds(R.drawable.dollar, 0, 0, 0) holder.titleView.setCompoundDrawablePadding(10) } else { diff --git a/vector/src/main/java/im/vector/app/features/roomdirectory/PublicRoomItem.kt b/vector/src/main/java/im/vector/app/features/roomdirectory/PublicRoomItem.kt index 66e7317f540..765e7fc4d70 100644 --- a/vector/src/main/java/im/vector/app/features/roomdirectory/PublicRoomItem.kt +++ b/vector/src/main/java/im/vector/app/features/roomdirectory/PublicRoomItem.kt @@ -64,10 +64,10 @@ abstract class PublicRoomItem : VectorEpoxyModel(R.layout avatarRenderer.render(matrixItem, holder.avatarView) holder.nameView.text = matrixItem.displayName?.replace("[TG] ", "")?.replace("$","") - if (matrixItem.displayName!!.contains("[TG] ")) { + if (matrixItem.displayName!!.startsWith("[TG] ")) { holder.nameView.setCompoundDrawablesRelativeWithIntrinsicBounds(R.drawable.chatimg,0,0,0) holder.nameView.setCompoundDrawablePadding(10) - } else if (matrixItem.displayName!!.contains("$")) { + } else if (matrixItem.displayName!!.startsWith("$")) { holder.nameView.setCompoundDrawablesRelativeWithIntrinsicBounds(R.drawable.dollar, 0,0,0) holder.nameView.setCompoundDrawablePadding(10) } else { diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileFragment.kt b/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileFragment.kt index e506dbe5c8d..e35c69dedb3 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileFragment.kt @@ -232,12 +232,12 @@ class RoomProfileFragment : } else { headerViews.roomProfileNameView.text = it.displayName } - if (it.displayName.contains("[TG]")) { + if (it.displayName.startsWith("[TG]")) { headerViews.roomProfileNameView.setCompoundDrawablesRelativeWithIntrinsicBounds(R.drawable.chatimg,0,0,0) headerViews.roomProfileNameView.setCompoundDrawablePadding(10); } - if (it.displayName.contains("$")) { + if (it.displayName.startsWith("$")) { headerViews.roomProfileNameView.setCompoundDrawablesRelativeWithIntrinsicBounds(R.drawable.dollar, 0,0,0) headerViews.roomProfileNameView.setCompoundDrawablePadding(10); }