From 01b5a88d5926aa04524f8c56a2e36e46abb92f57 Mon Sep 17 00:00:00 2001 From: SpiritCroc Date: Fri, 25 Sep 2020 11:27:54 +0200 Subject: [PATCH] Hide sender avatar in DMs As proposed in https://github.com/SpiritCroc/SchildiChat-android/issues/7 Change-Id: I4a76283191fa1c6a021f7fb643bfddff7551abf8 --- .../timeline/helper/MessageInformationDataFactory.kt | 1 + .../home/room/detail/timeline/item/AbsMessageItem.kt | 10 ++++++++-- .../detail/timeline/item/MessageInformationData.kt | 1 + 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/helper/MessageInformationDataFactory.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/helper/MessageInformationDataFactory.kt index e050889dbd..7a06012540 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/helper/MessageInformationDataFactory.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/helper/MessageInformationDataFactory.kt @@ -112,6 +112,7 @@ class MessageInformationDataFactory @Inject constructor(private val session: Ses ReferencesInfoData(verificationState) }, sentByMe = event.root.senderId == session.myUserId, + isDirect = roomSummaryHolder.roomSummary?.isDirect ?: false, e2eDecoration = e2eDecoration ) } diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/AbsMessageItem.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/AbsMessageItem.kt index ee7acfc37c..265da0aacd 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/AbsMessageItem.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/AbsMessageItem.kt @@ -68,7 +68,7 @@ abstract class AbsMessageItem : AbsBaseMessageItem height = attributes.avatarSize width = attributes.avatarSize } - holder.avatarImageView.visibility = View.VISIBLE + //holder.avatarImageView.visibility = View.VISIBLE holder.avatarImageView.setOnClickListener(_avatarClickListener) //holder.memberNameView.visibility = View.VISIBLE holder.memberNameView.setOnClickListener(_memberNameClickListener) @@ -89,11 +89,17 @@ abstract class AbsMessageItem : AbsBaseMessageItem holder.timeView.visibility = View.GONE holder.bubbleMemberNameView.visibility = View.VISIBLE holder.bubbleTimeView.visibility = View.VISIBLE + if (attributes.informationData.isDirect) { + holder.avatarImageView.visibility = View.GONE + } else { + holder.avatarImageView.visibility = View.VISIBLE + } } else { holder.memberNameView.visibility = View.VISIBLE holder.timeView.visibility = View.VISIBLE holder.bubbleMemberNameView.visibility = View.GONE holder.bubbleTimeView.visibility = View.GONE + holder.avatarImageView.visibility = View.VISIBLE } } else { holder.avatarImageView.setOnClickListener(null) @@ -181,7 +187,7 @@ abstract class AbsMessageItem : AbsBaseMessageItem } override fun ignoreMessageGuideline(context: Context): Boolean { - return infoInBubbles(context) && attributes.informationData.sentByMe + return infoInBubbles(context) && (attributes.informationData.sentByMe || attributes.informationData.isDirect) } open fun getViewStubMinimumWidth(holder: H, contentInBubble: Boolean, showInformation: Boolean): Int { diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/MessageInformationData.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/MessageInformationData.kt index b26c9315d4..8f96a43716 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/MessageInformationData.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/MessageInformationData.kt @@ -41,6 +41,7 @@ data class MessageInformationData( val readReceipts: List = emptyList(), val referencesInfoData: ReferencesInfoData? = null, val sentByMe : Boolean, + val isDirect: Boolean = false, val e2eDecoration: E2EDecoration = E2EDecoration.NONE ) : Parcelable {